Mehr

Warum führt das Ausschneiden von Polygonen zu keinen Features mit QGIS?


Ich verwende QGIS 2.6.

Ich versuche, die Polygone in einer Ebene durch eine andere zu beschneiden, kann aber nicht die erwarteten Ergebnisse erzielen. Ich habe eine Ebene mit Feuchtgebieten und eine andere Ebene mit der Grundstücksgrenze meines Kunden. Ich möchte einen Layer, der nur die Feuchtgebiete anzeigt, die auf dem Grundstück meines Kunden liegen. Wenn ich das Werkzeug "Clip" ausführe, enthält die resultierende Ebene nichts. Es macht keinen Unterschied, welchen Layer ich als Eingabe-Layer und welchen als Clip-Layer verwende, das Ergebnis sind immer keine Features.

Könnte jemand erklären, was vor sich geht und welches Tool diese Operation ausführen könnte, wenn nicht "Clip"?


WendeOn-the-fly-ReprojektionAUS und sehen Sie, ob die Ebenen noch ausgerichtet sind.

Wenn nicht, speichern Sie eine Ebene im CRS der anderen mitSpeichern als…unter einem anderen Dateinamen.

Clipping funktioniert nicht, wenn die Layer unterschiedliche CRS haben.


Wenn das Referenzsystem für die Form gleich ist, können Sie das Werkzeug "Schnitt" verwenden (Vektor>Geoverarbeitungswerkzeuge>Schneiden). Das Vektorergebnis enthält in der Attributtabelle die Werte von zwei Vektoren, die Sie verarbeitet haben (Feuchtgebiete und Grenze).


Hfrhyu

Warum nicht die Kontaktfläche beim Wiedereintritt in die Atmosphäre vergrößern?

Hat Dumbledore Harry darüber angelogen, wie lange er James Potters Tarnumhang trug, als er ihn untersuchte? Wenn ja warum?

Warum genau wird Argon in Neutrino-Experimenten verwendet?

Woher wissen wir, dass die LHC-Ergebnisse robust sind?

Arbeitsnachweis - Lotterie-Ansatz

Wie einfach ist es, Magic von Grund auf neu zu starten?

Polnullpunkte eines reellwertigen kausalen FIR-Systems

Wie hat Arya die Messerstecherei überlebt?

Was ist die intuitive Bedeutung einer linearen Beziehung zwischen den Logarithmen zweier Variablen?

Eine besondere Anpassung mit grüner Linie und Buchstaben für Subfloat

Die Grenze zwischen berechtigter Gewalt und Brutalität überschreiten

Anatomisch korrekte seltsame Frauen in Teichen, die Schwerter verteilen

Wie kann man einen Zug während der Fahrt sicher entgleisen?

War Spock der erste Vulkanier in der Sternenflotte?

Erkennen, ob ein Element in einem Container gefunden wird

Sammelklage – welche Möglichkeiten habe ich?

Wie schreibe ich effizient Arbeiten, wenn Englisch nicht meine Muttersprache ist?

Warum entkommen, wenn the_content nicht ist?

Kundenanfragen (manchmal) machen mich verrückt!

Warum gibt es in den USA keine Volksabstimmungen?

Wie führt man ein Gefängnis mit der geringsten Anzahl von Wärtern?

Warum gibt Clip weiterhin den Fehler 999999 aus: Fehler beim Ausführen der Funktion Ungültige Topologie [Topoengine-Fehler]?

