【问题标题】:Analyzing GIS/map data in .NET在 .NET 中分析 GIS/地图数据
【发布时间】:2012-12-16 22:28:04
【问题描述】:

我最近继承了一个项目,该项目使用 GIS 地图数据根据纬度/经度坐标定义“区域”。我得到的关于我正在使用的东西的背景信息几乎为零。基本上,我得到了一个文件夹,其中包含以下几种文件类型:

  • .sbn
  • .sbx
  • .shp
  • .shx
  • .mxd

我被告知要看看我能用它们做什么。所以我假设我可以通过 .NET 与他们进行交互,但我对任何可用的 API 可以做我需要做的事情一无所知。

这是我所拥有的,以及我需要能够做的:

  • 我有 GIS 文件,其中包含地图数据,大概由定义“区域”的线条以及线条的纬度和经度坐标组成。
  • 我需要能够按纬度/经度查询数据

谁能推荐一个可以做到这一点的 API?我知道这个问题可能很适合这个网站,但我认为它可能足够笼统。


TL;DR:

谁能推荐一个用于 GIS 数据查询的 .NET api?

【问题讨论】:

    标签: c# .net api geolocation gis


    【解决方案1】:

    这是我用来处理 SHP 文件的一个非常棒的 AP​​I。

    查看http://shapefile.codeplex.com/

    还可以查看 MapWindow,它是一个用 .Net 编写的 GIS 工具,非常方便。

    http://www.mapwindow.org/

    如果您正在寻找付费 API,请查看 ThinkGeo,他们有一些很好的 .Net API 用于处理 GIS 数据。

    【讨论】:

      【解决方案2】:

      这些文件是 Esri Shp 文件。 .mxn 我不知道。通常所有 4 或 5 个文件一起代表地理矢量数据。
      搜索关键词“形状文件阅读器”
      (我只知道 java 的库)

      【讨论】:

        【解决方案3】:

        首先,这些文件是 ESRI Shapefile。 mxd是arcmap project/map文件,里面包含了这些gis数据的路径。

        其次,您需要通过lat/lon 点来查询这些数据。我推荐 nettopologysuit 处理空间分析问题的库。

        这是一些伪代码:

        var shapefile=new shapefile("XXX");
        //pointToEnv offset depends on your data
        double offset=0.0001;
        var queryZoom= new envolope(point.x-offset,point.y- 
        offset,point.x+offset,point.y+offset);
        //spatial query
        var queryFeatures= shapefile.queryByEnvolope(queryZoom);
        //tranverse your result and get what you need.
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2012-05-16
          • 1970-01-01
          • 1970-01-01
          • 2011-11-12
          • 1970-01-01
          • 2020-10-08
          • 1970-01-01
          • 2010-11-12
          相关资源
          最近更新 更多