Algorithm 国家/州/海洋的地理区域数据
我正在开发一个应用程序,其中实体位于地球上的各个位置。我想要一组数据,从中我可以确定一个点包含在哪个区域 区域可以是以下类型:Algorithm 国家/州/海洋的地理区域数据,algorithm,mapping,geometry,gis,computational-geometry,Algorithm,Mapping,Geometry,Gis,Computational Geometry,我正在开发一个应用程序,其中实体位于地球上的各个位置。我想要一组数据,从中我可以确定一个点包含在哪个区域 区域可以是以下类型: 大陆 国家 湖 大海 DMZ 沙漠 冰架 …等等 我设想将每个区域表示为一个多边形。对于任何给定的点,我将测试它是否包含在每个多边形中。其他的想法是非常受欢迎的 我还希望找到包含部分或全部这些边界的公共域数据集 其中一些多边形将非常详细(可能比我需要的更详细),因此我需要有效执行这些计算的提示。我想,简化二维多边形的方法也会很有用。这类事情的最佳实践是什么 有谁能推
- 大陆
- 国家
- 湖
- 大海
- DMZ
- 沙漠
- 冰架
我应该指出,区域的数据集将是相当静态的,因此,如果预计算可以提高性能,那么它是一个很好的选择。如果您在平面上,常用的算法是从您的点绘制一条随机的直线,并检查与给定多边形的交点数量。如果是奇数,你在里面;如果是偶数,你在外面。你必须注意顶点和数值的不精确性 现在,你在一个球体上。您可以将其投影到平面上(实际使用的投影可能取决于多边形),然后执行上述操作。这是一个很好的资源 “自然地球”是一个公共领域地图数据集,以1:10米、1:50米和1:1.1亿的比例提供。以紧密集成的矢量和光栅数据为特色,利用自然地球,您可以使用制图或GIS软件制作各种视觉愉悦、制作精良的地图 数据以ESRI shapefile的形式提供。存在许多形状文件库
如果在您的编程语言中找不到对shapefile的支持,这将详细介绍文件格式。有趣的想法Alexandre,谢谢。我不担心测量面积或距离,因此将其视为“包裹矩形”所引起的失真是可以的。考虑X和Y坐标作为纬度和经度。你对查询效率的预计算有什么想法吗?我的思路是计算边界框,或者也许将地球分成几个小部分,并维护至少部分包围每个子部分的区域列表,以便缩小必须评估的列表,无论是多边形的数量,要检查的线段数。多边形的内部/外部近似(如内部和外部边界框,但可能更复杂)应该可以消除很多复杂性。然而,这可能很难做到。此外,优化“光线跟踪”部分可能涉及到用四叉树划分(投影)空间。