Warum gibt Erase ERROR 999999 (Fehler beim Ausführen der Funktion Ungültige Topologie Negative Punktwertigkeit) aus? Warum Intersect gibt ERROR 999999: Fehler beim Ausführen der Funktion Ungültige Topologie [Zu viele Linien, z 000358 oder Fehler 999999 ungültiger SQLERROR 999999: Fehler beim Ausführen der Funktion - Fehler beim Ausführen von (CopyRaster)ExtractSubDataset in ArcPy-Schleife ergibt ERROR 999999?ArcMap Union verstehen ERROR 999999?Ausführen der CostDistance-Funktion in ArcPy gibt Fehler 999999?

Die Ebene, die als Clip-Features verwendet wird, wurde zuvor verwendet und funktionierte einwandfrei, daher gehe ich davon aus, dass das Problem die Ebene ist, die ich zu schneiden versuche (Input-Features) - Ich erhalte beim Ausführen des Clip-Tools immer wieder den gleichen Fehler:


Fehler 999999: Fehler beim Ausführen der Funktion Ungültige Topologie [Topoengine
Error]


Das Clip-Tool hat vorher gut funktioniert. Nachdem ich ähnliche Online-Abfragen zu diesem Fehler gelesen hatte, bestand die Lösung in den meisten Fällen darin, die Eingabe-Features in ein Shapefile zu ändern - ich habe dies getan, erhalte jedoch den gleichen Fehler.

Was ist meine beste Lösung für dieses Problem?

Sehr oft sind diese Fehler auf Projektionsprobleme zurückzuführen.

Denken Sie daran, die Erweiterung der Datei hinzuzufügen, zum Beispiel *.tif

– Herman Booysen
14. September '17 um 8:43

Ich bekomme diesen Fehler die ganze Zeit und normalerweise haben die oben genannten Tricks bei mir funktioniert. Aber heute hat aus irgendeinem Grund keiner dieser Tricks funktioniert. Ich war bereit, mir die Haare auszureißen, aber dann habe ich versucht, die Toleranz zu verdoppeln und das hat funktioniert.

Die Ebene, die als Clip-Features verwendet wird, wurde zuvor verwendet und funktionierte einwandfrei, daher gehe ich davon aus, dass das Problem die Ebene ist, die ich zu schneiden versuche (Input-Features) - Ich erhalte beim Ausführen des Clip-Tools immer wieder den gleichen Fehler:


Fehler 999999: Fehler beim Ausführen der Funktion Ungültige Topologie [Topoengine
Error]


Das Clip-Tool hat vorher gut funktioniert. Nachdem ich ähnliche Online-Abfragen zu diesem Fehler gelesen hatte, bestand die Lösung in den meisten Fällen darin, die Eingabe-Features in ein Shapefile zu ändern - ich habe dies getan, erhalte jedoch den gleichen Fehler.

Was ist meine beste Lösung für dieses Problem?

Sehr oft sind diese Fehler auf Projektionsprobleme zurückzuführen.

Denken Sie daran, die Erweiterung der Datei hinzuzufügen, zum Beispiel *.tif

– Herman Booysen
14. September '17 um 8:43

Ich bekomme diesen Fehler die ganze Zeit und normalerweise haben die oben genannten Tricks bei mir funktioniert. Aber heute hat aus irgendeinem Grund keiner dieser Tricks funktioniert. Ich war bereit, mir die Haare auszureißen, aber dann habe ich versucht, die Toleranz zu verdoppeln und das hat funktioniert.

Die Ebene, die als Clip-Features verwendet wird, wurde zuvor verwendet und funktionierte einwandfrei, daher gehe ich davon aus, dass das Problem die Ebene ist, die ich zu schneiden versuche (Input-Features) - Ich erhalte beim Ausführen des Clip-Tools immer wieder den gleichen Fehler:


Fehler 999999: Fehler beim Ausführen der Funktion Ungültige Topologie [Topoengine
Error]


Das Clip-Tool hat vorher gut funktioniert. Nachdem ich ähnliche Online-Abfragen zu diesem Fehler gelesen hatte, bestand die Lösung in den meisten Fällen darin, die Eingabe-Features in ein Shapefile zu ändern - ich habe dies getan, erhalte jedoch den gleichen Fehler.

Was ist meine beste Lösung für dieses Problem?

Die Ebene, die als Clip-Features verwendet wird, wurde zuvor verwendet und funktionierte einwandfrei, daher gehe ich davon aus, dass das Problem die Ebene ist, die ich zu schneiden versuche (Input-Features).


Fehler 999999: Fehler beim Ausführen der Funktion Ungültige Topologie [Topoengine
Error]


Das Clip-Tool hat vorher gut funktioniert. Nachdem ich ähnliche Online-Abfragen zu diesem Fehler gelesen hatte, bestand die Lösung in den meisten Fällen darin, die Eingabe-Features in ein Shapefile zu ändern - ich habe dies getan, erhalte jedoch den gleichen Fehler.

Was ist meine beste Lösung für dieses Problem?

Sehr oft sind diese Fehler auf Projektionsprobleme zurückzuführen.

Denken Sie daran, die Erweiterung der Datei hinzuzufügen, zum Beispiel *.tif

– Herman Booysen
14. September '17 um 8:43

Ich bekomme diesen Fehler die ganze Zeit und normalerweise haben die oben genannten Tricks bei mir funktioniert. Aber heute hat aus irgendeinem Grund keiner dieser Tricks funktioniert. Ich war bereit, mir die Haare auszureißen, aber dann habe ich versucht, die Toleranz zu verdoppeln und das hat funktioniert.

Sehr oft sind diese Fehler auf Projektionsprobleme zurückzuführen.

Denken Sie daran, die Erweiterung der Datei hinzuzufügen, zum Beispiel *.tif

– Herman Booysen
14. September '17 um 8:43

Ich bekomme diesen Fehler die ganze Zeit und normalerweise haben die oben genannten Tricks bei mir funktioniert. Aber heute hat aus irgendeinem Grund keiner dieser Tricks funktioniert. Ich war bereit, mir die Haare auszureißen, aber dann habe ich versucht, die Toleranz zu verdoppeln und das hat funktioniert.

Sehr oft sind diese Fehler auf Projektionsprobleme zurückzuführen.

Sehr oft sind diese Fehler auf Projektionsprobleme zurückzuführen.

Denken Sie daran, die Erweiterung der Datei hinzuzufügen, zum Beispiel *.tif

– Herman Booysen
14. September '17 um 8:43

Denken Sie daran, die Erweiterung der Datei hinzuzufügen, zum Beispiel *.tif

– Herman Booysen
14. September '17 um 8:43

Ich bekomme diesen Fehler die ganze Zeit und normalerweise haben die oben genannten Tricks bei mir funktioniert. Aber heute hat aus irgendeinem Grund keiner dieser Tricks funktioniert. Ich war bereit, mir die Haare auszureißen, aber dann habe ich versucht, die Toleranz zu verdoppeln und das hat funktioniert.

Ich bekomme diesen Fehler die ganze Zeit und normalerweise haben die oben genannten Tricks bei mir funktioniert. Aber heute hat aus irgendeinem Grund keiner dieser Tricks funktioniert. Ich war bereit, mir die Haare auszureißen, aber dann habe ich versucht, die Toleranz zu verdoppeln und das hat funktioniert.


1 Antwort 1

Ein konvexes Polygon hat eine sehr schöne Eigenschaft:

Der kürzeste Pfad zwischen zwei beliebigen Punkten im Polygon oder irgendwo an seinen Kanten ist nur die gerade Linie zwischen diesen Punkten, und dieses Liniensegment liegt vollständig innerhalb des Polygons. Wenn Ihr Polygon also einen als hindernisfrei bekannten Abschnitt Ihres Levels darstellt, können Sie garantiert das Einfachste tun, direkt von Punkt zu Punkt gehen, und es wird funktionieren.

Bei einem konkaven Polygon ist dies nicht immer der Fall. Hier ist ein Beispiel:

Unser unerschrockener Navmesh-Agent wollte nur von einer Kante des Polygons zur anderen überqueren, aber der einfachste und kürzeste Weg führt außerhalb des Polygons - in potenziell unbekanntes Gebiet! Wir können nicht garantieren, dass dies ein sicherer Ort ist. Es könnte unpassierbare Hindernisse oder Gefahren oder teureres Gelände oder sogar bahnbrechende Pannen enthalten.

Wir können nicht sicher sein, ob es sicher ist, ohne andere Polygone im Netz zu konsultieren oder auf Nummer sicher zu gehen und einen längeren Pfad zu nehmen, der vollständig innerhalb des Polygons bleibt. Aber ein solcher Pfad könnte selbst schwer zu berechnen sein, wenn das Polygon viele dieser konkaven Kerben hat, um die wir herum navigieren müssen. All dies bedeutet zusätzlichen Rechenaufwand, den wir gerne vermeiden würden, wenn wir können.

Aber auf der positiven Seite kann jedes konkave Polygon immer in eine endliche Menge konvexer Polygone zerlegt werden, was uns zum einfachen Fall zurückbringt. Jetzt können wir nur noch eine Folge von Polygon-zu-Polygon-Sprung finden, die uns zu unserem Ziel führt, und innerhalb jedes Polygons einfach direkt von unserer Eingangskante zu unserer Ausgangskante navigieren, ohne Gefahr zu laufen, in unsicheres Gebiet zu geraten:

Auf diese Weise zahlen wir einen kleinen Aufpreis, wenn wir unser Navmesh einrichten, es in konvexe Teile aufteilen, wo immer wir eine konkave Ecke finden, und als Ergebnis einige zusätzliche Polygone speichern. Diese Investition zahlt sich jedes Mal aus, wenn wir eine Pfadfindungsabfrage durchführen, denn jetzt kann es einfach das Einfachste und Offensichtlichste tun und ein korrektes Arbeitsergebnis erhalten, ohne alle Spezialfälle zu behandeln, die konkave Polygone erfordern.


1 Antwort 1

Die Ausgangsspannung kann nur negativ werden, indem der Transistor seinen Strom reduziert und Strom vom 8-Ohm-Widerstand Re durch die Last fließen lässt. Aber dabei wird der Strom durch Re sinken

Wenn der Eingang bei etwa -4,5 V liegt, liegen etwa 4,5 V über Re und etwa -4,5 V über der Last an. An diesem Punkt fließt kein Emitterstrom durch den Transistor. Wenn die Basis weiter negativ wird, wirkt sich dies nicht auf die Ausgangsspannung aus, da der Transistorstrom bereits null ist und nicht negativ werden kann. Hier sehen Sie Clipping.

In positiver Richtung tritt kein Clipping auf, da der Transistor seinen Strom weiter erhöhen kann, wenn die Basis positiver wird, bis der Emitter die positive Versorgungsschiene erreicht.

Wenn Sie Re durch eine Stromquelle ersetzen, bleibt der Strom gleich, auch wenn die Spannung immer negativer wird, aber an dem Punkt, an dem der Strom durch den Transistor Null ist, tritt immer noch ein Clipping auf.

Um sicherzustellen, dass dies nicht auftritt, muss die Stromquelle groß genug sein, um die beabsichtigte Spannung an der Last aufrechtzuerhalten (z. B. wenn Sie +/- 8 V ​​an der Last erhalten möchten, muss die Stromquelle mindestens 2 Ampere = 8/Re betragen).

Der normale Weg, um sowohl einen negativen als auch einen positiven Hub zu erreichen, besteht darin, einen zweiten Transistor hinzuzufügen, der so angeordnet ist, dass er das Signal negativ steuert (zB ein PNP-Transistor-Emitterfolger). Re ist dann nicht erforderlich.

Die meisten Designs spannen die Transistoren so vor, dass sie bei Nulleingang nur leicht leitend sind, um eine sogenannte Klasse-B-Ausgangsstufe zu erzeugen (genauer gesagt ist es Klasse AB).

Klasse B/AB hat zudem den großen Vorteil, dass sie viel effizienter ist und einen deutlich geringeren Ruhestrom hat.

Der beste Wirkungsgrad für eine ohmsch belastete Endstufe liegt, wie Sie gezeigt haben, im Bereich von 12-15%, während eine Klasse AB bis zu . betragen kann


Raster nach Maskenebene beschneiden liefert unterschiedliche Ergebnisse in verschiedenen Versionen #34929

tl: dr ist es möglich, dass neuere Versionen von "Raster nach Maske extrahieren" etwas anders extrahieren als frühere Versionen (ich habe 3.2, 3.10 und 3.12) überprüft?

Beim Erstellen einer Lego-Karte in 3.2, 3.10 und 3.12 (ich hatte Workshops, also hatte jeder unterschiedliche Versionen, ich benutze 3.2 90% der Zeit) stellte ich fest, dass 3.10 und 3.12 unterschiedliche Ergebnisse lieferten, obwohl ich die Karte unter neu erstellt hatte mindestens dreimal mit jeder Version (und auf verschiedenen Computern). Die erste Diskrepanz habe ich auf die Ebene zurückverfolgt, die nach der Verwendung von "Raster nach Maske extrahieren" erstellt wurde. Die Ausdehnung der Ebene ist leicht unterschiedlich, aber nach dem Hinzufügen des Rasters und der Verwendung des zonalen Statistikalgorithmus (Mittelwert) ist der Maximalwert zwischen diesen Versionen RIESIG.

  1. Ich dachte, dass der zonale Statistikalgorithmus in 3.10/3.12 vielleicht anders funktioniert, aber ich habe die Daten ausprobiert, die ich mit 3.2 erstellt habe, und es hat gut funktioniert (obwohl er 0s anstelle von Nullen hinzufügt, hmm)
  2. Ich dachte, vielleicht wären die Koordinaten anders, aber alles war in Ordnung
  3. wie Sie im pdf sehen werden, haben für Version 3.2 das beschnittene Raster und die verwendete Maske die gleichen Ausdehnungen, aber das ist bei 3.12 nicht der Fall (obwohl ich es auch überprüft habe)

So reproduzieren Sie

Ich habe 5x5 Kacheln verwendet, die Polen von srtm.csi.cgiar.org abdecken (es gibt 5 Kacheln für alle Fälle) (es sind über 600 MB, also habe ich sie hier nicht hinzugefügt)

die shp für verwaltungsregionen ist hier
woiwodschaften.zip

Ich habe ein PDF mit allen Schritten für 3.2 und 3.12 erstellt
Bericht.pdf

QGIS- und OS-Versionen

Ich habe ungefähr eine Woche gebraucht, um sicherzustellen, dass es nicht nur meine Schuld oder Schlamperei ist, ich hoffe, das wird schnell gelöst :)

