Styles für GeoJSON in EBMap4D

vorhergehende Artikel in: Geo Java
22.08.2021

Ich habe bereits darüber berichtet, dass EBMap4D jetzt über die Möglichkeit verfügt, beliebige GeoJSON-Layer darzustellen. Nun ist die Anwendung um die Möglichkeit erweitert worden, in diesen GeoJSON-Daten enthaltene Stilinformationen für die Darstellung zu nutzen.

Hier ein kleines Beispiel für die verschiedenen Möglichkeiten, die Darstellung einzelner Features beeinflussen zu können:

Screenshot GeoJSON-Layer überlagert über Hillshading, kombiniert mit Rendering von Hintergrundinformationen aus OpenStreetMap

Die Umsetzung wurde durch mehrere Ideen aus dem Internet inspiriert, für die ich stellvertretend hier eine verlinkt habe.

Folgende Styles werden bereits unterstützt:

  • fill
  • fill-opacity
  • stroke
  • stroke-opacity
  • stroke-width

Das oben gezeigte Beispiel nutzte folgende GeoJSON-Daten:

{
  "type": "FeatureCollection",
  "features": [
    {
      "type": "Feature",
      "properties": {
        "id": "huhu"
      },
      "geometry": {
        "type": "MultiLineString",
        "coordinates": [
          [
            [
              11.345311,
              50.715149
            ],
            [
              11.340311,
              50.711149
            ],
            [
              11.335311,
              50.721149
            ]
          ],
          [
            [
              11.343311,
              50.715149
            ],
            [
              11.337311,
              50.711149
            ],
            [
              11.332311,
              50.721149
            ]
          ]
        ]
      },
      "style": {
        "fill": "red",
        "stroke-width": "15",
        "fill-opacity": 0.6,
        "stroke-opacity": "0.3",
        "stroke": "green"
      }
    },
    {
      "type": "Feature",
      "properties": {
        "id": "huhu"
      },
      "geometry": {
        "type": "Point",
        "coordinates": [
          11.342311,
          50.709149
        ]
      },
      "style": {
        "fill": "blue",
        "stroke-width": "6",
        "fill-opacity": 0.6,
        "stroke": "blue"
      }
    },
    {
      "type": "Feature",
      "properties": {
        "id": "huhu"
      },
      "geometry": {
        "type": "Polygon",
        "coordinates": [
          [
            [
              11.345311,
              50.705149
            ],
            [
              11.340311,
              50.701149
            ],
            [
              11.335311,
              50.711149
            ],
            [
              11.345311,
              50.705149
            ]
          ],
          [
            [
              11.3388,
              50.7064
            ],
            [
              11.3388,
              50.7044
            ],
            [
              11.3421,
              50.7044
            ],
            [
              11.3421,
              50.7064
            ],
            [
              11.3388,
              50.7064
            ]
          ],
          [
            [
              11.338,
              50.708
            ],
            [
              11.34,
              50.708
            ],
            [
              11.34,
              50.707
            ],
            [
              11.339,
              50.707
            ],
            [
              11.338,
              50.708
            ]
          ]
        ]
      },
      "style": {
        "fill": "red",
        "stroke-width": "6",
        "fill-opacity": 0.6,
        "stroke": "yellow"
      }
    },
    {
      "type": "Feature",
      "properties": {
        "id": "huhu"
      },
      "geometry": {
        "type": "MultiPolygon",
        "coordinates": [
          [
            [
              [
                11.345311,
                50.715149
              ],
              [
                11.340311,
                50.711149
              ],
              [
                11.335311,
                50.721149
              ],
              [
                11.345311,
                50.715149
              ]
            ],
            [
              [
                11.3388,
                50.7164
              ],
              [
                11.3388,
                50.7144
              ],
              [
                11.3421,
                50.7144
              ],
              [
                11.3421,
                50.7164
              ],
              [
                11.3388,
                50.7164
              ]
            ],
            [
              [
                11.338,
                50.718
              ],
              [
                11.34,
                50.718
              ],
              [
                11.34,
                50.717
              ],
              [
                11.339,
                50.717
              ],
              [
                11.338,
                50.718
              ]
            ]
          ],
          [
            [
              [
                11.354,
                50.718
              ],
              [
                11.355,
                50.716
              ],
              [
                11.356,
                50.716
              ],
              [
                11.357,
                50.716
              ],
              [
                11.357,
                50.716
              ],
              [
                11.357,
                50.717
              ],
              [
                11.356,
                50.717
              ],
              [
                11.356,
                50.717
              ],
              [
                11.354,
                50.718
              ]
            ]
          ]
        ]
      }
    }
  ]
}

