专用Web应用程序的免费地图服务


12

背景

希望在网页上显示地图(仅供内部使用)。该应用程序必须能够添加自定义图层(无需将数据发送到地图服务主机):

  • 市政区域(由shapefile定义)
  • 自定义区域(由多边形定义,可能以市政区域为单位)
  • 站点位置(经纬度定义)
  • 其他城市数据(由形状文件定义)

由于是私人企业,因此消除了许多地图服务,包括:Google Maps,Bing,Yahoo!。地图,MapQuest和其他付费使用服务。

更新#1

也许MapQuest是有可能的

更新#2

我忘记提及的要求:

  1. 还有其他数据(城市,城镇,小村庄)不是OpenStreetMap的一部分。必须包括这些城市,而无需将数据提供给地图提供商。
  2. 在不告知地图提供者在哪里可以找到数据(即数据将位于防火墙之后)的情况下,也必须显示各种层(例如员工位置)。

目前的发展

目前,我找不到能满足我要求的服务器,因此我一直遵循各个网站上的说明来安装Mapnik Web服务器:

在这一点上,我有各种数据:

  • 城市和市政数据(加载到PostGIS中的图形文件)
  • 自然地球数据(形状文件;未加载)
  • Mapnik样式表(各种文件;未加载)

地理服务器

我尝试安装GeoServer(Mapnik之前的版本),但发现缺少文档,基于Web的管理工具配置起来很麻烦,并且2 GHz机器上的响应速度非常慢(用10秒钟渲染带有单层:道路)和默认的审美平淡。(我知道我可以使用样式表来丰富演示文稿,但这意味着必须查找[或创建!]合适的文件,进行安装,测试,等等。)

要求

技术要求包括:

  • 城市,道路,水域(湖泊,河流,海洋)
  • 政治界限(省,国家)
  • 高质量(外观类似于Google Maps,MapQuest等)
  • 正常运行时间长
  • 900913投影(类似于Google地图)
  • 自适应磁贴(每个磁贴少于0.1秒)
  • 出色的加拿大街道数据覆盖
  • 适用于滑动地图(与OpenLayers兼容)
  • 每天10,000个磁贴请求
  • 免费用于商业(或私人)用途,或每年少于$ 2000?

好的例子

这是我要实现的一个很好的例子(OpenLayers):

错误的例子

我不希望实现的示例:

不完整数据的示例:

相关链接

哪些WMS,WMTS或WFS服务器提供所需的功能?

Answers:


11

我不知道你为什么不包括服务,如谷歌地图,特别是因为你预期的流量并不高(谷歌开始后25000个充电的地图视图(地图视图将大大超过10,000低位):https://developers.google。 com / maps / faq#usage_pricing)。您基本上需要两件事:

  1. 有人为您提供网络草稿图。这可以是Google Maps,Bing,MapQuest,Cloudmade等。也可以运行自己的切片服务器并使用OpenStreetMap数据。
  2. 在Web地图顶部的客户端(使用javascript)呈现您自己的矢量数据。有几个开源库可以做到这一点(OpenLayers,Leaflet,Polymaps ...)。

需要进一步调查的一些指示:


8
Google Maps的服务条款禁止在私人服务器上显示地图(即该服务器必须向公众开放)。developers.google.com/maps/terms ...“您的Maps API实施不得仅在内部网络上运行。” 这样就排除了它。
戴夫·贾维斯

好的,那很有道理。在这种情况下,OSM是必经之路。
Igor Brejc


3

带有OpenStreetmap的Openlayers似乎是最好的免费选择,那么您将使用WMS添加图层(例如Mapserver或Geoserver)。您也可以将Google Maps与许可证一起使用。

自从我开发了许多网站(其中一些是从头开始使用自定义图块)以来,我在这方面有很多经验。

我没有与geoserver合作,但与Mapserver合作。您不能期望服务器实时呈现数百万种功能细节。我要说的是,必须始终通过将数据简化为详细程度(根据比例或缩放比例),并可能将基本数据刻录到图块来提高这些文件的性能。

现在我正在研究 Mobnetics Map

它使用Openlayers,OSM切片,postgreSQL和Java。它的优点是它可以适应任何GIS数据(通过使用元数据),然后允许用户查询数据。它正在持续开发中,当时只有葡萄牙的其他数据(作为测试案例)。

我要做的下一件事是为托管gis数据的客户端提供可以远程设置和更新的客户端,以便客户端可以自己在站点上工作。
当我的公司开发网站时,有一个客户很高兴。

否则,我也可以在您的服务器上对该站点进行自定义安装,并进行远程维护。我们已经对一些客户做到了。

最好的祝福,

若阿金·穆查索(Joaquim Muchaxo)


可能会花费很多时间,但是您知道id可以去哪里了解有关设置的更多信息吗?
QGISUser


1

当然,您可以使用付费GIS。我在理事会工作,我们使用Exponare。Exponare既简单又有效,但是会花费您很多。

ArcMap是最精美的软件,Dekho可以根据您的需要来做。

如果您想自己动手,请访问http://opengeo.org/,以获取受支持模型中的完整堆栈。

我对自己执行此操作的理解是:

  1. 在空间数据库(即PostGIS)中获取数据
  2. 选择您的图块/矢量服务器(PostGIS,GeoServer)以发布WFS / WMS
  3. 选择您的Web前端(GeoEXT,openlayers)

您可以在Windows上使用https://trac.osgeo.org/osgeo4w/(由软件包管理的软件包和所有软件包)安装大量软件包。我敢肯定,Ubuntu如果不是官方的,则在PPA中有这些软件包。


1

完全免费的选项需要集成一些软件,openstreetmap会使用其免费数据链接到软件。我建议使用Mapbox Studio作为Mapbox Studio,它是免费的,使用率低并且可以很好地扩展,它具有Native mobile功能,本机响应功能,也可以离线使用,也可以与Apis(如Openlayers和Leaflet)一起使用。交互层网格和矢量图块样式是Mapbox的独特而强大的功能,但是并不面向WFS或WMS,在这种情况下,也要使用Postgresql和Openlayers。Postgres具有开箱即用的Gml功能,因此要使用WFS,只需向请求中添加一些标头,但是对于完整的Ogc实施,请使用geoserver或Mapserver

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.