Der Text wurde erfolgreich aktualisiert, aber diese Fehler sind aufgetreten:

Wir können die Aufgabe derzeit nicht in ein Problem umwandeln. Bitte versuche es erneut.

Das Problem wurde erfolgreich erstellt, aber wir können den Kommentar derzeit nicht aktualisieren.


Verbessern von Bevölkerungsdichtekarten mit Dasymetrischen Mapping M

Gestern habe ich meinen Prozess beschrieben, eine grundlegende Karte der Bevölkerungsdichte aus den Open-Government-Daten der Stadt Wien zu generieren. Am Ende dieses Beitrags habe ich einige Ideen zur weiteren Verbesserung beschrieben. Heute möchte ich diese Ideen mit dem so genannten weiterverfolgen dasymetrische Mapping. GIS Dictionary definiert es gut (viel besser als Wikipedia):

Dasymetrische Mapping ist eine Technik, bei der Attributdaten, die durch eine große oder willkürliche Flächeneinheit organisiert sind, innerhalb dieser Einheit durch die Überlagerung von geografischen Grenzen, die das fragliche Attribut ausschließen, einschränken oder einschränken, genauer verteilt werden.
Ein nach Zählbezirk geordnetes Bevölkerungsattribut kann beispielsweise durch die Überlagerung von Wasserkörpern, unbebauten Flächen und anderen Landnutzungsgrenzen, innerhalb derer vernünftigerweise davon ausgegangen werden kann, dass Menschen nicht leben, genauer verteilt werden.

