地理/空间相交检测.net多平台

本文关键字:net 平台 检测 空间 地理 | 更新日期: 2023-09-27 18:09:18

我有一个约300个选区的数据集(约10MB - 45MB取决于文件格式- GML/KML/SHAPE/JSON)。我希望建立一个移动应用程序(iOS/Android/Windows Phone),将确定哪个选区的用户是基于他们目前的纬度/经线。

我最初的计划是建立一个Azure web服务,并使用SQL Server或DocumentDB的空间功能来提供答案。但是选区是相当稳定的,所以如果我能在设备上做到这一点可能会更好。

我想我可能会用Xamarin。表单来构建我的应用程序,因为UI不需要那么复杂(我不需要绘制地图或选区)。

我看到EF6似乎具有可以工作的空间功能,但我发现关于是否会与Xamarin一起工作的相互矛盾的信息。表格,或者性能是否合理。

我可以用来确定Xamarin本地选区的最佳(最快/最简单)库/类是什么?表单应用程序?

地理/空间相交检测.net多平台

我没能找到一个库/类,但似乎我可以用很少的努力自己编写一个解决方案。我找到了这个链接:http://www.codeproject.com/Tips/84226/Is-a-Point-inside-a-Polygon。我第一次看的时候不太明白,但现在明白了。

我的计划是在SQLite本地存储我的选区(多边形)。但是,我还将包括4列,用于每个多边形的最小/最大纬度/长度。这给了我每个多边形的最小边界矩形,并将作为各种原始空间索引,以快速识别可能选区的一小部分。从那里我可以使用在CodeProject上找到的算法来确认哪个选区是正确的。