Mapping Mapnik蓝色瓷砖和瓷砖

Mapping Mapnik蓝色瓷砖和瓷砖,mapping,openstreetmap,mapnik,Mapping,Openstreetmap,Mapnik,我仍在尝试让我的服务器运行OpenStreetMap。我已经安装了TileCache和Mapnik。我把美国俄克拉何马州的一份摘录输入了我的数据库。我已经使用OSM Mapnik工具创建了一个XML样式表,并且我已经确认“generate_image.py”是一个很好的地图图像。我已经(至少我相信我已经)正确地授予了PostGIS访问权限。我的用户对数据库中的所有表具有完全权限。当我查看Apache日志时,我看到的都是关于缓存未命中的注释(我过去常常看到数据库连接问题,但现在不再看到了)。在Po

我仍在尝试让我的服务器运行OpenStreetMap。我已经安装了TileCache和Mapnik。我把美国俄克拉何马州的一份摘录输入了我的数据库。我已经使用OSM Mapnik工具创建了一个XML样式表,并且我已经确认“generate_image.py”是一个很好的地图图像。我已经(至少我相信我已经)正确地授予了PostGIS访问权限。我的用户对数据库中的所有表具有完全权限。当我查看Apache日志时,我看到的都是关于缓存未命中的注释(我过去常常看到数据库连接问题,但现在不再看到了)。在Postgres日志中,我看不到任何东西(同样,我曾经看到访问被拒绝的问题,但现在我看不到了)。尽管如此,当我要求TileCache从OSM Mapnik层渲染一个平铺时,我得到的只是这个图像:

无论我在地图上的什么位置,或者我处于什么缩放级别,都会显示此图像。我在CGI下运行TileCache,它的配置如下:

[osm]
type=Mapnik
mapfile=/var/maps/bin/mapnik/osm.xml
spherical_mercator=true
var map = new OpenLayers.Map("mapdiv");
var vec = new OpenLayers.Layer.TMS("TC", "http://maps.company.com/cgi-bin/tilecache/tilecache.cgi/", {serviceVersion: "1.0.0", layername: "osm", type: "png"});
map.addLayer(vec);
我使用的是OpenLayers,我的Javascript如下所示:

[osm]
type=Mapnik
mapfile=/var/maps/bin/mapnik/osm.xml
spherical_mercator=true
var map = new OpenLayers.Map("mapdiv");
var vec = new OpenLayers.Layer.TMS("TC", "http://maps.company.com/cgi-bin/tilecache/tilecache.cgi/", {serviceVersion: "1.0.0", layername: "osm", type: "png"});
map.addLayer(vec);

我已经在这个服务器上工作了两个半星期。我读过我能找到的所有博客、论坛或其他帖子。这是我今天的第三个问题。我越来越绝望了。我非常感谢任何人提供的任何帮助。

您能确认您在postgis中有有效的数据吗?在Quantum GIS中打开数据是一种很好的检查方法。

我使用了“generate_image.py”并获得了一张带有俄克拉荷马州overtop的OSM数据的“world_boundary”底图图像。俄克拉何马OSM数据是从extract.OSM文件导入数据库的。我刚刚在Quantum GIS中打开了一些东西,那里的一切看起来都很好。好的。请注意,osm.xml样式表同时使用shapefile和postgis中的数据。我知道这一点。我应该有OSM和Mapnik所需的全套形状文件。你需要确保你的OpenLayers地图是球形墨卡托投影。可以通过将选项散列作为参数传递给映射构造函数来实现这一点。这可以解释为什么我可以手动请求一个磁贴,但仍然可以得到一个蓝色磁贴吗?老实说,我不知道为什么,但事情从昨晚开始就行了。一定是OpenLayers的问题。