Mehr

Wie kann ich JSON in GRASS laden?


Ich habe Niederschlagsdaten im JSON-Format erhalten. Ich möchte die Daten in GRASS laden.

JSON-Beispielausgabe:

{"50.922759,-90.089954":{"current_conditions":{"air_temp":{"unit":"F","value":37.0},"cloud_cover":{"unit":"%","value" :100.0},"descriptors":{"cloud_cover_descriptor":{"code":20500, "text":"Wolkig"},"precipitation_descriptor":{"code":10500, "visibility_obstruction_descriptor":{"code":10500 ,"text":"Keine"},"weather_descriptor":{"code":20500,"wind_direction_descriptor":{"code":52200,"text":"Variable"}},"dew_point":{"unit" :"F","value":34.0},"ice_acc_last_hour":{"unit":"n/a","value":"n/a"},"liquid_acc_last_hour":{"unit":"n/ a","value":"n/a"},"msl_pressure":{"unit":"mb","value":1024.0},"precip_acc_last_hour":{"unit":"n/a"," value":"n/a"},"relative_humidity":{"unit":"%","value":88.0},"snow_acc_last_hour":{"unit":"n/a","value":" n/a"},"station_pressure":{"unit":"mb","value":977.0},"u_wind_speed":{"unit":"mph","value":1.9},"v_wind_speed": {"unit":"mph","value":3.0},"valid_time_end":1412048400.0,"valid_time_start":1412044800.0,"visibility":{"unit":"mi","value":10.0},"wind_direction ":{"unit":"Grad", "value":213.0},"wind_speed":{"unit":"mph","value":3.0}}}}


Leider ist dies ein benutzerdefiniertes JSON-Format (und nicht GeoJSON), daher sehe ich keine andere Option, als diese Daten neu zu formatieren, was etwas Codierung erfordert:

  • Sie können es neu formatieren, um GeoJSON (oder ein anderes Format, das von OGR gelesen werden kann) zu entsprechen und v.in.ogr zu verwenden.
  • Oder Sie können es in das GRASS-ASCII-Format umformatieren und die Punktdaten mit v.in.ascii importieren, siehe Beispiel 3.

Wie kann ich JSON in GRASS laden? - Geografisches Informationssystem

Rohstofflizenz: BSD 3-Klausel

Zusammenfassung: Unterstützungssystem für die Analyse von geografischen Ressourcen

GRASS GIS, allgemein als GRASS (Geographic Resources Analysis Support System) bezeichnet, ist eine kostenlose und quelloffene Softwaresuite für das Geoinformationssystem (GIS), die für Geodatenmanagement und -analyse, Bildverarbeitung, Grafik- und Kartenerstellung, räumliche Modellierung und Visualisierung.

Das Installieren von Gras aus dem Conda-Forge-Kanal kann erreicht werden, indem Sie Conda-Forge zu Ihren Kanälen hinzufügen mit:

Sobald der Conda-Forge-Kanal aktiviert wurde, kann Gras installiert werden mit:

Es ist möglich, alle auf Ihrer Plattform verfügbaren Grasversionen aufzulisten mit:

conda-forge ist ein von der Community geführter Conda-Kanal mit installierbaren Paketen. Um qualitativ hochwertige Builds bereitzustellen, wurde der Prozess in die conda-forge GitHub-Organisation automatisiert. Die conda-forge-Organisation enthält ein Repository für jedes der installierbaren Pakete. Ein solches Repository ist als a . bekannt Rohstoff.

Ein Feedstock besteht aus einem Conda-Rezept (der Anleitung, was und wie das Paket zu bauen ist) und den notwendigen Konfigurationen für das automatische Erstellen mit frei verfügbaren Continuous Integration Services. Dank des großartigen Dienstes von CircleCI, AppVeyor und TravisCI ist es möglich, installierbare Pakete zu erstellen und in den Anaconda-Cloud-Kanal von conda-forge für Linux, Windows bzw. OSX hochzuladen.

Um die kontinuierliche Integration zu verwalten und die Wartung der Rohstoffe zu vereinfachen, wurde conda-smithy entwickelt. Mit der conda-forge.yml in diesem Repository ist es möglich, alle unterstützenden Dateien dieses Feedstocks (z. B. die CI-Konfigurationsdateien) mit conda smithy rerender neu zu rendern.

Weitere Informationen finden Sie in der conda-forge-Dokumentation.

Rohstoff - das Conda-Rezept (Rohmaterial), unterstützende Skripte und CI-Konfiguration.

Conda-Schmiede - das Werkzeug, das hilft, den Rohstoff zu orchestrieren. Seine primäre Verwendung liegt in der Erstellung der CI-.yml-Dateien und vereinfacht die Verwaltung von viele Rohstoffe.

Conda-Schmiede - der Ort, an dem der Rohstoff und die Schmiede leben und arbeiten, um den fertigen Artikel herzustellen (gebaute Conda-Verteilungen)

Wenn Sie das Grasrezept verbessern oder eine neue Paketversion erstellen möchten, teilen Sie dieses Repository bitte mit und reichen Sie eine PR ein. Nach der Einreichung werden Ihre Änderungen auf den entsprechenden Plattformen ausgeführt, um dem Prüfer die Möglichkeit zu geben, zu bestätigen, dass die Änderungen zu einem erfolgreichen Build führen. Nach der Zusammenführung wird das Rezept neu erstellt und automatisch in den Conda-Forge-Kanal hochgeladen, woraufhin die erstellten Conda-Pakete für jeden verfügbar sind, um sie im Conda-Forge-Kanal zu installieren und zu verwenden. Beachten Sie, dass alle Branches im conda-forge/grass-feedstock sofort erstellt und alle erstellten Pakete hochgeladen werden, daher sollten PRs auf Branches in Forks basieren und Branches im Haupt-Repository nur verwendet werden, um unterschiedliche Paketversionen zu erstellen.


2. Methodik

Die PyGRASS-Bibliothek ist in Python geschrieben und verwendet Module aus der Python-Standardbibliothek [15] wie: sys , fnmatch , collections , sqlite3 sowie aus der Python-Bibliothek eines Drittanbieters NumPy [16]. NumPy ist ein Paket für wissenschaftliches Rechnen. Es ist bereits eine Abhängigkeit von GRASS. Eine optionale Bibliothek ist psycopg2 [17], die verwendet wird, um die Handhabung der PyGRASS-Vektorattribute mit der PostgreSQL-Datenbank zu verbinden.

Konsistenz —die Bibliothek muss sich an Normen und Architekturen halten, die sowohl in Python als auch in GRASS üblich sind, um Verwirrung für Benutzer zu vermeiden, die nur mit einer der oben genannten Methoden vertraut sind

Einfachheit —die Bibliothek muss einfach und intuitiv sein, ohne den Zugriff auf die untergeordneten Funktionen zu verbergen, und in der Tat eine nahtlose Benutzererfahrung zwischen der niedrigen C-API von GRASS und einem objektorientierten Python-Ansatz auf höherer Ebene bieten

Flexibilität —die Bibliothek muss flexibel sein, sowohl die Verwendung vorhandener GRASS-Module ermöglichen als auch jedem Benutzer die Freiheit geben, seine eigene Logik zu implementieren, indem er detailliertere und feiner abgestimmte Programmierwerkzeuge verwendet

Leistung – die Bibliothek muss schnell sein, sowohl unter Berücksichtigung der Entwicklungs- als auch der CPU-Zeit. GRASS C API-Funktionen werden von PyGRASS jedes Mal, wenn dies möglich ist, intensiv genutzt.

Die Bibliothek ist in zwei Teile gegliedert: Der erste bezieht sich mehr auf die Skriptaktivität und die GRASS-Module, der zweite konzentriert sich auf die Programmieraspekte und die C-API von GRASS.

Um die bestehende Skript-API von GRASS zu verbessern, betrachtet PyGRASS jedes GRASS-Modul als ein Objekt mit Eingabeparametern, Ausgabeparametern und Flags. Wenn das Objekt „instanziiert“ ist, analysiert die Module-Klasse die von den GRASS-Modulen generierte XML-Schnittstellenbeschreibung durch das Flag –interface-description, um zu wissen, welche Parameter und Flags definiert sind. Für jeden Parameter werden die Metadaten analysiert. Die Metadaten geben an, ob ein Parameter erforderlich oder optional ist, ob es sich um eine Eingabe oder eine Ausgabe handelt, um welchen Typ es sich handelt (Raster, Vektor, Zeichenfolge, Float usw.) und vieles mehr. Anhand dieser Informationen kann die Klasse die Richtigkeit der Parameter überprüfen und die richtigen vorschlagen. Die Identifikation von Inputs und Outputs ermöglicht die Umsetzung von Prozessketten. Das Schnittstellendesign dieser Klasse wurde gewählt, um die Implementierung von lokalen und entfernten Prozessausführungsdiensten zu unterstützen, die in Zukunft hinzugefügt werden können. Um eine Schnittstelle zu einem Web Processing Service (WPS) zu implementieren, muss die Definition komplexer Eingaben, komplexer Ausgaben und Literale bekannt sein, um die XML-Ausführungsanforderung zu generieren. Das gleiche gilt für Dienste zur Remote-Prozessausführung, die auf WSDL/SOAP basieren. Die Module-Klasse stellt alle erforderlichen modulspezifischen Informationen per Design bereit.

Die aktuelle Python-Skript-API definiert mehrere Funktionen zur Verwaltung des GRASS-Moduls: Der make_command gibt eine Liste von Strings mit den Befehlsoptionen aus einem Wörterbuch mit Schlüsseln und Werten zurück. Der start_command ist eine GRASS-orientierte Schnittstelle zum Unterprozess. Popen (eine von der Python-Standardbibliothek bereitgestellte Modulprozesserstellung und -verwaltung), die intern die Funktion make_command verwendet. Alle anderen Befehlsfunktionen run/pipe/feed/read/write/parse sind spezialisierte Wrapper des start_command.

Die Module-Klasse von PyGRASS vereint all diese Eigenschaften in einem einzigen Objekt und verbindet direkt die Ein- und Ausgänge der GRASS-Module, siehe Listing 1 im Anhang.

Die PyGRASS-Modulklasse vereinfacht die Python-Syntax so weit wie möglich, um mit der POSIX-Modulschnittstelle wettbewerbsfähig zu sein. Es unterstützt die Abwärtskompatibilitätssyntax und verbessert die API, um ein Tool bereitzustellen, das die Benutzerfehler verwaltet und die Liste der gültigen Optionen zurückgibt. Darüber hinaus bietet die PyGRASS-Bibliothek die Möglichkeit, Text als Eingabe ( stdin ) an einen Befehl zu übergeben, die Textausgabe ( stdout ) und die Fehlermeldung ( stderr ) eines Befehls abzufangen. Schließlich ermöglicht PYGRASS den Benutzern, den Prozess zu verwalten (d. h. zu beenden, zu beenden, zu warten).

Die PyGRASS-Bibliothek führt eine objektorientierte (OO) Python-API in GRASS ein, die für jede GIS/GRASS-Entität eine oder mehrere Klassen implementiert. Die Klassen verwenden die C-Strukturen und -Funktionen über die vorhandene ctypes-Schnittstelle. Ctypes ist eine Python-Bibliothek, die C-kompatible Datentypen bereitstellt und das Aufrufen von Funktionen in DLLs oder Shared Libraries ermöglicht. Es kann verwendet werden, um diese Bibliotheken in reines Python zu umhüllen. Unsere Python-Schnittstelle auf höherer Ebene verwendet ctypes, um die zugrunde liegenden GRASS C-API-Strukturen und -Funktionen in ein objektorientiertes Framework zu integrieren, versucht aber gleichzeitig, den GRASS-Workflow und die Nomenklatur zu respektieren, um der C-API zu entsprechen. Die objektspezifischen ctypes-Zeiger auf die zugrundeliegenden C-Strukturen sind unter dem Attributnamen verfügbar, der mit c_ beginnt.*. Dadurch kann der Benutzer direkt über die ctypes-Schnittstelle auf die untergeordneten GRASS C-API-Strukturen zugreifen. Diese Klassen ermöglichen eine abstraktere Auseinandersetzung mit dem Problem. Ein objektorientierter Ansatz auf hoher Ebene kann Benutzern helfen, sich dem Problem zu stellen, auch wenn sie mit den Implementierungsdetails der C-API-Ebene nicht vertraut sind, wodurch die Design-, Schreib-, Prototyping- und Debugging-Phase beschleunigt wird.

Architektur der Bibliothek

module enthält die Klassen Module, MetaModule und Parameter. Diese Klassen sollen den bisherigen POSIX-basierten Scripting-Ansatz (siehe Listing 2) ersetzen und Teile der bestehenden Python-Script-API ersetzen (siehe Listing 3).

Die objektorientierte Architektur der PyGRASS-Bibliothek ermöglicht es Benutzern, mit GRASS-Modulen als Python-Objekte zu interagieren. Diese Objekte ermöglichen den direkten Zugriff auf Modulattribute wie: Name, Beschreibung und Schlüsselwörter. Die Ein- und Ausgabemöglichkeiten werden über eine dedizierte Parameterklasse implementiert. Instanzen dieser Klasse werden entweder in einem Eingabewörterbuch oder einem Ausgabewörterbuch innerhalb des Modulobjekts Listing 4 gespeichert. Ein- und Ausgaben können mit ihrem Namen in den Wörterbüchern oder als Attribute der Wörterbuchobjekte referenziert werden. Sie können zu Prozessketten miteinander verbunden werden, siehe Listing 1. Die Typprüfung der Parameterklasse stellt sicher, dass Ausgabeoptionen nur dann mit Eingabeoptionen unterschiedlicher Module verbunden werden können, wenn diese den gleichen Typ haben. Daher wird die PyGRASS-Modulbibliothek einen Fehler ausgeben, wenn der Ausgang eines Vektormoduls mit einem Rastereingang eines zweiten Moduls verbunden wurde.

Die PyGRASS-Modulbibliothek führt spezielle Parameter ein, um eine feinkörnige Kontrolle über die GRASS-Prozesse zu ermöglichen. Diese speziellen Parameter enden mit dem Zeichen ‚_‘, um eine Verwechslung mit Optionsnamen zu vermeiden. Die ersten beiden speziellen Parameter – run_ und finish_ – werden verwendet, um den Prozess zu verwalten. Die Parameterdefinition run_=True führt den Prozess sofort aus, und finish_=True wartet, bis der Prozess beendet wird, siehe Listing 5. Weitere spezielle Parameter, die hinzugefügt wurden, sind: stdin_, stdout_ und stderr_. Die Parameter stdin_ und stdout_ werden verwendet, um die textuellen Ein- und Ausgänge verschiedener Module zu einer Prozesspipeline zu verbinden stdin_ wird verwendet, um die textuelle Ausgabe (stdout_) von einem Prozess an einen anderen zu übergeben siehe Listing 6

vector enthält die Klassen Vector ohne die GRASS-Topologie und VectorTopo mit der GRASS-Topologie.

Die Klasse Vector erlaubt dem Benutzer, auf die nicht-topologischen Geometriemerkmale einer Vektorkarte in sequentieller Reihenfolge zuzugreifen, siehe Listing 7. Die Klasse VectorTopo wurde entwickelt, um auf topologische und nicht-topologische Geometriemerkmale einer Vektorkarte in zufälliger Reihenfolge zuzugreifen. Diese Klasse ermöglicht es, zwischen bestimmten Feature-Typen zu iterieren, siehe Listings 8 und 9. Das Schreiben wird in Boot-Klassen in sequenzieller Reihenfolge unterstützt. Bereits geschriebene Features können jedoch in der topologischen Zugriffsklasse aktualisiert werden. Die folgenden Klassen dienen zur Darstellung von Vektor-Features: Point, Line, Centroid, Boundary, Isle und Area. Instanzen dieser Klassen werden normalerweise erstellt, wenn Features von den Vektor- und VectorTopo-Klassen aus Vektorkarten gelesen werden. Um mehrere Verbindungen mit Vektorattribut-SQL-Datenbanken zu verwalten, wurden die Klassen DBLinks und Link entwickelt. Attributtabellen können mit der Table-Klasse erstellt, aufgerufen und geändert werden. Die Filter-Klasse bietet mehrere Methoden, um mit den Daten zu arbeiten, ohne dass SQL-Kenntnisse erforderlich sind. Um von einem Geometrie-Feature auf den Inhalt der Attributtabelle zuzugreifen, wurde die Attrs-Klasse entwickelt.

raster enthält die Klassen (RasterRow, RasterRowIO, RasterSegment und RasterNumpy).

Jede Klasse verwendet eine andere GRASS C-Bibliothek, um eine bestimmte Art von Zugriff auf Rasterkarten zu gewähren. Alle Rasterklassen verwenden gemeinsame Methoden zum Öffnen einer Karte, Lesen von Rasterwerten oder Rasterzeilen, Abrufen von Rasterinformationen und Schreiben von Metadaten wie Kategorien und Verlauf. Ähnlich wie beim Vektor wurde eine ähnliche Syntax verwendet, um ein Rasterobjekt zu instanziieren, zu öffnen und zu schließen.

Die Klasse RasterRow liest den Inhalt der Rasterkarte Zeile für Zeile und schreibt ihn sequentiell Zeile für Zeile, siehe Listings 10 und 11.

Die Klasse RasterRowIO implementiert einen Zeilencache, der es Benutzern ermöglicht, Rasterzeilen nach dem Zufallsprinzip zu lesen, indem eine Reihe von Zeilen im Hauptspeicher gehalten wird. Dieser Caching-Mechanismus vermeidet eine starke E/A-Festplattennutzung (Eingabe/Ausgabe) bei bestimmten Aufgaben, wie z. Ähnlich wie RasterRowIO bietet die RasterSegment-Klasse Zugriff auf einen Kachel-Cache. Der Kachel-Cache ist eine unkomprimierte Darstellung einer Rasterkarte, die zum Zeitpunkt der Initialisierung erstellt wird. Der Zugriff auf die unkomprimierte Datei basiert auf Kacheln, die im Hauptspeicher zwischengespeichert werden, um einen schnellen wahlfreien Lese- und Schreibzugriff über die Segment-Klasse zu ermöglichen. Mit der RasterSegment-Klasse ist es möglich, den Pixelwert gleichzeitig zufällig in derselben Karte zu lesen und zu schreiben.

Die RasterNumpy-Klasse erbt von einer numpy.memmap-Klasse und ermöglicht es Benutzern, mit der Karte als NumPy-Matrix zu interagieren.

gis enthält GRASS-Verwaltungsklassen wie Gisdbase, Location und Mapset, die Benutzern helfen, mit der GRASS-Umgebung zu interagieren, siehe Listing 12. Die Region-Klasse verwaltet die Berechnungsregion von GRASS, die sich direkt auf die 2D- und 3D-Rasterverarbeitung sowie verschiedene Vektorverarbeitungen auswirkt Algorithmen siehe Listing 13.

Die PyGRASS-Bibliothek stellt sicher, dass die Speicherverwaltung vollständig von Python übernommen wird. Alle Strukturen aus der GRASS C-API, die von PyGRASS verwendet werden, sind ctypes-Objekte oder werden im Klassendestruktor gelöscht und werden daher vom Python-Garbage Collector behandelt. Der Benutzer muss sich nicht direkt um die Speicherzuweisung und -löschung kümmern.


2.2 GRASS-GIS

GRASS GIS ist ein Open-Source-, Mehrzweck- und plattformübergreifendes geografisches Informationssystem (Neteler und Mitasova, 2008 Neteler et al., 2008, 2012), das Dienstprogramme für effiziente Raster- und Vektorberechnungen unterstützt (Hofierka et al., 2009 Mitasova et al., 1995 Shapiro und Westervelt, 1994 Šúri und Hofierka, 2004). Es enthält sowohl grafische als auch Befehlszeilenschnittstellen und kann von Shell- oder Python-Skripten gesteuert werden. Es unterstützt sowohl 2D- als auch 3D-Raster- und Vektordaten und beinhaltet eine SQL-basierte Attributtabellen-Datenbankverwaltung. Die Dienstprogramme GSFLOW–GRASS wurden für die neueste stabile Release-Version von GRASS GIS, v7.4, geschrieben. Dies unterstützt Python-Skripting sowohl für integrierte High-Level-Befehle als auch für den Low-Level-Zugriff auf Datenbankeinträge und Vektorgeometrien (Zambelli et al., 2013) . Wir nutzen diese Fähigkeiten, um einen automatisierten Workflow zu entwickeln, um GSFLOW-Eingaben über GRASS GIS zu erstellen.

Wir haben GRASS GIS als Schnittstelle zur Entwicklung von Eingaben gewählt, weil (1) es quelloffen und plattformübergreifend ist (2) es eine starre Vektortopologie erzwingt, die für den Aufbau von Stromnetzen entscheidend ist (3) seine breite Bibliothek integrierter hydrologischer Zu den Tools gehören diejenigen für die vektorisierte Entwässerungsnetzentwicklung mit nachgelagerter zunehmender Indizierung (Jasiewicz und Metz, 2011), die für das Festlegen von Flusspfaden und Nachbarschaften unerlässlich ist (4) seine generische Python-Skriptbibliothek und die PyGRASS-Anwendungsprogrammierschnittstelle (API) machen es einfach zu neue Erweiterungen entwickeln (5) Diese Erweiterungen können dem offiziellen Subversion (svn)-Repository hinzugefügt werden, von wo sie automatisch heruntergeladen und auf den Computern des Benutzers installiert werden können B.Erweiterung Befehl und (6) es stellt eine GUI und eine Befehlszeilenschnittstelle (CLI) bereit, die miteinander konsistent sind. Die GUI- und CLI-Schnittstellen sind für GSFLOW-GRASS nicht erforderlich, da die GRASS GIS-Komponente hauptsächlich im Hintergrund von einem Python-Skript zur Stapelverarbeitung verarbeitet wird (buildDomainGRASS.py, Abschn. 3.2) ermöglichen Endbenutzern jedoch, bestimmte Teile des Prozesses erneut auszuführen und/oder ihre eigenen Workflows zu erstellen, indem sie die GSFLOW-GRASS-Erweiterungen als Bausteine ​​verwenden. Der Open-Source-Aspekt der vorliegenden Arbeit ist teilweise durch den Bedarf an Wasserbewertungs- und Planungstools in Entwicklungsländern motiviert (Pal et al., 2007), und diese Erweiterungen können in Kombination mit der austauschbaren und konsistenten GUI und CLI helfen Benutzern, ihre eigenen erweiterten Anpassungen von GSFLOW-GRASS zu generieren.

Wir verwenden einen heterogenen Oberflächen- und Untergrund-Berechnungsbereich für GSFLOW-GRASS, der Subbasin-Oberflächen-HRUs verwendet, die mit unterirdischen Gitterzellen verknüpft sind. Neben der rechnerischen Effizienz der Diskretisierung von komplexem Gelände in Teilbecken mit komplexen Formen anstelle der Verwendung einer gerasterten Oberflächendomäne mit der Auflösung, die zur Auflösung der HRUs erforderlich ist, macht die Verwendung von Teilbecken-HRUs, die Oberflächenabfluss direkt zu Flusssegmenten leiten, auch die Notwendigkeit der Einrichtung ein kaskadierendes Netzwerk (Abschn. 2.1.2). Aufgrund des konzeptionellen (und nicht des Gradienten-basierten) Oberflächenwasser-Routing-Schemas von GSFLOW sind numerische Unterschiede zwischen Teilbecken und gerasterten HRUs schwer vorherzusagen, aber die automatisierte GSFLOW-GRASS-Toolbox kann dazu beitragen, dass zukünftige Tests ihre jeweiligen Leistungen rigoros untersuchen.

GSFLOW-GRASS schafft ein Gleichgewicht zwischen der Generierung einer einsatzbereiten GSFLOW-Implementierung und der Flexibilität bei der Anpassung von Anwendungen. Mit einem neu entwickelten Satz automatisierter und robuster GIS-Domain-Builder-Tools kann GSFLOW-GRASS auf jedes digitale Höhenmodell (DEM) angewendet werden, um GSFLOW-Modellsimulationen zu erstellen. Es sind nur wenige Schritte erforderlich, um ein GSFLOW-Modell auf dem Computersystem des Benutzers einzurichten. Zur weiteren Modelloptimierung sind alle Skripts in der Toolbox Open Source und kommentiert, um Änderungen an beliebigen Parametern sowie die Entwicklung optionaler GSFLOW-Funktionen zu ermöglichen, die nicht in der standardmäßigen GSFLOW-GRASS-Implementierung enthalten sind. Viele beliebte Implementierungsprogramme für hydrologische Modelle verfügen über GUIs, darunter ModelMuse (Winston, 2009), Visual Modflow (Waterloo Hydrogeologic Inc., 2011), Hydrus (Simunek et al., 2009), ArcSWAT (Neitsch et al., 2002) und MIKE - SIE (Butts und Graham, 2005). Während diese für unerfahrene Modellbenutzer am einfachsten sind, kann die Entwicklung von GUIs für plattformübergreifende Implementierungen eine Herausforderung darstellen und im Allgemeinen weniger Flexibilität für die Anpassung unterstützen. Daher haben wir uns für einen überwiegend kommandozeilenorientierten Ansatz entschieden, der für die Verwendung auf Linux- und Windows-Betriebssystemen entwickelt und getestet wurde.

Figur 3GSFLOW–GRASS-Workflow.


Geodaten (GIS), Geodaten und Kartenressourcen

Das Auffinden von Geodaten kann schwierig sein. Bitte zögern Sie nicht, sich an die Mitarbeiter von Map Collection zu wenden, wenn Sie Schwierigkeiten haben, etwas Bestimmtes zu finden. Dieser Leitfaden soll nicht alle verfügbaren Ressourcen abdecken, sondern die am häufigsten angeforderten und regelmäßig aktualisierten Ressourcen auflisten.

Weitere Leitfäden und Ressourcen sind erhältlich bei der Homepage der Kartensammlung

Alle Fragen können per E-Mail an das Bibliothekspersonal gesendet werden [email protected] oder Buchen Sie eine Forschungsberatung

Sammlungsaktualisierungen

Update zum Eastern Resource Center (1. März 2021)

In den letzten drei Jahren wurden in der südöstlichen Ecke des Parkville Campus und das Projekt New Student Precinct Konzeptdesignarbeiten und Standortvorbereitungen für die Entwicklung eines erstklassigen Studentenviertels durchgeführt. 2020 markierte den Beginn der nächsten und intensiveren Phase dieses Projekts.

Vom 28. Juni 2020 bis Ende September 2021 ist das Eastern Resource Center aufgrund von Umbaumaßnahmen im Rahmen des Projekts New Student Precinct für alle Mitarbeiter und Studenten nicht zugänglich. Um Artikel anzufordern, wenden Sie sich bitte an die Mitarbeiter der Map Collection.

Wichtige Ressourcen für Studenten während dieser Zeit werden in anderen Bibliotheken auf dem Campus Parkville bereitgestellt. Alle anderen ERC-Ressourcen werden außerhalb des Standorts aufbewahrt und sind über ein Online-Anfrageformular für alle Mitarbeiter und Studenten zugänglich.

Weitere Informationen zum NSP-Projekt finden Sie im neue Seite des Studentenviertels.


Abstrakt

In den letzten Jahren haben die Häufigkeit und Intensität von Dürren zugenommen und es gab in vielen Teilen der Welt einen starken Trocknungstrend. Folglich hat das Dürre-Monitoring mit Big-Data-Analyse ein explosives Interesse gefunden. Dürren zählen zu den schädlichsten Naturkatastrophen. Sie bedroht die landwirtschaftliche Produktion, die ökologische Umwelt und die sozioökonomische Entwicklung. Aus diesem Grund sind Frühwarnung, genaue Bewertung und effiziente Vorhersage ein Notfall, insbesondere für die Nationen, die von dieser Gefahr am stärksten bedroht sind. Es gibt zahlreiche neue Studien, die sich mit Big Data und ihren Anwendungen bei der Dürreüberwachung befassen. Tatsächlich behandelt Big Data Datenheterogenität, die einen zusätzlichen Wert für die Vorhersage von Dürren darstellt, und bietet einen Blick auf die verschiedenen Dimensionen wie die räumliche Verteilung, die zeitliche Verteilung und die Schwere der Erkennung dieses Phänomens. Big-Data-Analyse und Dürre werden in diesem Papier vorgestellt und überprüft. Außerdem umfasst dieser Review verschiedene Studien, Forschungen und Anwendungen von Big Data zur Dürreüberwachung. Herausforderungen im Zusammenhang mit dem Datenlebenszyklus wie Datenherausforderungen, Datenverarbeitungsherausforderungen und Dateninfrastruktur-Managementherausforderungen werden ebenfalls erörtert. Abschließend kommen wir zu dem Schluss, dass Big-Data-Analysen bei der Dürreüberwachung von Vorteil sein können, jedoch Bedarf an statistischen und auf künstlicher Intelligenz basierenden Ansätzen besteht.


Geographische Informationssysteme in der Agronomie

Dieses Kapitel soll eine Einführung in das geografische Informationssystem (GIS) und die zugehörigen Landschaftswerkzeuge geben und deren Verwendung in verschiedenen Aspekten der Agrarwissenschaft veranschaulichen. Die GIS-Technologie führt zu schnellen Veränderungen in der Art und Weise, wie agronomische Analysen und Management durchgeführt werden. GIS in Verbindung mit Fernerkundung, Global Positioning System (GPS), elektronischen Sensoren und Computertechnologien bietet neue Methoden zur Datenerfassung, -speicherung, -verarbeitung, -analyse und -modellierung. Diese neuen Werkzeuge ermöglichen es uns, Landschaften und Prozesse quantitativ zu beschreiben. In diesem Kapitel wird die standortspezifische Landwirtschaft (SSF) diskutiert, dh die Betriebsführung basierend auf den variablen Boden- und Mikroklimabedingungen, die auf den meisten Feldern vorkommen. SSF reduziert Abfall, weil beispielsweise Dünger und Herbizide nur dort eingesetzt werden, wo sie gebraucht werden. Es müssen neue und/oder verbesserte Modelle entwickelt werden, um die räumliche Natur der von diesen Werkzeugen bereitgestellten Daten voll auszunutzen. Die Entwicklung dieser Modelle stützt sich auf Techniken der räumlichen statistischen Analyse, um die Genauigkeit von Eingabeparametern und Modellausgaben zu quantifizieren. In diesem sich schnell entwickelnden GIS-Bereich werden viele neue Werkzeuge eingesetzt. Bei der Untersuchung agronomischer Systeme werden dreidimensionale Szenensimulation, Visualisierung und Animation in Verbindung mit Fernerkundungs- und Bildverarbeitungstechnologien sowie Echtzeitdatenerfassung benötigt. Die Entwicklung und Nutzung von dreidimensionalen GIS und raumzeitlichen GIS wird ein immer wichtigeres Forschungsgebiet sein. Die agronomische Gemeinschaft – einschließlich Landwirte, Landbewirtschafter, Wissenschaftlerkollegen, politische Entscheidungsträger und die breite Öffentlichkeit – sollte von diesem sich entwickelnden und expandierenden Feld profitieren.


Geografisches Informationssystem

Die Abteilung Geografische Informationssysteme (GIS) erhebt, verwaltet, interpretiert, analysiert und kartiert geografische Daten, um sicherzustellen, dass der Landkreis und die Öffentlichkeit bessere Entscheidungen treffen können. Zum GIS-Bereich gehören auch die E-911 Adressierungsabschnitt die für die Bereitstellung der korrekten Adressierung verantwortlich ist, um Notfalldienste in Santa Fe County zu unterstützen.

GIS-Produkte und -Dienste
GIS-Mitarbeiter können benutzerdefinierte Karten und digitale Produkte erstellen, um Ihre spezifischen Anforderungen basierend auf Zeit und Material zu erfüllen.

Interaktive Kartendienste
Die GIS-Abteilung ist dabei, ein neues interaktives Kartenportal aufzubauen. Dieses neue Kartenportal wird die bestehende Seite der Online-Kartendienste ersetzen, den Zugang zu den Kreisdaten verbessern und den Benutzern zusätzliche Ressourcen zur Verfügung stellen.
Klicken Sie hier, um zu den bestehenden Online-Kartendiensten zu gelangen.

Mobile Apps
Santa Fe County verfügt derzeit über eine mobile Anwendung, die über iTunes und den Google Play Store heruntergeladen werden kann. Die aktualisierte Trails-App ist jetzt sowohl im Apple App Store als auch im Google Play Store öffentlich verfügbar:


Santa Fe County Trail Maps von Mindshare Labs

Verwenden Sie diese Anwendung, um Wanderwege in Santa Fe County zu erkunden.

Kein Interesse an einer mobilen App? Besuche den Karte der interaktiven Wanderwege in Santa Fe County mit Ihrem Computer oder Mobilgerät. Diese computerbasierte interaktive Wegkarte ist robuster und enthält Höhenprofile für jeden Weg und, sofern verfügbar, Fotos von Wegen. Verwenden Sie diese Anwendung, um Wanderwege in Santa Fe County zu erkunden.

Kontaktiere uns
GIS-Abteilung des Landkreises Santa Fe
100 Catron-Str.
Santa Fe, NM 87501
Hauptbüro: (505) 995-2732
Geöffnet 8:00 Uhr &ndash 17:00 Uhr
Montag &ndash Freitag

Socorro Ojeda
Administrative Assistent
(505) 995-2732
[bot-geschützte E-Mail-Adresse]

A. Erle Wright
GIS-Manager
(505) 986-6350
[bot-geschützte E-Mail-Adresse]

Julian Sena
GIS-Analyst
(505) 986-6355
[bot-geschützte E-Mail-Adresse]

Rob Jackson
GPS-Techniker
(505) 986-6246
[bot-geschützte E-Mail-Adresse]

Anna Martinez
GIS-Techniker
(505) 986-6348
[bot-geschützte E-Mail-Adresse]

Christopher Vaisa
GIS-Datenbankadministrator
(505) 986-6335
[bot-geschützte E-Mail-Adresse]

Mark Jürgens
GPS-Techniker
Büro: (505) 986-6347
Handy: (505) 795-1829
[bot-geschützte E-Mail-Adresse]


Häufig eingegangene Fragen Question

Ich bin Vermesser. Wo finde ich Informationen über Vermessungsdenkmäler und/oder Kontrollpunkte in Santa Fe County?

Datenblätter und Informationen zu Denkmälern erster Ordnung oder besserer Vermessung sind auf der Website von National Geodetic Survey verfügbar: https://www.ngs.noaa.gov/datasheets/

Ich beantrage eine Baugenehmigung. Was benötige ich im Rahmen des Bewerbungsverfahrens von der GIS-Abteilung?
Wenn Sie eine Erschließungsgenehmigung für den Landkreis beantragen, stellt die GIS-Abteilung eine Genehmigungskarte, ein Adressbestätigungsformular und ein GIS-Informationsformular zur Verfügung. Diese Unterlagen müssen zusammen mit Ihrem Zulassungsantrag eingereicht werden.

Welche Kartentypen und -größen kann ich kaufen?
Die GIS Division produziert eine Vielzahl von Karten, Stilen und Größen. Einschließlich, aber nicht beschränkt auf: Lagepläne, Neigungsanalysekarten, Konturkarten, angrenzende (Puffer-)Eigenschaftskarten (für Mailing-Benachrichtigungen) und mehr. Die Größen können von Letter- bis Postergröße reichen. Karten können in gedruckter Form und/oder in digitaler Form erworben werden. Bitte beachten Sie die Preisliste für GIS-Produkte und -Dienstleistungen.

Ich bin CAD-Anwender. Kann ich GIS-Daten im .dxf- oder .dwg-Format anfordern?
Ja. Teilen Sie den Mitarbeitern der GIS-Abteilung die Version (Jahr) des von Ihnen verwendeten CAD-Programms und Ihr bevorzugtes Format (.dxf oder .dwg) mit.


[un]Stadtdaten verpacken

Bei den Zwischenwahlen letzte Woche war es schwer, die Analyse und Interpretation der Ergebnisse zu vermeiden. Wie viele andere wurde meine Aufmerksamkeit von dem Drama um die Kontrolle des US-Repräsentantenhauses und der Partei, die es in den nächsten zwei Jahren kontrollieren würde, auf sich gezogen. Einige Bundesstaaten wie Vermont und Montana haben einen einzigen Bundeskongressbezirk, aber für die 44 anderen Bundesstaaten ist jede Wahl von Bedeutung, da sie Einfluss darauf hat, wer kontrolliert, wie die neuen Grenzen nach der Volkszählung 2020 gezogen werden.

Ich lud die neuesten Kongressbezirksgrenzen von der Census Cartographic Boundary Files-Site herunter und fing an, herumzustöbern. Die wichtigsten Dinge, die man über Kongressbezirke wissen sollte, ist, dass sie idealerweise aneinandergrenzen und ungefähr die gleiche Anzahl von Menschen umfassen. Das letztgenannte Kriterium stellt sicher, dass die Stimme aller das gleiche Gewicht hat, und das Kontiguitätskriterium ist als Überprüfung auf parteiische Gerrymandering konzipiert.

Das Polsby-Popper-Verhältnis wurde häufig verwendet, um die Kompaktheit von Wahlregionen zu messen, und ein Teil seiner Attraktivität ist seine Einfachheit. Der PPR ist (4π * A) / P 2 wobei A die Fläche eines Bezirks und P sein Umfang ist. Bezirke mit einem Polsby-Popper-Verhältnis näher an eins sind kompakter oder regelmäßiger, während Werte näher an null unregelmäßig und möglicherweise unheilvoller sind. Hier ist eine kurze Karte der aktuellen Bundeskongressbezirke, die nach dem Polsby-Popper-Verhältnis schattiert sind.

Die roten und orangen Bereiche stechen wirklich hervor, sind aber nicht unbedingt dort, wo ich sie erwartet habe. Eines der Probleme bei der isolierten Verwendung von Statistiken besteht darin, dass sie eine voreingenommene Perspektive bieten können. Küstenbezirke mit komplexen Grenzlinien (z. B. die Outer Banks in North Carolina, New Orleans, das Gebiet Boundary Waters in Minnesota) sind potenziell Opfer der Geografie und nicht das Ergebnis politischer Manöver.

Wir können auch prüfen, wie gut das Bevölkerungskriterium mit einer Karte wie der folgenden erfüllt wird.

Bei einer Reichweite von knapp 25.000 Personen ist fraglich, inwieweit diese Kreise eine vergleichbare Wählerzahl aufweisen. Aber was mich an dieser Sache am interessantesten ist, ist das offensichtliche regionale Muster in der Bevölkerungsgröße der Kongressbezirke. Abgesehen von der Sonnengürtelmigration sind Gebiete wie Osttexas keine Bevölkerungszentren. Ja, die Bundesstaaten haben einen erheblichen Einfluss darauf, wie die Umverteilung erfolgt, aber ähneln die politischen Parameter bei der Umverteilung im tiefen Süden wirklich denen in Kalifornien und im Nordosten? Wer lebt in den unregelmäßigsten Kongressbezirken in Amerika? Wie haben sich die Grenzen dieser einzelnen Bezirke im Laufe der Jahre verändert? Welche Partei hat diese Bezirke gezogen und welche Partei hat diese Bezirke bei den folgenden Wahlen gewonnen? Ich habe so viele Fragen, aber die müssen bis zu einem späteren Blogbeitrag warten. Hier ist der Code für die Karte.

Ist keine Party wie eine kostenlose und Open-Source-GIS-Party

Ich unterrichte seit über einem Jahrzehnt Geographische Informationssysteme (GIS) und benutze diese Werkzeuge noch länger. Die Analyse von Geodaten ist ein großer Teil meiner Arbeit und die ArcGIS-Suite von ESRI gehört zu den vertrautesten und zuverlässigsten Tools, die ich verwende. Ich bin jedoch aus mehreren Gründen hin und her gerissen, diese Software ausschließlich im Unterricht und in meiner Forschung zu verwenden.

What happens when students graduate? Current students at my institution can download a renewable, one-year license for free. For many urban planning students, they will take jobs that also provide access to the ESRI software after graduation, but for those that do not, what options are out there and how much of a learning curve will there be to transition away from ArcGIS?

Without the backing of an educational institution or employer, ArcGIS is expensive and pricing is increasingly difficult to understand. The cost of the standard ArcGIS Desktop product depends on whether you opt for a “term” or “perpetual” license with specialized extensions adding to the final bill. This business model makes sense as the array of applications and customers has exploded over the past two decades, but in addition to overwhelming those of us without a background in procurement, it feels very much like being nickeled-and-dimed.

QGIS (formerly known as Quantum GIS) has emerged as a viable alternative. It is close enough to the familiar ArcGIS Desktop software in the way it looks and in the way it functions. Building some degree of competence with an open-source GIS seems like a good investment, and so I have started to introduce QGIS in the advanced course that I teach.

QGIS is an excellent option if you just need to create maps or if you are engaged in very specialized, scientific analysis because chances are, there is a plug-in built by QGIS developers or someone in the user community that does what exactly what you want.

The fact that SAGA (System for Automated Geoscientific Analyses) and GRASS (Geographic Resources Analysis Support System) are part of the base installation enhances QGIS’ capacity to support more sophisticated analyses, but in my view ArcGIS is better for “mid-range” needs like geocoding addresses. This recent piece offers a more systematic comparison of the capabilities of QGIS and ArcGIS.

If you’re interested in checking out QGIS, you can access documentation and tutorials in multiple languages on this page, but you can also take a look at the short exercises I put together by clicking the links below.

The ‘Economic Mobility Atlas’ Is Just Not As Catchy

The Opportunity Atlas was released a few weeks ago, and like everyone else I was intrigued. The user interface is professionally crafted and the data visualization takes aim at a very important policy question—how does access to opportunity and by extension, social mobility vary across neighborhoods (and geographic scales) for persons of different household income, racial background, and gender.

The first thing that jumped out at me was how opportunity is being defined. It appears to be measured primarily in terms of income, with educational attainment and marital status as complementary indicators. There is an entire literature on the multi-dimensional nature of opportunity and how difficult it is to measure. The work of john a. powell and others at the Kirwan Institute from almost a decade ago is a good example of an attempt to move beyond income and to really grapple with the complexity of opportunity and its uneven distribution in space. Rather than comparing outcomes across groups, the focus of this approach to opportunity mapping is on the underlying factors that contribute to social mobility—which includes a heavy dose of economic mobility—and the levers that can be used to facilitate access to opportunity and social mobility. It also helps, to specify which groups or types of households we have in mind when attempting to measure opportunity, which the Opportunity Atlas acknowledges by including race/ethnicity and gender alongside household income as filters for the data presented.

The team of researchers behind the Opportunity Atlas use Census tracts as a proxy for neighborhoods, which is a common practice in the social sciences. I immediately searched for the Census tract I grew up in because if you’re like me, the immediate reaction is to evaluate all claims made about how the world works against your own experience.

But in fairness, the data presented in the Opportunity Atlas are not really about me. Literally. The underlying data are instead based on individuals born between 1978 and 1983, which accurately describes two of my younger brothers and a few of my cousins. I learned that average current income for kids born between 1978 and 1983 in this tract is among the lowest on average in the nation. I also noted that the employment rate was 77 percent and only 6 percent of the children from my home Census tract made it into the top 20 percent of the national income distribution as adults. This lack of economic mobility was not surprising, but it led to other questions about the underlying drivers of these outcomes.

The research team found that “in the southeast, rural areas tend to have lower rates of upward mobility than urban areas” and that the relationship is reversed in the Midwest and Mountain West regions. In my view, what is missing here is a more explicit acknowledgment of race in these results. Many rural areas in the southeast are home to large proportions of racial and ethnic minorities, while rural communities in Iowa, which is explicitly mentioned in the data story presented on the website, are overwhelmingly white (the state of Iowa is approximately 90 percent white only according to the American Community Survey). I wrote a paper two years ago that documents many of the same patterns at the county level and I spent more time trying to explain the observed regional differences in opportunity than the Opportunity Atlas team does here. If you can scale the paywall, you can read my county-level study here. Otherwise, send me a message and maybe you can borrow my ladder. You can also read this piece by john a. powell on the role of race, residential segregation, and policy in understanding contemporary disparities in access to opportunity. But I digress.

According to the Opportunity Atlas website, 44 percent of kids from the tract where I grew up stayed there, while 61 percent remained in the same commuting zone as adults. How much of the economic mobility that the Atlas is trying to capture requires physical mobility? Unfortunately the data in the Atlas do not speak directly to that question, but the movement of people out of and into a given place clearly impacts their life outcomes, as the research team notes. I now live in this Census tract 790 miles to the northwest where the average income and other outcomes for individuals born between 1978 and 1983 are very different. The 75 th percentile of parents’ income in the tract where I now live was $64,000 versus $46,000 in the Census tract where I grew up.

This part of Champaign was probably farmland during the 1980s, which also invites questions about how the neighborhoods featured in the Opportunity Atlas (70,000 Census tracts in the country) have changed over the past forty years. Neighborhood change is not an exclusively urban phenomenon. A former colleague observed that “as rural places grow they cease to be rural”. It is unclear how the Opportunity Atlas defines “rural” and how that designation might have evolved over time for many of the Census tracts in the study. More importantly, recent survey results and data suggest that physical mobility is on the decline, which raises the stakes for the place-based policies the research team advocates. I was willing and able to relocate to improve my life outcomes, but based on the data in the Atlas, my experience is the exception and not the rule.

The Opportunity Atlas succeeds at drawing attention to spatial inequality at geographic scales below the county and city, but the logical next question is how can these data be used to bring about positive change? I think the answer lies in truly understanding what has enabled the economic mobility that this data visualization documents otherwise, the neighborhood effects illustrated here have limited practical value. As someone who has lived the economic and social mobility the Opportunity Atlas highlights, I am skeptical of anyone who suggests that it can be achieved in isolation or that individuals who are smart enough and work hard can radically improve their life outcomes single-handedly. The task for urban planners—and all of us—is to remove obstacles that impede economic and social mobility and to expand the resources, networks, and culture that support it.


Geographic Information Systems

Geographic Information Systems (GIS) Staff is responsible for maintaining the Office’s digital databases and  maps, and analyzing information for internal and public use.  GIS Staff strives to meet the needs of its customers with the highest accuracy possible.

  • Anne Arundel County's GIS layers are stored as ESRI shapefiles. The GIS Section uses ArcGIS 10.3.1. for their map production and analysis.
  • Data can be provided in a variety of scales.
  • All of our map data is projected to the US State Plane Coordinate System for Maryland and is in NAD83 Feet. This map projection is applicable for all Anne Arundel County data.
     

Q: What is GIS?
A: GIS stands for Geographic Information Systems, which is a collection of computer software, hardware, and people that serve to create, manipulate, and store geographic data or map information.

Q: How can I obtain a map?
A: For Zoning maps, Critical Area maps, Subdivision maps, and a variety of other publications sold to the public, visit the Information Counter. 
 
Q: Where can I purchase Digital Data products?
A: Digital Data products are available through the Information Counter on the 4th floor of 2664 Riva Road, Heritage Office Complex.
 
Q: Does P&Z GIS create custom paper maps for the public?
A: Currently, we are not able to create custom maps for the public. Public maps are intended to address the public's mapping needs, as are the many maps available at the Information Counter  on the 4th floor of 2664 Riva Road, Heritage Office Complex.