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

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 Github Repositories Gitlab Repositories Mastodon Über mich home xmpp


Vor 5 Jahren hier im Blog

  • Alarmierung über Skripte

    16.09.2019

    Nachdem ich mich in letzter Zeit wieder verstärkt mit den Themen Monitoring und Alarmierung auseinandersetze, habe ich überlegt, ob ich die dabei gewonnenen Erkenntnisse nicht auch dazu nutzen könnte, die bestehende Lösung flexibler zu machen

    Weiterlesen...

Neueste Artikel

  • Meine Umsetzung des Konzepts CircuitBreaker

    Das Konzept eines CircuitBreaker ist schon lange bekannt. Ich habe mir zu Studienzwecken einen selber gebaut - eigentlich zwei: Einer ist dafür da, das Logging von gleichartigen Exceptions zu drosseln, der andere für das Entzerren von Versuchen, Ressourcen von URLs nachzuladen. Diese spezielle Variante benötigte ich für EBMap4D: Falls einer der Tile-Server ausfällt, wird ansonsten ständig versucht, die Kacheln neu herunterzuladen. Das frisst nicht nur Rechenzeit, sondern ist auch unnütz.

    Weiterlesen...
  • Mein erster Origami-Kranich

    Nachdem ich mich nun schon so lange mit Origami beschäftige habe ich endlich einmal das älteste dokumentierte Ornament versucht - aus gutem Grund...

    Weiterlesen...
  • Will it go round in circles - Nashville Jam

    Eine neue Musikreihe/Show auf Youtube gefunden...

    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, muß 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 GitHub-Repositories findet man hier - meine öffentlichen GitLab-Repositories finden sich dagegen hier.