Hoe vreemd gedrag van OSM-gegevens in Mapnik te herstellen?

Mijn huidige setup tot nu toe is een draaiende Apache-webserver met het script tilecache.cgi en een mapnik-rendering-engine die verbinding maakt met mijn postgis-database met mijn OSM-gegevens.

Het probleem is heel gemakkelijk te beschrijven. Alle wegnamen, wegnummers, beschrijvingen liggen dicht bij elkaar. Ik heb tilecache opgezet met MetaTile = true, TileSize = 8x8 en het verandert niet. Wat doe ik verkeerd?

Bedankt!

Screeny

5
Hoe hebt u uw gegevens geïmporteerd? Ik vraag het omdat de straten eruit zien alsof ze zijn gesplitst op kruispunten - dit is niet de standaard voor OSM-gegevens.
toegevoegd de auteur axk, de bron
osm2pgsql zou goed moeten zijn en de opdrachtregelargumenten zullen niet veranderen hoe de gegevens worden geïmporteerd.
toegevoegd de auteur axk, de bron
Kun je gebruik maken van de TextSymbolizer? github.com/mapnik/mapnik/wiki/TextSymbolizer
toegevoegd de auteur Stephen Jaikumar, de bron
met osm2pgsql - Kunt u mij uw opdrachtregel laten zien? Ik heb misschien verkeerde params gekozen ...
toegevoegd de auteur GAThrawn, de bron

1 antwoord

If the problem is the name for "Rue de l'Abbe Bovet" (you're most likely rendering the OSM data from here) is appearing twice, I don't think there's a problem with the data (it's a single object in OSM, see here but rather the renderer (mapnik/tilecache).

Zoals in de opmerkingen (door Michael Markieta) wordt gesuggereerd, moet je je TextSymbolizer-definities controleren. Het relevante kenmerk wordt spatiëring genoemd. Bv .:


[highway] = 'tertiary'
  &maxscale_zoom17;
  &minscale_zoom18;
  

zou ertoe leiden dat tertiaire weglabels om de 500 pixels worden herhaald.

Iets anders dat de moeite van het sleutelen waard is, is de parameter van mapnik, genaamd buffer_size . Ik weet niet zeker hoe dit werkt in tilecache (ik heb het alleen gebruikt in de python mapnik-extensies).

As far as I remember what buffer_size does is: whenever mapnik renders something it looks at whatever is rendered through a window of buffer_size - if you want mapnik to realize it has to avoid painting a label because it's already there the label candidate and the already painted label have to coexist within the same rendering window.

2
toegevoegd