You are not logged in.

Announcement

*** NOTICE: CONTENT MIGRATION PENDING! Read More about the import. Bug? Post them here***

#1 2011-10-17 19:52:58

skifidelity
Member
Registered: 2010-05-19
Posts: 33

Region hervorheben

Hallo liebes Forum,
ich habe ein interessantes Feature auf dieser Karte gesehen:
http://maps.oberbayern.de/

Durch das Ausgrauen der Umgebung wird eine einzige Region hervorgehoben. Wir arbeiten auch mit selbst gerenderten Kacheln (Mapnik). Ich vermute aber, dass der Effekt eher durch eine zweite Layer entsteht. Hat von Euch jemand Ahnung, wie dieser Effekt erreicht werden kann? Würde mich über ein paar Tips freuen.

Danke
Martin

Offline

#2 2011-10-17 20:11:25

wambacher
Member
From: Schlangenbad/Wambach, Germany
Registered: 2009-12-16
Posts: 16,769
Website

Re: Region hervorheben

skifidelity wrote:

Hallo liebes Forum,
ich habe ein interessantes Feature auf dieser Karte gesehen:
http://maps.oberbayern.de/

Durch das Ausgrauen der Umgebung wird eine einzige Region hervorgehoben. Wir arbeiten auch mit selbst gerenderten Kacheln (Mapnik). Ich vermute aber, dass der Effekt eher durch eine zweite Layer entsteht. Hat von Euch jemand Ahnung, wie dieser Effekt erreicht werden kann? Würde mich über ein paar Tips freuen.

Danke
Martin

warum fragst du nicht einfach diejenigen, die das erstellt haben??? im impressum stehe kontakte und ansprechpartner haufenweise drin.

gruss
walter

p.s. ist ein interessanter mix: basis-karte osm, luftbilder bing und strassenkarte navtec. microsoft hat kräftig mitgeholfen.

Offline

#3 2011-10-17 20:37:06

SunCobalt
Member
From: Eislingen
Registered: 2010-01-09
Posts: 3,810

Re: Region hervorheben

wäre es ein Ansatz, wenn man nur eine Grenze in einen Renderer lädt und alles, was nicht in der Grenze ist, mit transparent grauen Farbe zu rendern. Wenn man das ohne Layerswitcher in OL übereinander legt, käme das dann raus.


Thomas

Offline

#4 2011-10-18 05:11:42

dt2
Member
Registered: 2008-08-04
Posts: 424

Re: Region hervorheben

Auf der genannten Seite scheinen es allerdings keine unterschiedlichen Layer zu sein. Eine Kachel als Beispiel: http://at0.cdn.ecmaps.de/WmsGateway.ash … MapStyle=t

Offline

#5 2011-10-18 06:21:51

wambacher
Member
From: Schlangenbad/Wambach, Germany
Registered: 2009-12-16
Posts: 16,769
Website

Re: Region hervorheben

hi,
sowas ist "ganz einfach" mit OL hinzukriegen - ich hab nur gerade kein wirklich passendes Beispiel zur Hand.

Das Prinzip: man erzeugt mit OpenLayers.Geometry.Polygon ein Multipolygon (*) mit outer=gesammter Kartenbereich und inner=gewünschtes Polygon.
Danach übergibt es man an OpenLayers.Feature.Vector.

               for (var i = 0; i < bbox_extents.length; i++) {         // schleife über bboxes
                    ext = bbox_extents[i];
                    var pointList = [];

                    pointList.push(new OpenLayers.Geometry.Point(ext[0] ,ext[1]));
                    pointList.push(new OpenLayers.Geometry.Point(ext[0] ,ext[3]));
                    pointList.push(new OpenLayers.Geometry.Point(ext[2] ,ext[3]));                    
                    pointList.push(new OpenLayers.Geometry.Point(ext[2] ,ext[1]));
                    pointList.push(pointList[0]);

                    inner = new OpenLayers.Geometry.LinearRing(pointList);
                    pointList = [];
                    edge = 0.05;

                    pointList.push(new OpenLayers.Geometry.Point(ext[0]-edge ,ext[1]-edge));
                    pointList.push(new OpenLayers.Geometry.Point(ext[0]-edge ,ext[3]+edge));
                    pointList.push(new OpenLayers.Geometry.Point(ext[2]+edge ,ext[3]+edge));     
                    pointList.push(new OpenLayers.Geometry.Point(ext[2]+edge ,ext[1]-edge));
                    pointList.push(pointList[0]);                   

                    outer =  new OpenLayers.Geometry.LinearRing(pointList); 
                    border = new OpenLayers.Geometry.Polygon([outer,inner]).transform(
                                  new OpenLayers.Projection("EPSG:4326"),
                                      map.getProjectionObject());                    

                    box = new OpenLayers.Feature.Vector(border);                   
                    boxes.addFeatures(box);
                }
 

Das Schnipsel erzeugt mehrere Boxes mit "dickem Rand", was man bestimmt auch eleganter hinbekommen hätte.
Das Ergebnis kann man hier sehen: http://wnordmann.homeunix.com/otm/plz.h … s=B00FTTTT
Die plz-Karte ist leider down, da ein Datenbank-Import läuft.