Genau das möchte ich tun: Auf Basis von Unterbezirken mit Bevölkerungsdichtewerten und Hilfsdaten – Corine Land Cover um genau zu sein – möchte ich eine verbesserte Darstellung der Bevölkerungsdichte innerhalb der Stadt schaffen.

Dies ist die Karte der Bevölkerungsdichte, mit der ich beginne:

… und dies ist der Corine-Landbedeckungs-Datensatz für dasselbe Gebiet:

Es zeigt bebaute Gebiete (rot), Parks und Naturgebiete (grün) sowie wasserbedeckte Gebiete (blau). Für die weitere Analyse verfolge ich die Annahme, dass Menschen nur in Gebieten mit den Corine-Codes 111 “kontinuierliches Stadtgefüge” und 112 “diskontinuierliches städtisches Gefüge” leben. Daher verwende ich das Schnittwerkzeug, um nur diese Wohngebiete aus den Unterbezirkspolygonen auszuschneiden. Die Bevölkerung des Unterbezirks kann nun auf diese neuen, kleineren Gebiete verteilt werden (verwenden Sie den Feldrechner), um eine realistischere Visualisierung der Bevölkerungsdichte zu erstellen:

Zum leichteren Vergleich habe ich die ursprüngliche Dichte und die dasymetrische Karte in eine Schleifenanimation eingefügt. Einige Unterbezirke ändern ihre Bevölkerungsdichte sehr drastisch, insbesondere in Regionen, in denen große Teile der Wasser- oder Schieneninfrastruktur entfernt wurden:

