从矢量数据生成地理图块

时间:2013-03-22 18:35:26

标签: orm map geospatial geo

我正面临这个问题:我在我的数据库中有一些描述许多世界/国家/地区/城市边界的矢量数据(折线......)。

我想在这些地区有一张互动地图。

当我在浏览器中渲染这些数据(数据以geojson发送)时,这很慢(我并不感到惊讶)。

下一个原因是,生成一些栅格切片以表示不同缩放级别的区域,并有办法在区域上的点击和所选区域之间建立关系(以显示更多信息)。

我是地理瓷砖的新手:

  • 从矢量数据生成png / jpg图块的最佳工具是什么?
  • 如何在单击的区域和数据库中的“id”之间建立关系?

我知道我的问题很大,但是如果你有一些建议......

谢谢!

2 个答案:

答案 0 :(得分:2)

我最近撰写了一篇关于如何提高光栅图块渲染速度的博文:   http://blog.webfoot.com/2013/03/12/optimizing-map-tile-generation/

至于将点击连接到管辖区ID,我认为没有捷径:您需要将点击转换为lat / lng(或者我在博客文章中描述的Vast Coordinate System)然后执行多边形点检查。如果您使用的是PostGIS,则可以执行ST_Intersects。

注意:如果您使用的是MySQL,则交叉点是使用边界框完成的,而不是多边形。它仍然是可能的:你只需要从某个地方获取一个多边形点函数来检查哪个多边形,如果一个边界框检查得到你多个。

以下是您可以点击的点的示例:    http://maps.webfoot.com/demos/CanadianStimulus/CanadianStimulus.html

请注意,由于人们对点击不精确(尤其是小点),我实际上会在“实时”点周围制作几个像素以及单像素点。你也可以点击点,然后它将显示多边形(在这个例子中,它是联邦选区)。

答案 1 :(得分:0)

MongoDB Plugin datasource Geoserver是一个功能齐全的WebGIS Server。您可以使用它来构建您的数据的地图渲染服务(实际上是WMS)。然后使用Geowebcache生成地图的图块。

通过这种方式,您可以使用功能齐全的WebGIS堆栈,它允许您管理其他数据源,并在数据的某些部分更新时轻松进行磁贴子集重新创建。

通过Geoservers WFS实现,还可以查询地图上的要素(关系图位置与数据库中的元素)。