首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OpenLayer + OpenStreetMap +自定义ShapeFile

OpenLayer + OpenStreetMap +自定义ShapeFile
EN

Stack Overflow用户
提问于 2012-06-01 22:52:50
回答 4查看 8.5K关注 0票数 4

我从映射开始。我想查看一张法国地图上的一层,这将是个性化的。

我已经有了shapefile格式的自定义图层。我根本不知道是否必须创建OpenStreetMap服务器,或者是否可以直接使用web应用程序。

你能给我一个用我的额外层shapefile格式映射显示的起点吗?

我猜这个任务很复杂,但你必须从……开始。

非常感谢

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-06-09 02:02:25

这取决于你想做什么。它是一个很大的Shapefile吗?

在创建openlayer贴图时,可以执行以下操作:

  • 将公共openstreetmap服务器用于背景瓦片(默认的OSM层实现),并将您的要素图层(点、多边形,其中的任何内容)作为矢量要素图层添加到OSM中。要从shapefile中获取矢量要素,您可以:
    • 将它们以一种合适的基于地理信息系统的格式预加载到您的数据库中。这允许您在执行边界框查询时为您的功能提供服务,如果您有超过10000个功能,则需要此功能。
    • 将shapefile转换为openlayers可读的格式(在浏览器中使用https://github.com/wavded/js-shapefile-to-geojson,或使用ogr2ogr)

等工具进行预转换

  • ,或者,如果您不需要与这些功能交互,您可以将您的数据与OSM数据相结合,并创建自定义磁贴。这对于浏览器来说是轻量级的,但它相当复杂(读取DB中的所有操作系统数据,使用mapnik生成切片)
票数 7
EN

Stack Overflow用户

发布于 2012-06-02 01:45:07

如果你想在你的shapefile层上添加一个OpenStreetMap (OSM),只需添加下面一行代码,

代码语言:javascript
复制
var osm = new OpenLayers.Layer.OSM();
map.addLayer(osm);

虽然我不明白,但您为什么需要为创建一个OpenStreetMap服务器?

票数 2
EN

Stack Overflow用户

发布于 2012-06-07 21:17:05

您不需要自己创建一个OpenStreetMap服务器。

如果您想要在地图上显示您的自定义图层,则使用googleopenstreetmap作为基本层,并在地图上显示您的图层(来自形状文件)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10852567

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档