Corine Land Cover ist nicht allzu detailliert, aber ich denke, es ist in diesem Maßstab immer noch brauchbar. Zu beachten ist, dass ich Daten von 2006 mit Bevölkerungsdaten von 2012 verwendet habe, sodass einige Gebiete in den Außenbezirken inzwischen zu Wohngebieten geworden sind. Aber ich hoffe, das verzerrt das Gesamtbild nicht zu sehr.


Mdhntd

Warum ist die Materie-Antimaterie-Asymmetrie überraschend, wenn Asymmetrie durch einen Random Walk erzeugt werden kann, bei dem Teilchen in Schwarze Löcher eindringen?

Gibt es "Schach-Engine in der Cloud"-Dienste?

Was kann ich tun, um mögliche Anklagen wegen Bestechung zu vermeiden?

Wie kann ich das fortlaufende Nummerierungsschema beim Exportieren von Fotos anpassen?

Gibt es so etwas wie Plasma (vom Wiedereintritt), das Auftrieb erzeugt?

Mein erster zufälliger Passwortgenerator

Kann man befördert und dann aus wichtigem Grund entlassen werden? (Performance)

Ist es schlecht, während einer Präsentation die Hand in der Tasche zu haben?

Kann massiver Schaden Sie bei 0 HP töten?

Kann ich Umrah während eines saudi-arabischen Besuchs E-Visum durchführen?

Warum verschwinden frühere Versionen von Debian-Paketen in den Paket-Repositorys? (sehr relevant für die versionierte Systemkonfiguration)

Hat "Op. cit." für "opus citatum" oder "opere citato" stehen?

Wie viel Geld sollte ich sparen, um für den Rest meines Lebens 1000 US-Dollar pro Monat zu verdienen?

Testen Sie, ob zwei Lebensmittel gleich sind

Zusammenhang zwischen Signalverarbeitung und Steuerungstechnik?

Werden elektromagnetische Wellen nur durch beschleunigende Ladungen verursacht?

grep-Paare von Mustern und Datei

Was bestimmt die Höchstgeschwindigkeit beim Eislaufen?

Hat die Creighton-Methode der natürlichen Familienplanung eine Misserfolgsrate von 3,2% oder weniger?

Wie macht man "Geduldsakte" spannend?

Ist das Schlafen auf dem Boden bei kaltem Wetter besser als auf einer Luftmatratze?

Unbekanntes CRS definieren und in WGS84 ändern

Das Schneiden von zwei Shapefiles in Python, das nur OGR verwendet, führt zu einem Fehler Segmentierungsfehler (Core-Dump)


Zu den Feedback-Kommentaren gehörten:

Februar 2020 (ONLINE)

"Danke für Ihre Hilfe, es war sehr nützlich" (Berater)

"Videos haben es sehr einfach gemacht" (Berater)

"Video wird sehr klar erklärt" (Berater)

"Ich fand den Tag unglaublich nützlich. Als Benutzer von ArcGIS hatte ich keine Ahnung, wie ich ein QGIS-Projekt starten sollte, aber jetzt bin ich zuversichtlich, dies zu tun. Jetzt habe ich ein echtes Bewusstsein dafür, wie mächtig die Software sein kann." (Berater)

"Branchengerechte Beispiele und gute Gliederung in die Praxis" (Berater)

Februar 2019

"Hilfe und Rat, wenn Sie nicht weiterkommen - würde das nicht bekommen, wenn Sie es sich selbst beibringen würden" (Berater)

"Umfangreicher Kursinhalt, Präsentation und Zugänglichkeit des Kursleiters" (Universität Postdoc)

»Hilfe, wenn nötig. In kurzer Zeit viel gelernt" (Berater)

"Gute Einführung in QGIS" (Berater)

"Ausgezeichneter Kurs, sehr praktisch und praxisnah - der beste Weg, diese Art von Software zu erlernen. Sehr nützlicher Kurs." (Berater)

"Gute Einführung in die Verwendung von QGIS für kontaminiertes Land. Sehr gründliches Notizpaket" (Berater)

"Gut, die Arbeit auf eigenen Laptops zu übernehmen - könnte also zu einem späteren Zeitpunkt mit dem Kurs fortgesetzt werden. Tagsüber viel zu tun!" (Berater)

"Ausgearbeitete Beispiele und interaktiver Aspekt waren die besten Aspekte" (Gemeindebehörde)

"Viele Hilfe bei Bedarf" (Berater)

November 2017

