【问题标题】:Need to determine which polygon my current position falls into需要确定我当前位置属于哪个多边形
【发布时间】:2013-01-07 22:56:08
【问题描述】:

我即将开始一个旨在检索当地地质信息的 IOS 项目。我计划在后端使用 Google App Engine 和 Python。我的问题是,并非所有可能需要的 Python 库(例如 Shapely )都在 App Engine 上可用,因为它们依赖于低级 C 库。所以我认为战略预处理可能是要走的路。

我将使用对地质构造信息进行编码的 KML 数据文件。对于每个州,都有一个覆盖该州的多边形拼凑而成,每个多边形(在 Google 地球中用颜色编码)对应于​​一个地质构造。例如nhgeol.kml

在另一个项目中,我使用了 Python GeoModel 库,它与 App Engine 配合得很好。但对于那个项目,我的数据由离散点组成,GeoModel 非常适合预处理这类数据,因此您可以进行“邻近提取”。

在这个项目中,根据我当前的位置,我想知道我所处的多边形。一种方法是预先计算地理单元格的网格,确定每个单元格所在的多边形。然后这个问题会减少到 GeoModel 可以处理的一个。但我不知道这有多可行。

一旦我知道我所在的多边形,我就会有一个指向特定地质构造信息的指针。这就是我要呈现给最终用户的内容。

如果有人提出这种方法是否有意义,或者我是否遗漏了一些更直接的东西,我将非常感激。

【问题讨论】:

  • 这不只是告诉您 google-app-engine 对于您想做的事情来说是一个糟糕的解决方案吗?您是否考虑更改为合适的主机并运行 PostGIS?
  • 此时,这是一个爱好项目。一切都是为了钱。但我会调查一下。

标签: python google-app-engine geolocation geospatial


【解决方案1】:

我不确切知道您希望使用 Shapely 的哪些功能,但要处理多边形,您可以使用完全用 Python 编写的Sympy。特别看Geometry Module和方法encloses_point

【讨论】:

  • 谢谢!我会玩弄那个。
  • 对使用 Sympy 和 KML 的人有什么建议吗?在相当广泛的谷歌搜索之后,我没有出现太多。
猜你喜欢
  • 1970-01-01
  • 2012-01-14
  • 2020-09-30
  • 1970-01-01
  • 2016-07-22
  • 2014-04-05
  • 2015-10-25
  • 1970-01-01
相关资源
最近更新 更多