首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >根据形状文件创建新的地图,然后使用dotspatial或ArcGIS维护数据。

根据形状文件创建新的地图,然后使用dotspatial或ArcGIS维护数据。
EN

Stack Overflow用户
提问于 2018-12-14 12:04:27
回答 1查看 526关注 0票数 1

我正在ArcGis的帮助下从shapefile创建一个自定义映射。在此之后,我如何才能绘制已经存储在自定义地图上的图形呢?如果shapefile更新后的自定义映射将被更新,我如何在自定义映射上维护已经保存的最新版本?

EN

回答 1

Stack Overflow用户

发布于 2018-12-14 17:20:41

首先,下面是如何使用DotSpatial向现有的shapefile添加点和属性。

代码语言:javascript
复制
    [TestMethod]
    public void AddPoint()
    {
        Shapefile shp = Shapefile.OpenFile(@"D:\Data\Temp\CatPoints.shp");
        IFeature cat = shp.AddFeature(new Point((new Coordinate(-119, 39))));
        cat.DataRow["Name"] = "Leopard";
        cat.DataRow["Longitude"] = -119.0000;
        cat.DataRow["Latitude"] = 39.0000;
        shp.Save();
    }

请注意,地图文档(.mxd文件)不存储数据,因此更新shapefile (.shp)将自动更新地图的内容。如果您的问题是如何使用经度和纬度值创建shapefile,下面是创建shapefile的演练,然后将其保存为映射。如果您已经有一个现有的shapefile,则可以跳到步骤5。

让我们假设您在现有数据源中具有初始纬度和经度,如excel文件。

1)使用“添加数据”按钮添加数据,浏览excel文件并选择excel表。

2)右击目录中的“Sheet1 1$”层,并选择Display .

( 3)经纬度应作为X场和Y场自动填充。您应该使用编辑按钮,并选择地理坐标系统->世界-> WGS1984作为经度的坐标系。(如果你在西半球和美国一样,请确保你的经度是负的。)点击Ok。

4)右键单击新建的Sheet1 1$ Events层并选择Data->Export .以便将此层导出为一个shapefile。保留选中的“所有功能”选项,然后指定以".shp“结尾的名称。这事很重要。如果您保存到个人Geodatabase或,DotSpatial将无法在以后更新您的内容。点击确定。当它询问是否要将新创建的shapefile添加到映射中时,请选择“是”。

5)然后可以使用File->Add > add特性向后台添加一个basemap。单击要添加的basemap类型。

6)要添加任何其他现有的shapefile (或者如果您已经有了要用于创建地图的现有shapefile),请使用add data按钮,它是黄色正方形等距视图上的圈加按钮。

7)保存你的地图。这是最重要的部分。您所拥有的任何层都可以作为“地图”文档存储在ArcGIS中。这并不是存储实际数据本身,而是简单地指向shapefile。因此,当您对DotSpatial中的shapefile进行更改时,这些更改将出现在您的地图中。

8)我不确定如果ArcGIS已经在用户界面中打开,它是否会自动获取对SHP的更改。您可能需要关闭地图,并在ArcGIS中再次打开它,以查看您的新点。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53779418

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档