我正面临这个问题:我在我的数据库中有一些描述许多世界/国家/地区/城市边界的矢量数据(折线......)。
我想在这些地区有一张互动地图。
当我在浏览器中渲染这些数据(数据以geojson发送)时,这很慢(我并不感到惊讶)。
下一个原因是,生成一些栅格切片以表示不同缩放级别的区域,并有办法在区域上的点击和所选区域之间建立关系(以显示更多信息)。
我是地理瓷砖的新手:
我知道我的问题很大,但是如果你有一些建议......
谢谢!
答案 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实现,还可以查询地图上的要素(关系图位置与数据库中的元素)。