Gruss
Walter

*) ja ja, ich kann die Finger nicht von den MPs lassen wink

Last edited by wambacher (2011-10-18 06:55:09)

Offline

#6 2011-10-23 11:23:55

wambacher
Member
From: Schlangenbad/Wambach, Germany
Registered: 2009-12-16
Posts: 16,769
Website

Re: Region hervorheben

moin moin,

ich hab das nochmal aufgegriffen und in die PLZ-Karte integriert.
Die Lösung basiert rein auf PostGIS und OpenLayers.

t_screenshot%20at%202011-10-23%20111817.png

Gruss
Walter

p.s. ich denke drüber nach, die Real-Time-Karte in eine Offline-Version umzustellen.
      Bessere Performance bei nicht top aktuellen Daten - was mein ihr?

Last edited by wambacher (2011-10-24 10:35:27)

Offline

#7 2011-10-23 11:36:06

aighes
Member
From: Shanghai
Registered: 2009-03-29
Posts: 5,383
Website

Re: Region hervorheben

Mein Vorschlag wäre ein transparentes Overlay mit den PLZ-Gebieten mit Mapnik zu rendern. Die Grenzen dürften doch zu großen Teilen in OSM verfügbar sein.


Viele Grüße
Henning

Offline

#8 2011-10-23 11:43:12

edwin-ldbg
Member
Registered: 2008-05-21
Posts: 1,492

Re: Region hervorheben

Wenn die Grenzen von 1918 nimmst, dann ist es perfekt :-D

Offline

#9 2011-10-23 11:52:41

wambacher
Member
From: Schlangenbad/Wambach, Germany
Registered: 2009-12-16
Posts: 16,769
Website

Re: Region hervorheben

edwin-ldbg wrote:

Wenn die Grenzen von 1918 nimmst, dann ist es perfekt :-D

wer will denn so kleinlich sein?

http://de.wikipedia.org/w/index.php?tit … 0923153946

Offline

#10 2011-10-23 13:00:27

wambacher
Member
From: Schlangenbad/Wambach, Germany
Registered: 2009-12-16
Posts: 16,769
Website

Re: Region hervorheben

aighes wrote:

Mein Vorschlag wäre ein transparentes Overlay mit den PLZ-Gebieten mit Mapnik zu rendern. Die Grenzen dürften doch zu großen Teilen in OSM verfügbar sein.

meine Grundidee war es, die Sache möglichst dynamisch zu machen (obwohl Ländergrenzen ja fast statisch sind).

Die Daten für die Karte decken inzwischen ganz Europa ab - die Auswertung liefert aber bei verschiedenen Ländern (z.B. NL oder UK) noch keine vernünftigen Werte, da diese ganz unterschiedliche Systeme bei den PLZ haben und das Clustern dort noch nicht funktioniert.
Kommt jetzt eine neues Land dazu, ändere ich kurz die SQL-Abfrage für das "Fenster" und das war's dann.
Performance-mässig fällt das Teil nicht ins Gewicht; der Server braucht ca 2-3 Sekunden und lädt die Daten eh nur einmal pro Session hoch (OpenLayers.Strategy.Fixed() ).

Gruss
Walter

Offline

#11 2011-10-23 13:02:54

!i!
Member
Registered: 2009-11-28
Posts: 3,313
Website

Re: Region hervorheben

Oh das ist ein schönes Feature. Gut gemacht Warmbacher smile


privater Account von KVLA-HRO-Mei

Offline

#12 2011-10-24 10:02:31

g0ldfish
Member
Registered: 2009-04-27
Posts: 293

Re: Region hervorheben

Was wird da eigentlich hervorgehoben? DACH so wie es in dem Screenshot aussieht, aber auf http://wnordmann.homeunix.com/otm/plz.h … s=B00FTTTT z.Zt. DACH + Bornholm?

Schick ist auf jeden Fall!

Offline

#13 2011-10-24 10:10:29

chris66
Member
From: Germany
Registered: 2009-05-24
Posts: 10,144

Re: Region hervorheben

Schick ja, aber bei mir werden keine PLZ angezeigt, unten rechts nur ein endlos laufender Balken.


Mapper aus dem Münsterland.

Offline

#14 2011-10-24 10:28:30

wambacher
Member
From: Schlangenbad/Wambach, Germany
Registered: 2009-12-16
Posts: 16,769
Website

Re: Region hervorheben

hi,

@g0ldfish: angezeigt werden die Länder, wo die Auswertung funktioniert/funktionieren sollte. Die Liste ist aber noch nicht komplett.
                War nen kleines Problem mit Dänemark - 2 outer rings, nur der erste wurde dargestellt und das war nun mal Bornholm sad

@chris: jo, die karte ist grottenlangsam. allerdings kommen Daten erst ab Zoom 13 und höher und dann dauerts auch noch 1-2 Minuten.

ich baue das Teil mal um, wird aber einige Tage dauern.

Gruss
walter

könnte eventuell an 9.1 liegen. unter 8.4 ging es noch einigermassen.

Offline

Board footer

Powered by FluxBB