Artikel, die hierher verlinken

Integration von EBMap4D in die sQLshell

16.11.2024

Ich habe bereits in einem früheren Artikel über meine ersten Erfolge berichtet, der sQLshell auf Basis des bestehenden Codes aus dem Projekt EBMap4D eine bessere Integration für Geo-Daten zu spendieren und entsprechende Abfragen, bzw. deren Ergebnisse auf einer Kartenansicht zu visualisieren.

Isochrone Karten mittels Graphhopper

28.07.2024

Ich sah neulich auf Mastodon einen Tröt, der nach einer möglichst kostenlosen Möglichkeit fragte, isochrone Karten für beliebige Locations herzustellen.

SQLite als Geodatenbank

05.05.2024

Wie bereits in einem früheren Artikel beschrieben treibe ich derzeit Anstrengungen voran, die sQLshell attraktiver für Nutzer zu machen, die mit Geodatenbanken arbeiten.

Mehrere Datenbanken und Postgis-Erweiterung in Docker

16.03.2024

Ich hatte ja schon beschrieben, dass ich mich in diesem Jahr wieder intensiver um mein Geoinformationssystem EBMap4D kümmern möchte. Dazu habe ich jetzt einige infrastrukturelle Vorbereitungen getroffen...

sQLshell als Datenlieferant für EBMap4D

16.03.2024

Ich habe neulich beschrieben, welche Vorbereitungen ich traf, um mein Geoinformationssystem EBMap4D mit der sQLshell zu integrieren.

Neue Version von EBMap4D

24.02.2024

Die Anwendung EBMap4D wurde wieder einmal überarbeitet und erweitert.

In eigener Sache mit Blick auf 2024

30.12.2023

Dieses Jahr ist auch wieder rum. Zeit, nach vorne und Zurück zu blicken...

Alle Artikel rss Wochenübersicht Monatsübersicht Codeberg Repositories Mastodon Über mich home xmpp


Neueste Artikel

  • Compartmentalization and Privilege Drop

    Eine Präsentation zum besseren Verständnis einiger Konzepte sicherer Softwareentwicklung

    Weiterlesen
  • OpenSSH PKI

    Ich habe ja bereits eine kleine Präsentation zum Thema PKI und OpenSSH verfasst - hier folgt nun - mit einigen Links zu externen Ressourcen zu diesem Thema angereichert - eine strukturierte Zusammenfassung diverser Use Cases und deren Lösung mit einer OpenSSH PKI

    Weiterlesen
  • Der Gumowski-Mira Attractor

    Und wieder habe ich mich mit einem System beschäftigt, das sich in die Themen Chaos und Fraktale oder Strange Attractors einordnen lässt.

    Weiterlesen

Manche nennen es Blog, manche Web-Seite - ich schreibe hier hin und wieder über meine Erlebnisse, Rückschläge und Erleuchtungen bei meinen Hobbies.

Wer daran teilhaben und eventuell sogar davon profitieren möchte, muss damit leben, daß ich hin und wieder kleine Ausflüge in Bereiche mache, die nichts mit IT, Administration oder Softwareentwicklung zu tun haben.

Ich wünsche allen Lesern viel Spaß und hin und wieder einen kleinen AHA!-Effekt...

PS: Meine öffentlichen Codeberg-Repositories findet man hier.