浏览slippymap时没有地图,只有海岸线

时间:2014-05-14 11:44:42

标签: openstreetmap

我正在CentOS 6.4上创建一个OpenStreetMap磁贴服务器。加载“本地图块”图层的slippymap.html页面时,我得到的只是两种颜色的地图,白色和蓝色表示土地和水。也就是说,我看到的图像基本上是海岸线。 “mapnik”图层工作正常。

这是我第一次进行与地图相关的软件配置。像mapnik,osm2pgsql,postgis,tile等所有术语对我来说都是新的。

据我在谷歌搜索结果中看到,似乎没有关于在CentOS 6.x上创建此服务器的现成信息。所以,对我来说,主要的指令集是以下文件:

http://switch2osm.org/serving-tiles/manually-building-a-tile-server-12-04/ [1]

所有组件必须从第三方CentOS存储库(如ELGIS,RPMForge,EPEL和PGDG92)安装或从源代码编译。

几天前,我确实在Ubuntu 12.04上创建了相同的服务器,这很简单。遵循这些说明:

http://switch2osm.org/serving-tiles/building-a-tile-server-from-packages/ [2]

请注意,文档[2]提到了访问slippymap.html但[1]没有。在[1]中,提到的唯一测试是访问yourserveraddress / osm_tiles / 0/0 / 0.png,即使在我的CentOS 6.4设置中也能正常工作。我通过从Ubuntu 12.04框中复制并进行了少量编辑来创建了slippymap.html。

另一条可能是关键线索的信息是来自renderd的以下错误:

proj_init_error:初始化投影失败:'+ init = epsg:4326'

我安装了proj和proj-devel软件包。

$ ldd / usr / local / bin / renderd | grep proj         libproj.so.0 => /usr/lib64/libproj.so.0(0x00007ffa42a0e000)

如何调试此问题?可能是什么问题呢?是否有任何检查表来验证每个组件的正常运行,如osm2pgsql,postgres / postgis db,mod_tile或mapnik?

1 个答案:

答案 0 :(得分:1)

我调试了这个问题并开始了解Git repo的2.0.x分支中的mapnik源代码,git://github.com/mapnik/mapnik调用pj_init_plus_ctx()失败。请参阅代码剪切以获取更多信息。

/*
 * Demonstrate mapnik 2.0 against proj 4.8.0-2 bug.
 *
 * Mapnik makes use of pj_init_plus_ctx() if the PJ_VERSION macro is >= 480,
 * which fails. Otherwise, it calls pj_init_plus(), which succeeds.
 */

#include <proj_api.h>

int main(void)
{
    projCtx ctx = NULL;
    projPJ proj = NULL;
#if 0
    projPJ p = NULL;
#endif

    ctx = pj_ctx_alloc();
    /* proj is NULL after this call */
    proj = pj_init_plus_ctx(ctx, "+init=epsg:4326");

#if 0
    /* p is not NULL after this call */
    p = pj_init_plus("+init=epsg:4326");
#endif
    return 0;
}

我已经能够通过将/usr/include/pj_api.h中的PJ_VERSION更改为470来继续前进。修复了另一个错误,修复了将font_dir设置为&#34; / usr / local / lib64 / mapnik / fonts& #34;在/etc/renderd.conf中。现在显示地名,州界,道路等名称。