如何使用我们自己的数据动态创建地图图层?

时间:2013-11-18 21:25:23

标签: google-maps map openlayers openstreetmap geoserver

我们正在创建一个使用不同颜色的限速地图应用程序来突出显示具有不同速度限制的街道(类似于ITO限速地图:http://www.itoworld.com/map/124?lon=-79.37151&lat=43.74796&zoom=12)。

我们遇到的问题是我们正在进行自己的研究并拥有自己的速度限制数据,而不是像OpenMap中那样从OpenStreetMap或Google Map中提取数据。我们还需要创建数据存储,以便在将来添加更多限速信息时动态更新地图。

是否有创建我们自己的OpenStreetMap实例并仅用我们自己的数据替换速度限制信息?我们没有任何矢量数据,也没有使用它们的经验。

是否有任何建议可用于根据我们的速度限制创建突出显示层? OpenLayers是一个不错的选择吗?

非常感谢任何帮助,非常感谢。


更新2013/11/20

非常感谢您的回答,现在我们对您的问题有了更好的理解。这是一个大学设计项目,所以我们基本没有预算。我们正在寻找:

1)包含基本图块信息的基本“基本地图”(openstreetmap似乎是一个不错的选择,因为只要我们能找到google map api就不提供免费的道路信息)

2)可以托管我们自己的街速限制数据的地理数据服务器(看起来像geoserver和mapserver是不错的选择),或者是一个可以满足我们需求的设计简单数据库(不是知道是否可能)

3)一个绘图工具,可以在地图上将我们的速度限制数据渲染为“行组”,因为这些数据会经常更改(openlayers和传单是很好的候选者)。

还有什么需要吗?

2 个答案:

答案 0 :(得分:4)

一旦你决定了一些事情,你想要做的就是一个简单的编程任务:

这些可能是您需要回答的三大问题。我添加了一些评论,但是看看这篇文章后面的每个问题,找出对你有用的东西。

您希望将谁用于地图?由于您只有一种类型的数据,因此您需要将这些数据显示在其他人的漂亮地图上。最重要的选择是BingGoogleOpenLayers/OSMESRI。您的选择很可能是由上述服务的许可驱动,如果您愿意支付或不支付。支持移动设备的需求也可能会影响您的决策。由于地图是您的用户将看到的,请选择您能够负担得起的最佳地图。

您将如何提供数据?您可以通过多种方式来提供速度限制数据。 GeoServerMapServer以及ESRI是一些流行的地图软件包。如果您只显示几层数据,则所有绘图软件都会过度。用于渲染地图数据的实际软件很可能只影响您的口袋书,因此通常这里的免费是好的。

Tiles vs Lines 您将数据作为发送到浏览器的一组行服务,或者作为预先渲染的图块加载到地图之上。如果您经常更改数据,则需要动态地将其作为行数据(点数组)提供。如果您的数据不经常更改,则应考虑平铺数据。平铺涉及在所有缩放级别预先渲染整个地图。这样可以非常快速地加载地图,这几乎可以渲染所有基本地图。缺点是瓷砖生成可能需要很长时间,而瓷砖可能占用大量空间。

答案 1 :(得分:1)

这是一个非常广泛的问题。绘制自己的限速地图有很多组件。

在前端,有一个Web浏览器地图界面。 OpenLayers擅长这一点。还有很多其他工具可以做到这一点,例如Leaflet甚至Google Maps API。

接下来是提供实际速度限制路线数据的东西。这可以用作矢量图层或栅格图层。这里也有很多工具。 UMN Mapserver是免费的,相当不错。 ESRI也在这个领域制造了一整套产品。

速度限制路线数据也需要以某种方式保存。这可以在文件或数据库(如PostGIS)中完成。再次,很多很棒的选择。

系统架构师的角色是确定使用哪些技术来解决问题。