Hallo miteinander,
wie man zum Beispiel auf dieser ÖPNV Karte (ZoomStufe 15) sehen kann, werde die Bushaltestellen jeweils zusammengefasst (zwei Haltestellen mit gleichem Namen) und ab Zoom 17/18 werden die genauen Positionen der Haltestellen angezeigt.
Dies würde ich gerne in meinem eigenen mapnik style ebenfalls so haben. Derzeit ist es so, das für jeden bus_stop eine Beschriftung zu sehen ist, falls sie sich nicht überlappt. Das ist alles ein wenig unschön.
Die frage ist ob ich das in der SQL Abfrage abhandeln muss mit z.B. nen Group By oder das ganze mit der Style Regel machen kann?
Die derzeitige Styleregel sieht wiefolgt aus:
<Rule>
&maxscale_zoom15;
&minscale_zoom16;
<Filter>[highway]='bus_stop'</Filter>
<TextSymbolizer name="name" allow_overlap="false" fontset_name="bold-fonts" size="10" fill="#61FF61" dy="-8" halo_fill="#FFFFFF" halo_radius="1" wrap_width="0">[name]</TextSymbolizer>
</Rule>
<Rule>
&maxscale_zoom17;
&minscale_zoom18;
<Filter>[highway]='bus_stop'</Filter>
<TextSymbolizer name="name" allow_overlap="false" fontset_name="bold-fonts" size="8" fill="#61FF61" dy="-8" halo_fill="#FFFFFF" halo_radius="1" wrap_width="0">[name]</TextSymbolizer>
</Rule>
<Layer name="Bushalte" status="on" srs="&osm2pgsql_projection;">
<StyleName>Bushalt-text</StyleName> <!--Halstestellenname -->
<StyleName>Bushalte</StyleName> <!-- SYMBOL -->
<Datasource>
<Parameter name="table">
(select way,amenity,name,highway,public_transport,railway
from &prefix;_point
where ( amenity='bus_station'
or highway='bus_stop'
or public_transport in ('platform','stop_position') )
and railway is null
) as points</Parameter>
&datasource-settings;
</Datasource>
</Layer>
Über hilfe wäre ich sehr erfreut.
Mapnik 0.7.1
Gruß
mvollmer