GPX Flächen auf Karte

Hallo Ihr,

ich arbeite gerade mit shape-Dateien in Saga gis (Flächen von Bundesländern) und würde diese gerne als GPX oder KML exportieren, um sie auf einer Openstreetmapkarte darzustellen.

Meine Frage: Kann man GPX-Flächen (halb transparent) auf Openstreetmapkarten darstellen? Gibt es überhaupt GPX Flächen? Wenn nicht, kann ich ggf. kml-Flächen auf Opentstreetmapkarten darstellen?

Viele Grüße Desputin

Geschlossene Linien kann mann füllen, siehe http://hwri.funpic.de/OSM_circle/RW-BB.htm und http://hwri.hw.funpic.de/OSM_circle/GPXCIRC.js
suche nach:
if ( bifill == true ) {
featureRTE.push(new OpenLayers.Feature.Vector(new OpenLayers.Geometry.LinearRing(pointList),null,style_green));
} else {
featureRTE.push(new OpenLayers.Feature.Vector(new OpenLayers.Geometry.LineString(pointList),null,style_green));
}

Ok, danke.

Ich habe gerade gesehen, daß bei größeren Gebieten die gpx Dateien auch ziemlich groß werden. Die der Bundesländer der BRD z.B. 6,5 mb…

Vielleicht taugt das dann doch nicht… Weißt Du/ Wißt Ihr, ob es Ansätze gibt, auf Basis von OSM einfache Web-Gisse zu realisieren (mit verschiedenen layern von polygonen und so)?

Web-Gisse : was ist das?

Es gibt Tools, die GPX Dateien auf eine vorgegebene Anzahl von Punkten reduzieren. Damit sollten die BL darstellbar sein.

Ok, danke ich werde mal nach einer Punkte-Reduktionsfunktion in saga gis schauen.

Bezüglich der “gisse” - ich meinte online Geoinformationssystems-Dienstleistungen - Also interaktive Kartendarstellungen im Internet

auf selbes problem bezüglich des füllens von GPX layern bin ich leider auch gekommen.

laut der GPXCIRC.js soll man angeblich auch ein ifill attribut mitgeben, was die fläche anhand der eingelesenen gpx-punkte mit der definierten farbe füllt.

leider habe ich es bisher noch nicht geschafft auch nur jegliche linie, bzw. fläche mit einer farbe zu füllen.

hat irgendwer eine idee, warum das nicht geht oder wie es evtl. gehen kann?

ich wollte auch die einzelnen landesgrenzen der bundesländer einbinden und die flächen derer verschieden einfärben.

wie hier: http://www.mittelsachsen-atlas.de/index3.html

Sorry, das funktioniert nur mit den Kreisen.
Ich habe jetzt eine neue Java-lib ( http://hwri.hw.funpic.de/OSM_circle/GPXCIRCF.js ) und ein Beispiel ( http://hwri.funpic.de/OSM_circle/Kreis-BB.htm ) erstellt, damit müsste es funktionieren.
Im Beispiel ist ein gefülltes (grün) und ein ungefülltes (blau) Beispiel drin, Umschalten mit dem “+” rechts oben.

Hey Super!

Genau das hatte ich gesucht … Vielen Dank dafür

Noch eine Frage, kann man im Nachgang, nachdem das Objekt “new OpenLayers.Layer.GPX” erzeugt wurde, eigentlich noch den Style ändern? bzw. Optionen zum Objekt hinzufügen?

Ob man den Style nachträglich ändern kann, weiss ich nicht.
Wenn Du den Style global ändern willst, kann das hier geschehen:

addLineGPX: function(xmlNode, color,fillOp) {
    var style_green = {
            strokeColor: color,
            strokeOpacity: 0.9,
            strokeWidth: 4,
            pointRadius: 6,
		fill : true,
		fillColor: color,
		fillOpacity: fillOp,
            pointerEvents: "visiblePainted"
    };

Wenn für jeden Track ein eigener Style definiert werden soll, muss der entsprechende Parameter vom htm File über alle Hierarchien bis addLineGPX ( wie für color,fillOp geschehen ) durchgeschleift werden.

ich habe das ganze versucht etwas anzupassen

man kann nun den optionsparameter als objekt mitliefern. somit kann man die farben, füllstärken, linienstärken und den radius dynamischer gestalten.
weiterhin habe ich einen zweiten farbparameter, welcher die füllfarbe darstellt angegeben

http://www.2shared.com/document/44Lt_y1p/GPXCIRCFnewjs.html


  var options = {
   strokeColor: "black",
   strokeOpacity: 0.5,  
   strokeWidth: 8,
   pointRadius: 2,
   radius: 50,
   fill : 0.5,
   fillColor: "silver",
   fillOpacity: 0.8,
   pointerEvents: "visiblePainted"
  }


   var lgpx = new OpenLayers.Layer.GPX("grenze","KG-BB.gpx","red","blue",0.2,options);
 map.addLayer(lgpx);
 var lgpx1 = new OpenLayers.Layer.CIRC("radius","RW-BB.gpx","red","blue",1,300,options);
 map.addLayer(lgpx1);

kannst ja nochmal drüber schauen, ob alles funzt