我一直在做一些调查,以找到要安装和使用Geospatial Analytics的软件包
我最接近的是https://github.com/harsha2010/magellan – 但是它只有scala接口而没有doco如何在Python中使用它.
我希望你有人知道我可以用的套餐吗?
我想要做的是分析优步的数据并将其映射到实际的邮政编码/郊区并通过SGD运行以预测到特定郊区的旅行次数.
这里已经有很多数据信息 – http://hortonworks.com/blog/magellan-geospatial-analytics-in-spark/#comment-606532,我正在寻找用Python做的方法.
解决方法:
在Python中,我将看一下GeoPandas.它提供了一个名为GeoDataFrame的数据结构:它是一个功能列表,每个功能都有一个几何和一些可选属性.您可以根据几何交集将两个GeoDataFrame连接在一起,并且可以在单个几何体(例如,邮政编码)中聚合行数(例如,行程).
>我不熟悉优步的数据,但我试图找到一种方法将其纳入GeoPandas GeoDataFrame.
>同样可以从美国人口普查,OpenStreetMap [1]等地方下载邮政编码,并强制转换为GeoDataFrame.
>根据几何交集将#1加入#2.你想要一个新的GeoDataFrame,每个Uber旅行一行,但邮编附加到每个. Another * post discusses how do to this,它现在比它应该更难.
>通过邮政编码汇总并计算每次旅行的次数.代码看起来像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/