分步说明以运行脱机OpenStreetMaps

时间:2019-01-24 09:10:13

标签: openstreetmap

我正在尝试在服务器上运行OpenStreetMaps的脱机版本。

我有一个显示OSM映射的ASP.NET MVC应用。 到目前为止,我运行了OpenLayers的快速入门示例。

var map = new ol.Map({
    target: 'map',
    layers: [
        new ol.layer.Tile({
            source: new ol.source.OSM()
        })
    ],
    view: new ol.View({
        center: ol.proj.fromLonLat([
            37.41, 
             8.82
        ]),
        zoom: 4
    })
});

问题是我需要离线所有内容。我已经下载了planet-latest.osm.bz2文件,但是我对下一步的工作感到困惑。

我读到我现在必须从osm文件渲染图块,对吗?我尝试使用Mapnik / Maperetive来实现这一目标,但效果并不理想。 我也不知道如何将所有事物连接在一起。

@ EDIT1 使用前我必须渲染所有图块(大约20TB)还是可以按需渲染图块(何时有人将使用地图)?

1 个答案:

答案 0 :(得分:1)

我将为您澄清几个不同的术语:

  • OpenStreetMap 提供道路,建筑物,海洋等位置的原始数据
  • Mapnik 是许多切片服务器之一
  • 瓷砖服务器需要原始数据,平铺样式并生成图像(通常)
  • 平铺样式通常是XML,您可以使用CartoCSS和TileMill之类的工具来生成这些样式
  • CartoCSS 与Web CSS相似,但稍作修改以在映射的背景下更有意义
  • TileMill 是许多用于编写和预览CartoCSS的工具之一

对于您来说,上面的信息可能不是不必要的,因为Open Tile Server具有一些合理的默认值,并且可能是您浏览的最佳位置:https://opentileserver.org/