"Wirklich gute praktische Ausbildung - viel besser als das Handbuch. Gut, um einen spezifischen Überblick über kontaminiertes Land zu erhalten, wie QGIS die Datenanalyse und die Präsentation verbessern kann" (Berater)

"Strukturierte Beispiele, die gut gestaltet wurden" (Berater)

"Sehr hilfreicher Ausbilder" (Berater)

"Detailgrad war sehr hoch" (Berater)

"Gut, es war viel Zeit für die Praxis" (Berater)

"Gute Gesamteinführung" (Berater)

"Gut, die Software während des Lernens bedienen zu können" (Berater)

"Guter Kurs und gute Softwarekenntnisse" (Berater)

"Gute Notizen, um nach Hause zu gehen" (Lokalbehörde)

"Praktischer Kurs, sehr passend zu meinem Beruf. Ausgezeichnetes Demomaterial" (Berater)

"Dies war praktisch & direkt relevant für die Verwendung von Daten für praktische Anwendungen von kontaminiertem Land" (Lokale Behörde)

"Ich hätte mir mehr Zeit zum Üben gewünscht, aber die Kursnotizen sind gut geschrieben, also kann ich sie im Büro fortsetzen!" (Gemeindebehörde)


The Great Escape – 3D Fantasy Map Tutorial

Die COVID-19-Sperre hat eine Fülle von Online-Weiterbildungsmöglichkeiten mit sich gebracht – eine willkommene Flucht vor den Schrecken, die durch das neuartige Coronavirus verursacht werden (oder durch das Hausarrest- und Social Distancing-Regime selbst, wenn Sie meiner Ansicht zustimmen). Am 29. April organisierte der Kartograph Daniel P. Huffman aus Madison, Wisconsin, “How to do Map Stuff: A Live Community Sharing Event” mit virtuellen Workshops, die von Freiwilligen aus der ganzen Welt angeboten wurden, siehe https://somethingaboutmaps.wordpress. com/2020/03/19/how-to-do-map-stuff/.

Neben mehreren interessanten Präsentationen hörte ich dem in Minnesota ansässigen Kartographen Ross Thorn zu, der den Prozess der “Erstellung einer interaktiven Fantasy-Karte” mit QGIS und MapBox durchlief. Die Aufzeichnung wird jetzt auf Youtube unter https://www.youtube.com/watch?v=2nmLibB3lGs gepostet (beginnt um Minute 9:30). Anstatt eine Reihe von Inseln von Grund auf neu zu erstellen, „überflutet“ Ross ein digitales Höhenmodell (DEM), sodass Berge oder Hügel zu Inseln werden, während niedrigere Höhen in offenes Meer umgewandelt werden. Der Rest dieses Tutorials konzentriert sich auf die Vektorisierung die Inselgrenzen und das Hinzufügen von Landnutzungspolygonen sowie Siedlungsstandorten mit angehängten Informationen.

Während der Live-Session am 29. April fragte ein Chat-Teilnehmer, ob die ursprünglichen Erhebungen als Gelände auf den Inseln erhalten werden könnten. In diesem Beitrag möchte ich zeigen, wie dies möglich ist und wie das Ergebnis zu einer interaktiven 3D-Karte innerhalb der QGIS- und Web-Umgebung wird. Ich verwende QGIS 3.4.12 und QGIS 3.10 mit dem Qgis2threejs-Plugin. Das Plugin wird auf meinem Windows 8.1 Office-Computer nicht korrekt installiert, daher wird der zweite Teil dieses Beitrags mit den neueren Windows- und QGIS-Versionen auf meinem Laptop abgeschlossen. Außerdem ist dies sicherlich nicht das erste Mal, dass jemand eine 3D-Fantasy-Karte erstellt hat, noch die einzige Möglichkeit, dies zu tun, es ist zufällig das erste Mal, dass ich motiviert war, dies selbst mit einem meiner GIS-Tools auszuprobieren I vertraut mit.

Um mit dem in Ross Thorns Tutorial beschriebenen Prozess zu beginnen, habe ich den südlichen Teil der Provinz-DEM von Ontario von https://geohub.lio.gov.on.ca/datasets/mnrf::provincial-digital-elevation-model . heruntergeladen -pdem. Achtung: Diese Datei ist knapp 2 GB groß! Sie können wahrscheinlich kleinere DEMs von Ihrer lokalen oder regionalen Regierung finden, die genauso gut verwendet werden können, oder mit den Daten arbeiten, die Ross verwendet hat.

Die obigen Screenshots zeigen das in QGIS angezeigte PDEM mit dem standardmäßigen Schwarz-Weiß-Gradienten für zunehmende Höhen. Das Niagara Escarpment ist im Süden neben der Greater Toronto Area sichtbar, während die restlichen Höhenlagen alle Teil des Canadian Shield sind. Ich zoomte in ein Gebiet westlich des Lake Temiskaming nahe der östlichen Grenze von Ontario zu Quebec.

