[mapserver-users] The Case of the Disappearing Roads

andy andy at squeakycode.net
Fri Aug 9 10:21:40 PDT 2013


On 8/9/2013 12:03 PM, Joseph Marlin wrote:
> The Case of the Disappearing Roads
>
> We create shapefiles with SQL querying world data that's been loaded into a PostgreSQL database. A python script requests tiles from mapserver at different zoom levels, and we generate the entire map like that.
>
> Now, at the sixth zoom level, level 3 roads (medium size roads) should be rendered. However, they are actually rendered only in a small section of the world, a box bounded by Toronto in the northwest, Cleveland in the southwest, and the Atlantic in the east. Elsewhere, level 3 roads are not rendered at all.
>
> As you can see in this image: http://i.imgur.com/6McvGOJ.png, the small gray roads, level 3 roads, (and highway shields, for that matter) that are visible on the top half suddenly stop being rendered by mapserver.
>
> In all the following more zoomed in levels, no roadways smaller than level 2 are rendered at all anywhere, as you can see here: http://i.imgur.com/8MTcPoi.png. I've verified that the shapefiles contain the data on the smaller roads as I have viewed them just fine with QGIS, as you can see here: http://i.imgur.com/S3W3Iy8.png
>
> I'm so confused as to what could possibly make roads disappear midway through a level. If it was a problem with my mapfile, why would they show up in part of Northeast US, but not anywhere else? Where do I even start looking to solve this?
>
> Thanks so much!
>
> Additional info:
> SRS: EPSG:900913
> Zoom levels: 19567.8792375, 9783.93961875, 4891.969809375, 2445.9849046875, 1222.99245234375, 611.496226171875, 305.7481130859375, 152.87405654296876, 76.43702827148438, 38.21851413574219, 19.109257067871095, 9.554628533935547, 4.777314266967774, 2.388657133483887,  1.1943285667419434, 0.5971642833709717, 0.29858214168548586
> Bounding box: -20037508.3427892,-20037508.3427892, 20037508.3427892,20037508.3427892
> _______________________________________________
> mapserver-users mailing list
> mapserver-users at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/mapserver-users
>

I've seen that problem when the data is invalid.  Try something like:

select count(*) from roads where not ST_IsValid(the_geom);

You should get zero.

-Andy


More information about the mapserver-users mailing list