Example #1
0
        private void importMenuItem_Click(object sender, EventArgs e)
        {
            OpenFileDialog ofd = new OpenFileDialog();

            ofd.Filter = "Shape Files (*.shp)|*.shp" +
                         "|All files (*.*)|*.*";
            ofd.FilterIndex     = 0;
            ofd.CheckFileExists = true;
            try
            {
                if (ofd.ShowDialog(this) == DialogResult.OK)
                {
                    map.ClearUndo();
                    ShapeFile sf = new ShapeFile();
                    sf.Read(ofd.FileName);
                    StringBuilder sb      = new StringBuilder("<MapItems>", sf.Records.Count * 100);
                    float         xOffset = (float)-sf.FileHeader.XMin;
                    float         yOffset = (float)-sf.FileHeader.YMin;
                    //PointF offset = this.MercatorConversion(new PointF((float)sf.FileHeader.XMin, (float)sf.FileHeader.YMin));
                    //float xOffset = (float)-offset.X;
                    //float yOffset = (float)-offset.Y;
                    foreach (ShapeFileRecord sfr in sf.Records)
                    {
                        if (sfr.ShapeType == (int)ShapeType.Polygon)
                        {
                            HandlePolygon(sb, xOffset, yOffset, sfr);
                        }
                    }

                    sb.Append("</MapItems>");
                    map.Paste(new Point(0, 0), sb.ToString());
                    map.ClearUndo();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, string.Format("Error opening {0}", ofd.FileName));
            }
            finally
            {
                ofd.Dispose();
            }
        }
Example #2
0
        private void importMenuItem_Click(object sender, EventArgs e)
        {
            OpenFileDialog ofd = new OpenFileDialog();
            ofd.Filter = "Shape Files (*.shp)|*.shp" +
                "|All files (*.*)|*.*";
            ofd.FilterIndex = 0;
            ofd.CheckFileExists = true;
            try
            {
                if (ofd.ShowDialog(this) == DialogResult.OK)
                {
                    map.ClearUndo();
                    ShapeFile sf = new ShapeFile();
                    sf.Read(ofd.FileName);
                    StringBuilder sb = new StringBuilder("<MapItems>", sf.Records.Count * 100);
                    float xOffset = (float)-sf.FileHeader.XMin;
                    float yOffset = (float)-sf.FileHeader.YMin;
                    //PointF offset = this.MercatorConversion(new PointF((float)sf.FileHeader.XMin, (float)sf.FileHeader.YMin));
                    //float xOffset = (float)-offset.X;
                    //float yOffset = (float)-offset.Y;
                    foreach (ShapeFileRecord sfr in sf.Records)
                    {
                        if (sfr.ShapeType == (int)ShapeType.Polygon)
                        {
                            HandlePolygon(sb, xOffset, yOffset, sfr);
                        }
                    }

                    sb.Append("</MapItems>");
                    map.Paste(new Point(0, 0), sb.ToString());
                    map.ClearUndo();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, string.Format("Error opening {0}", ofd.FileName));
            }
            finally
            {
                ofd.Dispose();
            }
        }