Openlayers: Polygon invertiert darstellen
-
Openlayers: Polygon invertiert darstellen · brogo (Gast) · 24.06.2013 10:05 · [flux]
Hallo!
Ich habe ein Polygon (Gemeindegrenze). Dieses in OSM darzustellen ist mir schon mal gelungen [1]. Nun möchte ich aber gerne die Schattierung umkehren, also alles was außerhalb dieses Polygons liegt einfärben und alles was innerhalb des Polygons liegt soll keine Schattierung haben. Ist das möglich?
Christian
- Re: Openlayers: Polygon invertiert darstellen · ikonor (Gast) · 24.06.2013 10:19 · [flux]
Siehe Beispiel (oder mit Schattierung) und entsprechenden Faden Frage bezüglicher Map + Layer und reiner Stadtdarstellung.
Gruß,
Norbert - Re: Openlayers: Polygon invertiert darstellen · wambacher (Gast) · 24.06.2013 11:57 · [flux]
ikonor wrote:
Siehe Beispiel (oder mit Schattierung) und entsprechenden Faden Frage bezüglicher Map + Layer und reiner Stadtdarstellung.
Oder auch hier:
SELECT␣␣ST_AsGeoJSON(ST_Difference(ST_SetSRID(ST_MakeBox2D(ST_Point(-0.51059281249997,46.229064252099), ST_Point(26.9991728125,55.319613469685)),4326), (select␣buffer_geom␣from␣relations␣where␣id␣in(2463632)) ), 6)␣as␣shadow;
Ist "ganz einfach", wenn man die Daten hat. Hier wird die Differenz zwischen der aktuellen sichtbaren Fläche (st_makebox2d(...) ) und der Geometrie von Dach+ (relation 2463632) berechnet.
OpenLayers schickt die BBOX mit OpenLayers.Strategie.BBOX zum Server, der macht ein wenig PostGIS, konvertiert nach GeoJSON und OL zeigt das halt an.Gruss
walterp.s. in einer mit osm2pgsql erzeugten DB sind die Flächen der Relationen ja als Ways mit der negativen ID der Relation drin. Das müsste man anpassen, wenn man es mal damit ausprobieren möchte.