从谷歌地图数据或其他地图API创建街区块叠加层

时间:2010-08-16 11:33:31

标签: google-maps openstreetmap

我的问题如下:我怎样才能在城市中抓住“块”以用于游戏? (然后用某种颜色显示阴影?)

我的一般想法是在游戏中使用你所在城市的真实街区,你可以拥有/出售。

我想在Google地图中显示您拥有的多边形叠加区域。

谷歌地图是前进的方式,还是其他API,如OpenStreetMap等,对此更有用?

任何指针都会受到赞赏,比如要抓取什么数据以及如何构造“块”的一般算法,或者可以为我返回块/房屋级多边形的API调用。

2 个答案:

答案 0 :(得分:1)

听起来很难,主要是因为你很难一直定义一个街区是什么 - 一条街的一边,或四条街道围成的长方形?如果它不是一个矩形怎么办?等

OpenStreetMap数据可能是您最好的选择,因为您实际上可以按地区OSM ExportCloudmade extract下载数据。

您可以考虑另一种方法(即让用户定义自己的多边形)或让用户拥有街道(这对OSM数据更容易)。

还有商业上可用的宗地数据集,它们将为您提供城市的属性级视图。这些可能非常昂贵。

答案 1 :(得分:-1)

我最近不得不处理这个问题。我最终在objective-c中创建了一个库,它基本上分析了OSM街道数据和OSM构建足迹数据的组合,以找出“块”的概念,其中概念是,“块”是一个多边形区域,它内部的建筑物,其中包含多边形的交叉街道。它并不适用于所有情况(例如没有建筑物足迹数据的区块),但对于城市而言,它在确定区块时效果很好。

另一种方法,但据我所知,OSM不支持,是直接从市政府获取块多边形数据,但除非您的要求只针对少数给定的区域设置,否则这种方法并不是特别可扩展。有些城市没有公布这些数据。