Python中的地理空间分析

2024-09-28 15:31:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我一直在做一些调查,以找到一个软件包安装和使用的地理空间分析

最接近我的是https://github.com/harsha2010/magellan-但是它只有scala接口,没有doco如何在Python中使用它。在

我希望有人知道我可以用的包裹吗?在

我要做的是分析Uber的数据,并将其映射到实际的邮政编码/郊区,然后通过SGD运行它来预测到特定郊区的出行次数。在

这里已经有很多数据信息-http://hortonworks.com/blog/magellan-geospatial-analytics-in-spark/#comment-606532,我正在寻找用Python实现的方法。在


Tags: 数据httpsgithubcom信息空间次数地理
2条回答

在Python中,我将查看GeoPandas。它提供了一个名为GeoDataFrame的数据结构:它是一个特性列表,每个特性都有一个几何体和一些可选属性。可以基于几何体相交将两个geodataframe连接在一起,并且可以在单个几何体(例如,邮政编码)内聚合行数(例如,行程)。在

  1. 我不熟悉Uber的数据,但我会设法把它放入GeoPandas GeoDataFrame中。在
  2. 同样地,邮政编码也可以从美国人口普查、OpenStreetMap[1]等地方下载,并强制输入到地理数据框中。在
  3. 根据几何相交将#1连接到#2。您需要一个新的地理数据框架,每次Uber旅行都有一行,但每行都附有邮政编码。Another StackOverflow post discusses how do to this,而且它现在比它应该的更难。在
  4. 按邮政编码汇总,并统计每一次旅行的次数。代码看起来像joined_dataframe.groupby('postcode').count()。在

我对上述过程的担心是,如果你有几十万个非常复杂的旅行几何图形,在一台机器上可能要花上一辈子的时间。你发布的链接使用的是Spark,你可能最终还是想把它并行化。您可以针对Spark集群编写Python(!)但我不是帮你做这个部件的人。在

最后,对于预测组件(例如SGD),请查看scikit-learn:这是一个功能非常齐全的机器学习包,有一个非常简单的API。在

[1]:有一个单独的包geopandas_osm,它获取osm数据并返回GeoDataFrame:https://michelleful.github.io/code-blog/2015/04/27/osm-data/

我知道这是一个老问题,但要建立在杰夫·G的答案上。在

如果您来到这个页面寻求帮助,在python中组合一套地理空间分析工具-我强烈推荐本教程。在

https://geohackweek.github.io/vector

它在第三节真的很火。在

它展示了如何整合

  1. 地质公园
  2. 邮政地理信息系统
  3. rasterstats公司

再加上scikit learn、numpy和scipy,你真的可以完成很多。您也可以从这个nDarray tutorial获取信息

相关问题 更多 >