1

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

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

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

下一个原因是生成一些光栅图块来表示不同缩放级别的区域,并有一种方法可以在单击区域和选定区域之间建立关系(以显示更多信息)。

我是地理瓷砖的新手:

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

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

谢谢!

4

2 回答 2

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

请注意,由于人们在点击时并不精确(特别是对于小点),我实际上在这些点周围制作了几个像素“活”以及单像素点。您也可以单击远离点,然后它将显示多边形(在本例中为联邦选举区)。

于 2013-03-22T20:33:45.173 回答
0

Geoserver有一个MongoDB 插件数据源,它是一个功能齐全的 WebGIS 服务器。您可以使用它为您的数据构建地图渲染服务(实际上是 WMS)。然后使用Geowebcache生成地图的切片。

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

通过 Geoservers WFS 实现还提供了地图上的查询功能(与数据库中元素的关系地图位置)。

于 2013-03-24T09:33:12.413 回答