Mit diesem Beitrag möchte ich alle ansprechen die sich schon öfters und intensiv mit GPSMapEdit beschäftigt haben uns schon Erfahrung bei der Erstellung von komplexen eigenen Karten gesammelt haben.
Liebe GPSMapEdit Spezialisten,
ich habe da ein Problem in GPSMapEdit (egal welcher Version) entdeckt welches ich nicht aus eigener Kraft und durch auch noch so langes Überlegen und Grübeln lösen kann. Darum möchte ich das Problem hier zur Diskussion stellen. Ich hoffe ich kann es so beschreiben, dass es auch verständlich ist.
GPSMapEdit speichert die gezeichneten Karten als .mp Datei ab. Diese Dateien sind reine Text Dateien und können so jederzeit mit einem Texteditor (ich verwende dazu den Editor aus WinXP) einsehen, kontrollieren und (wenn nötig) auch editiert werden.
Ich arbeite im vorliegenden Test ohne TYP-File oder Skins. Ebene 1 ist 0x01, Ebene 2 0x02 und Ebene 3 0x03. Ausserdem speichere ich Veränderungen an den Karten ab, schliesse danach GPSMapEdit und lade die Datei immer neu bevor ich weiterarbeite. Das um sicher zu sein, dass ich immer von einer reproduzierbaren Basis ausgehe.
So jetzt zur Beschreibung meines Problems:
Wenn man, wie im Test, z.B. drei Polygone zeichnet werden diese in der Reihenfolge in die .mp Date geschrieben in der man sie gezeichnet hat. Das kann man nach dem abspeichern z.B. mit dem WinXP Editor überprüfen.
; Generated by GPSMapEdit 2.0.77.1[IMG ID]LblCoding=9ID=13010001Name=Test cGPSmapper 0093Elevation=MPreprocess=FTreSize=511TreMargin=0.00000RgnLimit=127Transparent=SPOIIndex=YPOINumberFirst=YPOIZipFirst=YLevels=2Level0=24Level1=18Zoom0=0Zoom1=1[END-IMG ID][POLYLINE]Type=0x29Data0=(48.26101,16.39008),(48.26101,16.43074),(48.23876,16.43074),(48.23876,16.39008),(48.26101,16.39008)[END][POLYGON]Type=0x4bBackground=YData0=(48.26101,16.39008),(48.26101,16.43074),(48.23876,16.43074),(48.23876,16.39008)[END][POLYGON]Type=0x1Label=0x01 Ebene 1Data0=(48.25174,16.40381),(48.25174,16.40995),(48.24584,16.40995),(48.24584,16.40381)[END][POLYGON]Type=0x2Label=0x02 Ebene 2Data0=(48.25142,16.40872),(48.25142,16.41486),(48.24552,16.41486),(48.24552,16.40872)[END][POLYGON]Type=0x3Label=0x03 Ebene 3Data0=(48.25605,16.40630),(48.25605,16.41244),(48.25015,16.41244),(48.25015,16.40630)[END]
Wenn man die abgespeicherte Datei jetzt wieder in GPSMapEdit öffnet werden die Polygone in der Reihenfolge dargestellt in der sie gezeichnet und abgespeichert wurden. In meinem Test wurde zuerst die Ebene 1, danach 2 und 3 gezeichnet. Wenn sich die Polygone überlappen deckt also die Ebene 3 die Ebenen 1 und 2, die Ebene 2 nur die Ebene 1 ab. Das ist logisch und für das Zeichnen von komplexen Karten mir überlappenden Polygonen auch wichtig. Siehe dazu das Bild ZE-Test_001.
Wenn man jetzt aber in der Ebene 2 noch einen Punkt dazusetzt tut sich was für mich unerklärliches. Es wird diese Ebene in die unterste Position gebracht, also jetzt plötzlich von Ebene 1 und 3 abgedeckt (siehe Bild ZE-Test_002), obwohl sich an der Reihenfolge der Ebenen, bei einer Kontrolle mit dem Editor nichts verändert hat.
; Generated by GPSMapEdit 2.0.77.1[IMG ID]LblCoding=9ID=13010001Name=Test cGPSmapper 0093Elevation=MPreprocess=FTreSize=511TreMargin=0.00000RgnLimit=127Transparent=SPOIIndex=YPOINumberFirst=YPOIZipFirst=YLevels=2Level0=24Level1=18Zoom0=0Zoom1=1[END-IMG ID][POLYLINE]Type=0x29Data0=(48.26101,16.39008),(48.26101,16.43074),(48.23876,16.43074),(48.23876,16.39008),(48.26101,16.39008)[END][POLYGON]Type=0x4bBackground=YData0=(48.26101,16.39008),(48.26101,16.43074),(48.23876,16.43074),(48.23876,16.39008)[END][POLYGON]Type=0x1Label=0x01 Ebene 1Data0=(48.25174,16.40381),(48.25174,16.40995),(48.24584,16.40995),(48.24584,16.40381)[END][POLYGON]Type=0x2Label=0x02 Ebene 2Data0=(48.25142,16.40872),(48.25142,16.41486),(48.24856,16.42156),(48.24552,16.41486),(48.24552,16.40872)[END][POLYGON]Type=0x3Label=0x03 Ebene 3Data0=(48.25605,16.40630),(48.25605,16.41244),(48.25015,16.41244),(48.25015,16.40630)[END]
Es wird aber noch besser. Bei einem zusätzlich gezeichneten Punkt in Ebene 3 wird diese plötzlich von Ebene 1 und 2 abgedeckt. Siehe dazu ZE-Test_003. Wohlbemerkt, in der .mp Datei ist noch immer die Zeichenreihenfolge Ebene 1,2 und 3 zu sehen.
; Generated by GPSMapEdit 2.0.77.1[IMG ID]LblCoding=9ID=13010001Name=Test cGPSmapper 0093Elevation=MPreprocess=FTreSize=511TreMargin=0.00000RgnLimit=127Transparent=SPOIIndex=YPOINumberFirst=YPOIZipFirst=YLevels=2Level0=24Level1=18Zoom0=0Zoom1=1[END-IMG ID][POLYLINE]Type=0x29Data0=(48.26101,16.39008),(48.26101,16.43074),(48.23876,16.43074),(48.23876,16.39008),(48.26101,16.39008)[END][POLYGON]Type=0x4bBackground=YData0=(48.26101,16.39008),(48.26101,16.43074),(48.23876,16.43074),(48.23876,16.39008)[END][POLYGON]Type=0x1Label=0x01 Ebene 1Data0=(48.25174,16.40381),(48.25174,16.40995),(48.24584,16.40995),(48.24584,16.40381)[END][POLYGON]Type=0x2Label=0x02 Ebene 2Data0=(48.25341,16.40851),(48.25341,16.41465),(48.25056,16.42134),(48.24751,16.41465),(48.24751,16.40851)[END][POLYGON]Type=0x3Label=0x03 Ebene 3Data0=(48.25685,16.40482),(48.25685,16.41096),(48.25094,16.41096),(48.25094,16.40482),(48.25410,16.39800)[END]
Ein zusätzlicher Punkt in Ebene 1 bringt keine Veränderung der der Ebenendarstellung. Siehe ZE-Test_004.
; Generated by GPSMapEdit 2.0.77.1[IMG ID]LblCoding=9ID=13010001Name=Test cGPSmapper 0093Elevation=MPreprocess=FTreSize=511TreMargin=0.00000RgnLimit=127Transparent=SPOIIndex=YPOINumberFirst=YPOIZipFirst=YLevels=2Level0=24Level1=18Zoom0=0Zoom1=1[END-IMG ID][POLYLINE]Type=0x29Data0=(48.26101,16.39008),(48.26101,16.43074),(48.23876,16.43074),(48.23876,16.39008),(48.26101,16.39008)[END][POLYGON]Type=0x4bBackground=YData0=(48.26101,16.39008),(48.26101,16.43074),(48.23876,16.43074),(48.23876,16.39008)[END][POLYGON]Type=0x1Label=0x01 Ebene 1Data0=(48.25174,16.40381),(48.25174,16.40995),(48.24871,16.41435),(48.24584,16.40995),(48.24584,16.40381)[END][POLYGON]Type=0x2Label=0x02 Ebene 2Data0=(48.25341,16.40851),(48.25341,16.41465),(48.25056,16.42134),(48.24751,16.41465),(48.24751,16.40851)[END][POLYGON]Type=0x3Label=0x03 Ebene 3Data0=(48.25685,16.40482),(48.25685,16.41096),(48.25094,16.41096),(48.25094,16.40482),(48.25410,16.39800)[END]
Hingegen bringt da Löschen eines Punktes in Ebene 3 wieder eine Veränderung, eine andere Zeichenanordnung mit sich. Jetzt deckt Ebene 3 wieder Ebene 1 und 2 ab, obwohl die Ebenen 1 und 2 noch immer nicht richtig dargestellt werden. Siehe ZE-Test_005. Die Zeichenreihenfolge in der .mp Datei ist aber immer noch unverändert.
; Generated by GPSMapEdit 2.0.77.1[IMG ID]LblCoding=9ID=13010001Name=Test cGPSmapper 0093Elevation=MPreprocess=FTreSize=511TreMargin=0.00000RgnLimit=127Transparent=SPOIIndex=YPOINumberFirst=YPOIZipFirst=YLevels=2Level0=24Level1=18Zoom0=0Zoom1=1[END-IMG ID][POLYLINE]Type=0x29Data0=(48.26101,16.39008),(48.26101,16.43074),(48.23876,16.43074),(48.23876,16.39008),(48.26101,16.39008)[END][POLYGON]Type=0x4bBackground=YData0=(48.26101,16.39008),(48.26101,16.43074),(48.23876,16.43074),(48.23876,16.39008)[END][POLYGON]Type=0x1Label=0x01 Ebene 1Data0=(48.25174,16.40381),(48.25174,16.40995),(48.24871,16.41435),(48.24584,16.40995),(48.24584,16.40381)[END][POLYGON]Type=0x2Label=0x02 Ebene 2Data0=(48.25341,16.40851),(48.25341,16.41465),(48.25056,16.42134),(48.24751,16.41465),(48.24751,16.40851)[END][POLYGON]Type=0x3Label=0x03 Ebene 3Data0=(48.25685,16.40482),(48.25685,16.41096),(48.25094,16.41096),(48.25094,16.40482)[END]
Diese Eigenart habe ich zuerst in einer sehr komplexen Karte (> 50 Zeichenebenen, von denen sich einige bewusst überlappen) entdeckt als ich plötzlich bemerkte, dass eine Ebene (Landschaftsteile), die weit über dem Hintergrund (Höhenschichtflächen) liegen sollte diese nicht abdeckt sondern dahinter liegt. In dem Fall dieser Karte passierte das aber bereits bei einkopieren der Ebenen und nicht erst, wie in dem recht einfachen Beispiel, nach nachträglicher Veränderung eines Polygons.
Hat irgendwer eine Ahnung wie man dieses Problem lösen kann? Es ist für mich nämlich besonders wichtig, dass die Ebenen in der gezeichneten Reihenfolge auch dargestellt werden. Warum? Bei meiner Karte handelt es sich um eine Aufteilung der Polygone in Hintergrund (z.B. Höhenschichtflächen) und den Vordergrund (z.B. Felsen, Vegetation, Landschaftsteile u.s.w.). Und das sollte, meiner Meinung nach, auch in GPSMapEdit richtig dargestellt werden.
Ich bin für jeden Tipp zu Problemlösung dankbar und warte schon gespannt auf eure Antworten.
Liebe Grüsse, Peter