Ein weiterer Zoom ergab ein Gebiet mit mehreren deutlichen Gipfeln über 500 m Höhe. Oben ist auch der Symbologie-Dialog zur Unterscheidung von Pixeln nach Höhe über und unter 500 m und die resultierenden “Inseln” zu sehen. Mit der Menüfolge Raster | Extraktion | Clip-Raster nach Umfang | Canvas-Ausdehnung verwenden | In Datei “PDEM_Escape.tif” speichern. Ich habe das provinzweite DEM auf den angezeigten Bereich zugeschnitten. Ich habe die neue Ebene umbenannt und mit Kopieren und Einfügen denselben blau-roten Stil von PDEM_South angewendet.

Unter Layer-Eigenschaften können Sie ein Histogramm der Raster-Rasterwerte anzeigen. Der obige Screenshot ist auf Werte über 500 m gezoomt, um ein Gefühl für ihre Häufigkeitsverteilung zu bekommen. Ich wusste nicht, was ich erwarten sollte, aber der schnelle Rückgang der höheren Höhe macht sicherlich Sinn.

Wir verwenden nun Raster | Rasterrechner für den wichtigsten “Beitrag” dieses Beitrags. In seinem Tutorial hat Ross die folgende Formel verwendet, um Zellen mit einer Höhe unterhalb der Schwelle (hier: 500 m) auf Null (= Wasser) und Zellen über der Schwelle auf eins (= Land) zu setzen:

Hier wollen wir die höheren Erhebungen nicht auf einen kategorialen Wert verdichten, der Land repräsentiert, sondern sie als Landhöhen über dem neuen “Meeresspiegel” von 0 belassen. Dies erreichen wir durch Multiplizieren der im zweiten Term des selected gewählten Werte Summe durch den ursprünglichen Höhenwert, von dem wir den Schwellenwert subtrahieren. Während also Werte bis 500 m in 0 m umgewandelt werden, wird der Wert von 501 m in 1 m umgewandelt (= 501 m – 500 m) und so weiter:

Nachdem ich den Rest des Tutorials abgeschlossen hatte, stellte ich fest, dass die Konfiguration der Höhen meines Gebiets keine ausreichende Geländevariation ergab. Ich bin zum aktuellen Schritt zurückgekehrt, um einen vertikalen Übertreibungsfaktor von 5 einzuführen. Daher lautet die endgültige Rasterberechnung wie folgt:

Der folgende Screenshot zeigt ein Farbschema, das ich für die Symbologie-Eigenschaft des neuen Layers LDEM_Escape5 erstellt habe, um auf die verschiedenen Landbedeckungsklassen hinzuweisen, die mit zunehmenden Höhen verbunden sein können, d. h. Wasser, Küstensand, Grasland, Wälder und nackter Fels. Eine weitere wichtige Änderung, die ich hier vorgenommen habe, befindet sich unter Projekt | Eigenschaften | CRS-Registerkarte, auf der Sie “WGS 84 / Pseudo-Mercator” (EPSG:3857) suchen und einstellen möchten, um die Karteneinheiten auf Meter statt auf Grad einzustellen (falls dies zuvor der Fall war).

Für die 3D-Version unserer Fantasy-Welt verwenden wir hauptsächlich den Raster-Dataset. Wir werden jedoch auch die Anweisungen aus Ross Thorns Tutorial vervollständigen, um einen Vektordatensatz mit den Küsten unserer Inseln zu erstellen. Die Befehlsfolge Raster | Konvertierung | Polygonisieren (Raster zu Vektor) verwandelt die Rasterzellen des Raster-Layers in quadratische Polygone. Leider führen Zellen mit unterschiedlichen Höhenwerten auf den Inseln zu separaten Polygonen, wie im ersten der folgenden Screenshots gezeigt (ich habe geklickt, um das große Wasserpolygon sowie einige kleine Quadrate im Landesinneren zur Veranschaulichung auszuwählen und hervorzuheben). Ross hatte dieses Problem nicht, da alle seine Landpixel den gleichen Wert von 1 hatten und für jede Insel zusammenhängende Polygone bildeten. Dies erreichen wir mit der Befehlsfolge Vector | Geoverarbeitungswerkzeuge | Sich auflösen. Dies erzeugt die im zweiten Screenshot gezeigte Situation, bei der alle Landpixel kombiniert und das Wasserpolygon entfernt wurden. Allerdings werden jetzt alle Inseln zu einem mehrteiligen Polygon zusammengefasst (ich habe geklickt, um nur eine Insel auszuwählen, was zur Hervorhebung aller Landflächen führt, da sie Teil dieses mehrteiligen Features sind). Wir verwenden jetzt Vector | Geometriewerkzeuge | Multipart zu Singleparts, um die Landmasse in unabhängige Einheiten aufzuteilen, wie im dritten Screenshot gezeigt, wo eine kleine Insel im Nordwesten hervorgehoben ist, ohne auch die restlichen Inseln auszuwählen. Nach Anpassung der Symbologie und Projekthintergrundfarbe und dem Hinzufügen eines Textfeldes mit einigen Inselnamen zur Beschriftung erreichen wir den im vierten Screenshot unten gezeigten Status.

