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


Vor 5 Jahren hier im Blog

  • Multi-User-WebDAV, Docker, GitHub

    17.11.2019

    Nachdem ich mich in letzter Zeit verstärkt mit Docker und dem zugehörigen Ökosystem beschäftige, habe ich begonnen, verschiedenste Dienste in Containern zu testen um zu sehen, ob in manchen Fällen LXC oder KVM nicht doch die bessere Wahl wäre...

    Weiterlesen...

Neueste Artikel

  • Migration der Webseite und aller OpenSource Projekte

    In eigener Sache...

    Weiterlesen...
  • AutoHideToolbar für Java Swing

    Ich habe eine neue Java Swing Komponente erstellt: Es handelt sich um einen Wrapper für von JToolBar abgeleitete Klassen, die die Werkzeugleiste minimieren und sie nur dann einblenden, wenn der Mauszeiger über ihnen schwebt.

    Weiterlesen...
  • Integration von EBMap4D in die sQLshell

    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.

    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.