我决定提供一些信息,说明我最终选择哪种方式来使用平铺的地图服务。纯JavaScript和GeoJSON不是解决方案,因为我必须处理大约40k多边形和33k点。所以我去铺瓷砖。哦,而且我仍然无权访问根服务器,因此我无法设置GeoServer或类似的设备(目前单个客户端在财务上不可行)
经过研究和阅读后,我终于选择了OpenLayers(在与GMaps进行了一些展示之后)。埃里克·哈扎德(Eric Hazzard)的出色著作《 OpenLayers 2.10》(Packt Publishing,2011年)确实对我有很大帮助,因为它还介绍了一些JavaScript基础知识和调试技巧。
我在QGIS中完成了所有矢量数据工作,当然,这绝对是像我这样的小型自由职业者的必经之路(我也从大学知道很多ArcGIS知识,但是QGIS到目前为止提供了我所需要的一切)。
样式化地图和创建图块是一个更大的挑战。首先,我使用了CASA的“ GMapCreator ”,但是对多个shapefile进行分层却被证明是乏味的(我必须在多边形上提供点数据,然后再封闭所有内容的市政边界线)。绝对可以在GMapsCreator中进行此操作(我在展示阶段做了此操作),但是它需要3个完整的渲染周期(首先创建图块,然后现有的图块被“覆盖”了以后的功能-以正确的顺序渲染)是非常重要的!),并且样式菜单略大且令人困惑。保存地图并在以后编辑它也是一个复杂的问题。
TileMill看起来非常有前途,尤其是类似CSS的样式,因此我对其进行了调查。不幸的是,它仅适用于Mac或Linux,因此可能会吓跑一些人。我真的很喜欢我所看到的,所以我在硬盘上设置了一个Ubuntu分区,下载并为其样式设置了地图。关于样式语法的文档有时会很少,但是观看他们的演示视频(在主站点上链接)几乎可以回答所有问题。可以使用嵌套和/或条件样式来做一些有趣的事情,并且对CSS的一些基本了解应该可以真正带您进入想要的地方。
最后,TileMill渲染一个漂亮的单个* .mbtiles文件。我认为没有办法在OpenLayers中直接显示这些内容(至少我找不到一个?),所以该使用另一个工具mbutil了。该工具将mbtiles文件“解压缩”到常规文件夹结构中,该结构包含选定缩放级别上我的数据的平铺png。
最后,我将所有这些文件上传到FTP服务器,在OL上进行了大量阅读,以使Webmap正常运行(您将创建的图块添加为TMS图层,但是猜测正确的源URL和图层名称花费了一些时间,谷歌搜索),然后花了几个小时摆弄基本的html / CSS问题。我想要一个100%宽/高的地图,上面有一个浮动的图例,该图例遵循我的客户“公司”(如上所述,是直辖市)的身份准则。
哦,到目前为止,我使用Google Maps作为基本图层,但是可能很快就会被通过WMS提供的一些自定义航拍照片所取代(不是由我提供,而是由州政府的测量和地理数据管理提供)。
我希望我不会忘记任何重要的事情,但是如果我忘记了,请随时提出!我会偶尔检查该线程。