Unsere letzten Schritte in QGIS beinhalten, die Inselpolygonfüllung transparent zu machen und ihren Rändern eine Sandfarbe zu geben. Für die Inselbeschriftung habe ich die drei Inseln ausgewählt, denen tatsächlich ein Name zugewiesen wurde und mit der rechten Maustaste auf den Layernamen geklickt | Exportieren | Ausgewählte Features speichern, um einen neuen Shapefile-Layer mit nur diesen drei Inseln zu erstellen, andernfalls würde es viele NULL-Beschriftungen geben (nicht in QGIS, sondern im 3D-Export). Ich habe auch zwei neue Punktebenen gemäß Ross’-Video erstellt: eine für benannte Städte und eine andere für einen Berggipfel. Labels werden unter den Eigenschaften jeder Ebene aktiviert und ich verwende “buffers” in den Labeloptionen, um den Labeltext besser sichtbar zu machen. Das Endergebnis ist im folgenden Screenshot dargestellt.

An dieser Stelle beginnen wir mit der Arbeit mit dem Qgis2threejs-Plugin, das unsere 2D-Karte in eine interaktive 3D-Szene umwandelt, die ins Web exportiert werden kann. Wie oben erwähnt, musste ich das Projekt mit QGIS 3.10 auf meinen Windows 10-Laptop migrieren. Um das Qgis2threejs-Plugin zu finden, gehen Sie zu Plugins | Verwalten und installieren Sie Plugins und lassen Sie das System die neuesten Plugins abrufen. Geben Sie im Suchfeld “threejs” ein, um das Plugin zu finden und zu installieren. Wenn alles gut geht, sollten Sie im Menü “Web” einen neuen Eintrag haben und von dort aus den “Exporter” ausführen können. Das Werkzeug wird mit allen Projektebenen geöffnet, die zur Anzeige und Anpassung verfügbar sind.

Aktivieren Sie den (vertikal übertriebenen) Island-Terrain-Layer (LDEM_Escape5) und klicken Sie mit der rechten Maustaste für Eigenschaften. Ich habe “Surrounding blocks” aktiviert, um die Meere über den Kartenbereich hinaus zu erweitern, und “Building pages” deaktiviert, sodass der Wasserstand eine Ebene und kein Block ist. Die Standardmaterialeinstellung zum Anzeigen von “Karten-Leinwandbild” drapiert die 2D-Karte von QGIS über dem Höhenmodell. Während wir dies für das topografische Farbschema wünschen, funktioniert es nicht für die Points of Interest und Beschriftungen, die wir eher in 3D-Objekte umwandeln. Das QGIS-Fenster unter dem Plugin-Fenster ist weiterhin aktiv und wir deaktivieren daher die Sichtbarkeit der Orts-, Berg- und Inselnamen-Layer (siehe Hintergrund / linke Seite des folgenden Screenshots).

So sehen wir zum Beispiel, dass der Places-Layer im QGIS-Projekt-/Karten-Canvas deaktiviert, aber im Qgis2threejs-Explorer aktiviert ist. In den entsprechenden 3D-Layer-Eigenschaften setzen wir das Objekt für Städte auf eine Box mit der Größe 400m x 400m x 100m (vorausgesetzt, Sie legen ein Koordinatenbezugssystem mit Meter als Karteneinheit fest, wie oben beschrieben). Unter “Features” hätte ich “All features” aktivieren sollen, um sicherzustellen, dass Punkte, die nicht in der aktuellen QGIS-Kartenausdehnung enthalten sind, weiterhin exportiert werden. Schließlich werden durch Aktivieren von “Attribute exportieren” die 3D-“airborne”-Labels in einer festgelegten Höhe erstellt, die Sie in der Szene sehen können. All dies geschieht für die Städte, Inselbeschriftungen (nur Namen sind sichtbar, Küstenlinien dieser Ebene bleiben unsichtbar, kommen aber von der anderen Inselpolygonebene) und den Berggipfel (auch kein Objektsymbol, nur der Name/die Beschriftung).

Unter Datei | Export-Einstellungen haben Sie die Möglichkeit, die Qgsi2threejs-Einstellungen zu speichern, wenn Sie Ihre Sitzung schließen und laden müssen, um sie wiederherzustellen.


"kein räumlicher Index für Eingabeschicht, Leistung wird stark beeinträchtigt" Fehler?

Wenn ich eine Clip-Funktion ausführe, erhalte ich die obige Fehlermeldung. Wenn ich in den Eigenschaften der Ebene zum Abschnitt "Quelle" gelangt bin, ist die Schaltfläche "Raumindex" ausgegraut. Wie erstellt man einen räumlichen Index und warum ist er notwendig?

Edit: Danke, alles sehr hilfreich!

Jedes Mal, wenn ich diesen Fehler gesehen habe, wurde der Prozess sowieso immer fast sofort ausgeführt, sodass ich mir keine allzu großen Sorgen machen würde.

Es ist nicht wirklich ein Fehler (in diesem Fall würde der Prozess abgebrochen), eher eine Warnung/Benachrichtigung.

Informieren Sie sich bei Interesse in den PostGIS-Workshops über die räumliche Indexierung.

Bearbeiten: Eine Möglichkeit, einen räumlichen Index für einen Layer zu erstellen, besteht darin, das Werkzeug "Räumlicher Index erstellen" im Abschnitt "Vektor allgemein" der Verarbeitungs-Toolbox zu verwenden.


Schau das Video: ArcGIS - Clip raster with polygon and Extract raster by Mask (Oktober 2021).