我最近继承了一个项目,该项目使用GIS映射数据来定义基于纬度/经度坐标的“区域”。我几乎没有得到关于我正在使用的背景信息。基本上我给了一个包含以下几种文件类型的文件夹:
我被告知看看我能用它做些什么。所以我假设我可以通过.NET与它们进行交互,但我对任何可以做我需要做的事情的API都一无所知。
这就是我拥有的,以及我需要做的事情:
任何人都可以建议一个可以做到这一点的API?我知道这个问题可能就此而言非常适合这个网站,但我认为它可能足以适应。
任何人都可以建议用于GIS数据查询的.NET API吗?
这是一个非常棒的API,我曾经用过SHP文件。
看看http://shapefile.codeplex.com/
另外看看MapWindow,这是一个用.Net编写的GIS工具,非常方便。
如果您正在寻找付费API,请查看ThinkGeo,他们有一些很好的.Net API来处理GIS数据。
这些文件是Esri Shapefiles。 .man我不知道。通常所有4或5个文件一起代表地理矢量数据。 搜索关键词“形状文件阅读器” (我只知道java的libs)
首先,这些文件是ESRI Shapefile。 mxd是arcmap项目/映射文件,其中包含这些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.