Mehr

Verwenden von OpenStreetMap-Kacheln in ArcMap


Ich hatte gehofft, den ArcGIS Editor von ESRI für OpenStreetMap zu verwenden, um OpenStreetMap-Daten in ArcMap anzuzeigen, aber meine Organisation hat noch nicht auf Version 10 aktualisiert.

Ich kenne auch ArcBruTile, aber ich ziehe es vor, diese Software nicht zu verwenden, da potenzielle TOS-Verstöße mit Google, Bing usw.

Kennt jemand eine andere Möglichkeit, OpenStreetMap-Kacheln in ArcGIS 9.3.1 zu integrieren?


OSM-Layer für ArcGIS

http://www.arcgis.com/home/webmap/viewer.html?webmap=b834a68d7a484c5fb473d4ba90d35e71

Alternativ *http://osm.wheregroup.com/ haben Sie einen WMS OSM Server (Europa)

Datentyp: WMS Service WMS Server: http://osm.wheregroup.com/cgi-bin/osm_basic.xml?SERVICE=WMS&version=1.1.1&service=WMS&request=GetLegendGraphic&layer=Grenzen&format=image/png&STYLE=default& Servicename: OSM_Basic

Standard-Koordinatensystem: GCS_WGS_1984 Datum: D_WGS_1984 Nullmeridian: 0


Arc2Earth behauptet, OpenStreetMap (sowie Google-Bilder und -Karten) in ArcGIS importieren zu können. Im Gegensatz zu ArcBruTile, das fehlerhaft und kaum legal ist (wenn überhaupt), ist Arc2Earth meines Wissens völlig legitim, aber nicht kostenlos.

Kratzen Sie das, es gibt eine kostenlose Version; Um nur die OpenStreetMap-Kacheln auszuprobieren, gibt es eine "kostenlose" Version, aber wie auf der Site angegeben, werden die Kartenkacheln mit Wasserzeichen versehen.

Ein separater "Datendienst" ist erforderlich, wenn Sie die Funktionen von Google Imagery in ArcGIS nutzen möchten.

http://www.arc2earth.com/products/desktop/


Siehe "Hinzufügen von Openstreetmap zu ArcGis 9.3.1" und "Können Sie OpenStreetMap-Kacheln in ArcGIS 9.3.1 verwenden?" Themen, die einzige einfach zu bedienende Lösung scheint ArcBruTile zu sein, aber nicht kostenlos (25 Euro) ansonsten sollten Sie WMS-Dienste konsumieren, die mit OpenStreetMap-Daten erstellt wurden (einige im zweiten bereitgestellten Thema). Es wird ein Arc2Earth-Produkt erwähnt, aber das Unternehmen wurde geschlossen.


Simon Willisons Weblog

Die Arbeit an der Datasette-Broschüre letzte Woche hat mein Interesse an der Nutzung von Datasette als GIS-Plattform (Geographic Information System) neu entfacht. SQLite verfügt bereits über eine starke GIS-Funktionalität in Form von SpatiaLite und datasette-cluster-map ist derzeit das am häufigsten heruntergeladene Plugin. Vor allem machen Karten Spaß!

MBTiles

Ich habe am Montag mit Tom MacWright gesprochen und erwähnt, dass ich darüber nachgedacht habe, wie SQLite ein guter Mechanismus für die Verteilung von Kachelbildern zur Verwendung mit Bibliotheken wie Leaflet sein könnte. „Vielleicht kann ich dir dort etwas Zeit sparen“, sagte er. und er zeigte mir MBTiles, eine Spezifikation, die er vor zehn Jahren bei Mapbox zu entwickeln begann, die genau das tut – Kachelbilder in SQLite-Datenbanken bündelt.

(Meine beste Vermutung ist, dass ich vor einiger Zeit über MBTiles gelesen habe und es dann geschafft habe, die Spezifikation vollständig zu vergessen, während sich die Idee, SQLite für die Kachelverteilung zu verwenden, irgendwo in meinem Kopf feststeckte.)

Das neue Datasette-Kacheln Plugin

Ich fand einige Beispiel-MBTiles-Dateien im Internet und fing an, damit herumzuspielen. Mein erster Prototyp verwendete das Datasette-Media-Plugin, das hier zuvor in Fun with binary data and SQLite beschrieben wurde. Ich habe etwas verworrenes SQL verwendet, um ihm beizubringen, dass /-/media/tiles/,, sollte Inhalte aus der Tiles-Tabelle in meiner MBTiles-Datenbank bereitstellen – Details zu diesem Prototyp finden Sie in dieser TIL: MBTiles mit Datasette-Medien bereitstellen.

Der naheliegende nächste Schritt war, ein spezielles Plugin zu schreiben: datasette-tiles. Installieren Sie es und führen Sie Datasette gegen eine beliebige MBTiles-Datenbankdatei aus und das Plugin richtet einen /-/tiles/db-name/z/x/y.png-Endpunkt ein, der die angegebenen Kacheln bedient.

Es fügt auch eine Kachel-Explorer-Ansicht mit einer vorkonfigurierten Leaflet-Karte hinzu. Hier ist eine Live-Demo, die eine Teilmenge der Tonerkarte von Stamen zeigt – nur die Zoomstufen 6 und 7 für das Land Japan.

So führen Sie dies auf Ihrem eigenen Computer aus:

Erstellen von MBTiles-Dateien mit meinem Download-Tiles-Tool

Ein Knackpunkt, als ich anfing, mit MBTiles zu spielen, war, Beispieldateien zu finden, mit denen ich arbeiten konnte.

Nach einigem Suchen stieß ich auf das erstaunliche HOT Export Tool. Es ist ein Projekt des Humanitären OpenStreetMap-Teams, das es jedem ermöglicht, Teilmengen von Daten aus OpenStreetMap in einer Vielzahl von Formaten, einschließlich MBTiles, zu exportieren.

Ich habe einen kleinen Fehlerbericht dagegen eingereicht und mir dabei den Quellcode (alles Open Source) angeschaut. und fand den Code, der MBTiles-Dateien zusammenstellt. Es verwendet eine andere Open-Source-Bibliothek namens Landez, die Funktionen zum Herunterladen von Kacheln von bestehenden Anbietern bereitstellt und diese als MBTiles SQLite-Datei bündelt.

Ich bevorzuge Befehlszeilentools für diese Art von Dingen gegenüber der direkten Verwendung von Python-Bibliotheken, also habe ich meine Click-App-Cookiecutter-Vorlage gestartet und eine dünne Befehlszeilenschnittstelle über der Bibliothek erstellt.

Das neue Tool heißt download-tiles und macht genau das: lädt Kacheln von einem Kachelserver herunter und erstellt eine MBTiles SQLite-Datenbank auf der Festplatte, die diese Kacheln enthält.

Bitte verwenden Sie dieses Tool verantwortungsbewusst. Das Herunterladen einer großen Anzahl von Kacheln ist schlechte Manieren. Machen Sie sich mit der Kachelnutzungsrichtlinie von OpenStreetMap vertraut und verwenden Sie das Tool höflich, wenn Sie es auf andere Kachelserver verweisen.

Die grundlegende Verwendung ist wie folgt:

Standardmäßig zieht das Tool Kacheln aus OpenStreetMap. Der obige Befehl ruft die Zoomstufen 0-3 der ganzen Welt ab – insgesamt 85 Kacheln, weit innerhalb akzeptabler Nutzungsgrenzen.

Verschiedene Optionen (in der README beschrieben) können verwendet werden, um die heruntergeladenen Kacheln anzupassen. So habe ich die Demodatenbank japan-toner.db erstellt, die mit oben verlinkt ist:

Die Option --country Japan hier sucht den Begrenzungsrahmen für Japan mit Nominatim. --zoom-levels 6-7 ruft die Zoomstufen 6 und 7 ab (in diesem Fall sind das insgesamt 193 Kacheln). --tiles-url und --tiles-subdomain konfigurieren den Tile-Server, um sie abzurufen. Die Option --attribution backt diese Zeichenfolge in die Metadatentabelle für die Datenbank – die dann verwendet wird, um sie im Kachel-Explorer (und eventuell in anderen Datasette-Plugins) korrekt anzuzeigen.

Datensatz-Grundkarte

Out of the box bedienen die aktuellen Leaflet-Plugins von Datasette (datasette-cluster-map, datasette-leaflet-geojson usw.) Kacheln direkt vom OpenStreetMap-Kachelserver.

Ich habe mich dabei nie besonders wohl gefühlt. Benutzer können die Plugins so konfigurieren, dass sie gegen andere Tile-Server laufen, aber der Verweis auf OpenStreetMap als Standard war der einfachste Weg, um sicherzustellen, dass diese Plugins für Leute funktionieren, die sie nur ausprobieren wollten.

Jetzt, da ich über die Tools zum Bündeln von Kartenuntergruppen verfüge, kann ich es vielleicht besser machen.

datasette-basemap bietet eine Alternative: Es ist ein Plugin, das eine 22,7 MB große SQLite-Datei mit den Zoomstufen 0-6 von OpenStreetMap bündelt – insgesamt 5.461 Kacheln.

Wenn Sie pip install datasette-basemap (oder datasette install datasette-basemap ) ausführen, wird das Plugin komplett mit dieser Datenbank installiert und bei Datasette registriert.

Starten Sie Datasette mit dem installierten Plugin und /basemap wird die gebündelte Datenbank verfügbar machen. Installieren Sie Datasette-Kacheln und Sie können sie als Kachelserver durchsuchen: Hier ist eine Demo.

(Ich empfehle auch die Installation von datasette-render-images, damit Sie die Kachelbilder selbst in der regulären Tabellenansicht sehen können, wie folgt.)

Zoomstufe 6 ist nah genug, dass große Städte und die Straßen zwischen ihnen für alle Länder der Welt sichtbar sind. Nicht schlecht für 22,7 MB!

Dies ist das erste Mal, dass ich ein Datasette-Plugin erstellt habe, das eine vollständige SQLite-Datenbank als Teil des Python-Pakets bündelt. Das Muster scheint gut zu funktionieren – ich freue mich darauf, es mit anderen Projekten weiter zu erforschen.

Bonusfunktion: Kachelstapel

Ich habe den Datasette-Kacheln ein letztes Feature hinzugefügt, bevor ich alles für meinen Blog geschrieben habe. Ich nenne diese Funktion Fliesenstapel– Sie können Kacheln aus mehreren MBTiles-Dateien bereitstellen und auf andere Dateien zurückgreifen, wenn eine Kachel fehlt.

Stellen Sie sich vor, Sie hätten eine Weltkarte mit niedriger Zoomstufe (ähnlich wie datasette-basemap ) und eine Reihe anderer Datenbanken, die Kachelpakete für bestimmte Länder oder Städte bereitstellen. Sie könnten Datasette wie folgt ausführen:

Wenn Sie auf /-/tiles-stack/1/1/1.png klicken, wird die angegebene Kachel in der Datei tokyo.mbtiles gesucht, dann auf london.mbtiles und dann auf japan.mbtiles und schließlich auf basemap.mbtiles zurückgegriffen, wenn dies nicht möglich ist finde es.

Besuchen Sie für eine Demo https://datasette-tiles-demo.datasette.io/-/tiles-stack und vergrößern Sie Japan. Sobald Sie die Zoomstufen 6 und 7 erreicht haben, sollte die Stamen-Tonerkarte angezeigt werden.

Nächste Schritte

Es hat mir viel Spaß gemacht, MBTiles zu erkunden – es passt so gut zu Datasette und es ist aufregend, neue Dinge auf fast einem Jahrzehnt der Innovation anderer Geo-Hacker aufbauen zu können.

Bei Datasette-Kacheln fehlen viele Funktionen.

Derzeit werden nur .png-Bilddaten verarbeitet, aber die MBTiles 1.3-Spezifikation definiert auch .jpg- und .webp-Kacheln sowie Vektorkacheln unter Verwendung der .pbf-gzip-komprimierten Protokollpuffer von Mapbox.

UTFGrid ist eine verwandte Spezifikation für die Aufnahme „gerasterter Interaktionsdaten“ in MBTiles-Datenbanken – sie hilft dabei, Karten mit Millionen eingebetteter Objekte effizient bereitzustellen.

Als Neuling in der MBTiles-Welt würde ich gerne Vorschläge für neue Funktionen und Feedback hören, wie ich das bisher Erreichte in den Datasette-Tiles-Problemen verbessern kann.

Die Möglichkeit, auf diese Weise eigene Kartenkacheln bereitzustellen, entspricht sehr dem Geist des OpenStreetMap-Projekts. Ich freue mich darauf, meine eigenen Kacheluntermengen für zukünftige Projekte zu verwenden, die in eine sinnvolle Kacheluntermenge passen.

Das ist Bereitstellung von Kartenkacheln aus SQLite mit MBTiles und Datasette-Kacheln von Simon Willison, gepostet am 4. Februar 2021.


Bemerkungen

OpenStreetMap ist eine Organisation, die der Öffentlichkeit weltweit kostenlose, auf Kacheln basierende Kartendienste zur Verfügung stellt. OpenStreetMapLayers sind spezialisierte Layer, die Webdienste konsumieren, die die OpenStreetMap-Spezifikation verwenden. Ein gekachelter Kartenservice bedeutet, dass Kartenbilder auf einem Server vorab erstellt werden, um die Zeichnungsleistung in einer Clientanwendung zu verbessern. Da es sich bei den Bildern um im Voraus erstellte zwischengespeicherte Kacheln handelt, ist eine spontane Neuprojektion auf eine andere SpatialReference nicht möglich.

Durch das Generieren vorgefertigter zwischengespeicherter Kacheln und deren Speicherung in einer optimierten Dateistruktur auf einem Server unter Verwendung der OpenStreetMap-Spezifikation können Clientanwendungen verbesserte Zeichenzeiten für geografische Phänomene erkennen. Diese Leistungssteigerung ist ein Kompromiss, da Sie nicht die Flexibilität haben, die Zeichnung geografischer Phänomene im laufenden Betrieb dynamisch zu ändern. Dies bedeutet, dass ein OpenStreetMapLayer keine Eigenschaften wie dynamische Kartenservice-Layer wie ArcGISDynamicMapServiceLayer oder FeatureLayer für Dinge wie LayerDefinition, Where, TimeExtent und/oder VisibleLayers hat, die einschränken, welche Features zurückgegeben werden.

Ein Aufruf von OpenStreetMapLayer ist asynchron. Im Ergebnis bedeutet dies, dass das Abrufen von Informationen (d. h. Get/Read) für die verschiedenen Eigenschaften eines OpenStreetMapLayer im Initialized Event oder zu einem beliebigen Zeitpunkt nach dem Initialized Event erfolgen sollte. Dadurch wird sichergestellt, dass die abgerufenen Informationen über den OpenStreetMapLayer nach einem vollständigen Roundtrip vom Server bezogen wurden. Versuchen Sie nicht, auf OpenStreetMapLayer-Eigenschaftsinformationen von generischen Anwendungsereignissen wie: MainPage.Loaded oder dem Konstruktor usw. zuzugreifen, da OpenStreetMapLayer nicht initialisiert wurde und fehlerhafte Informationen zurückgegeben werden. Ebenso sollten OpenStreetMapLayer-Methoden nicht aufgerufen werden, bis das OpenStreetMapLayer Initialized Event ausgelöst wurde oder aus dem Initialized Event heraus, um fehlerhafte Ergebnisse zu vermeiden.

Es wird dringend empfohlen, das OpenStreetMapLayer InitializationFailed-Ereignis zu verwenden, um zu testen, ob gültige Daten vom Server zurückgegeben werden. Einige häufige Gründe dafür, dass ein OpenStreetMapLayer nicht initialisiert werden kann, sind ein Ausfall des Servers oder die Angabe einer falschen URL in der OpenStreetMapLayer.TileServers-Eigenschaft. Wenn im OpenStreetMapLayer InitializationFailed-Ereignis keine ordnungsgemäße Fehlerbehandlung durchgeführt wird, wird von Visual Studio die Fehlermeldung "Unbehandelte Ausnahme" ausgegeben, die eine unerwünschte Beendigung der Anwendung verursacht.

Es ist nur erforderlich, eine neue Instanz eines OpenStreetMapLayer zu erstellen und diese dann zur Map.Layers-Eigenschaft hinzuzufügen, um einen Standard-OpenStreetMapLayer anzuzeigen. Der Grund dafür ist, dass die Interna des OpenStreetMapLayer-Konstruktors automatisch eine interne URL zu einem von der OpenStreetMap-Organisation bereitgestellten Webservice verwenden. Das Folgende ist also ein XAML-Beispiel für alles, was zum Erstellen eines Standard-OpenStreetMapLayer erforderlich ist:

Die OpenStreetMap-Organisation hostet verschiedene Arten von Karten, die als OpenStreetMapLayer verwendet werden können. Um den verwendeten Kartentyp zu ändern, geben Sie die OpenStreetMapLayer.Style-Eigenschaft auf eine von mehreren OpenStreetMapLayer.MapStyle-Enumerationen an. Die Standard-OpenStreetMap.MapStyle-Eigenschaft ist OpenStreetMapLayer.MapStyle.Mapnik, was bedeutet, dass der OpenStreetMapLayer.MapStyle.Mapnik-Stil standardmäßig verwendet wird, wenn beim Erstellen eines OpenStreetMapLayer kein OpenStreetMapLayer.Style angegeben wird. Im Folgenden finden Sie ein XAML-Beispiel für die Angabe eines bestimmten OpenStreetMapLayer.Style beim Definieren eines neuen OpenStreetMapLayer:

Wenn Sie die direkt von der OpenStreetMap-Organisation bereitgestellten Kartendienste nicht nutzen möchten oder wenn Sie feststellen, dass zusätzliche Kartendienste bereitgestellt werden, für die Esri keinen expliziten OpenStreetMapLayer.Style bereitgestellt hat, können Entwickler ihre eigenen URLs für einen OpenStreetMapLayer explizit mit dem OpenStreetMapLayer.TileServers-Eigenschaft. Bei Verwendung der OpenStreetMapLayer.TileServers-Eigenschaft wird die OpenStreetMapLayer.Style-Eigenschaft ignoriert. Die OpenStreetMapLayer.TileServerList-Klasse ist eine Listensammlung von Strings, die die URLs zu verschiedenen kartenbasierten OpenStreetMap-Servern sind. Im Folgenden finden Sie ein XAML-Beispiel zum Angeben bestimmter URLs mithilfe der OpenStreetMapLayer.TileServers-Eigenschaft beim Definieren eines neuen OpenStreetMapLayer:

Es ist wichtig zu verstehen, dass in der OpenStreetMapLayer.TileServerList nur eine URL benötigt wird. Wenn mehrere URLs in der OpenStreetMapLayer.TileServerList enthalten sind, sollten alle Kartenserver dieselben Basisdaten bereitstellen. Der Grund für die Möglichkeit, mehrere URLs in OpenStreetMapLayer.TileServerList anzugeben, besteht darin, die Leistung zu verbessern, indem die Anforderungen der Clientanwendung auf mehrere Server verteilt werden. Wenn in der OpenStreetMapLayer.TileServerList verschiedene OpenStreetMap-basierte Kartendienste angegeben sind, führen die Kacheln, die zusammen im Esri Map-Steuerelement platziert werden, zu unerwarteten Ergebnissen. Angenommen, für die OpenStreetMapLayer.TileServers-Eigenschaft werden im folgenden XAML-Beispielcode drei verschiedene kartenbasierte OpenStreetMap-Dienste verwendet:

Im Folgenden sehen Sie einen Screenshot des vorherigen XAML-Codefragments, der die unerwünschten Ergebnisse der Anwendung zeigt, die auftreten, wenn verschiedene kartenbasierte Dienste in der OpenStreetMap.TileServers-Eigenschaft verwendet wurden:

Immer wenn ein OpenStreetMapLayer in einer Produktionsanwendung verwendet wird, die auf Diensten der OpenStreetMap-Organisation basiert, ist es gemäß ihrer Lizenzvereinbarung erforderlich, die entsprechende Gutschrift für die Verwendung ihrer Daten bereitzustellen. Die Kreditinformationen für Karten, die von der OpenStreetMap-Organisation bereitgestellt werden, werden in der OpenStreetMapLayer.AttributionTemplate-Eigenschaft gespeichert. Die Anzeige der Kreditinformationen in Ihrer Anwendung erfolgt am einfachsten, indem Sie Ihrer Clientanwendung ein Esri Attribution-Steuerelement hinzufügen und die Eigenschaft Attribution.Layers an OpenStreetMapLayer binden. Im Folgenden finden Sie ein XAML-Beispiel, wie dies erreicht wird:

OpenStreetMap wird unter der Create Commons-Lizenz "Attribution-Share Alike 2.0 Generic" veröffentlicht.


7 Antworten 7

Aufgrund Ihres Inputs konnte ich mein Ziel erreichen. Hier ist mein Code für andere, die einen Ausgangspunkt für OSM suchen. (Natürlich gibt es noch viel Raum für Verbesserungen).

Bitte respektieren Sie die Nutzungsrichtlinien von Open Street Map!

  • Starke Nutzung (z. B. das Verteilen einer App, die Kacheln von openstreetmap.org verwendet) ist ohne vorherige Genehmigung der Operations Working Group verboten. Siehe unten für Alternativen.
  • Zeigen Sie die Lizenzzuordnung deutlich an.
  • Fördern Sie nicht aktiv oder passiv Urheberrechtsverletzungen.
  • Aufrufe von /cgi-bin/export dürfen nur durch direkte Endbenutzeraktion ausgelöst werden. (Zum Beispiel: „klicken Sie hier, um zu exportieren“.) Der Export-Aufruf ist eine teure (CPU+RAM) Funktion und wird häufig abgelehnt, wenn der Server unter hoher Last steht.
  • Empfehlung: Geben Sie keine URL auf tile.openstreetmap.org fest, da dies Ihre Reaktionsfähigkeit bei Störungen oder Blockierungen des Dienstes einschränkt.
  • Empfohlen: Fügen Sie einen Link zu https://www.openstreetmap.org/fixthemap hinzu, damit Ihre Benutzer Probleme in unseren Daten melden und beheben können.
  • Gültiger HTTP-Benutzer-Agent, der die Anwendung identifiziert. Wenn Sie den User-Agent einer anderen App vortäuschen, werden Sie blockiert.
  • Falls bekannt, ein gültiger HTTP-Referer.
  • Senden Sie KEINE No-Cache-Header. („Cache-Control: kein Cache“, „Pragma: kein Cache“ etc.)
  • Cache Tile lädt lokal gemäß HTTP Expiry Header herunter, alternativ mindestens 7 Tage.
  • Maximal 2 Download-Threads. (Die Download-Thread-Limits von unmodifizierten Webbrowsern sind akzeptabel.)

Aufbauend auf der netten Antwort von BerndGit füge ich eine leicht modifizierte Version hinzu, die es ermöglicht, andere Inhalte zusammen mit den Kacheln anzuzeigen (mit Basemap). Übrigens, ich bin auf eine dedizierte Bibliothek gestoßen, geotiler (http://wrobell.it-zone.org/geotiler/intro.html), die jedoch Python 3 erfordert.

Es ist nicht so sehr komplex. Eine kleine Anleitung erhalten Sie unter diesem Link, wo die Komplexität von Kacheln im Detail erklärt wird.

Es kann hier kaum reproduziert werden, aber generell muss man

  • Bestimmen Sie die benötigten Fliesen per Formel
  • laden Sie sie von ihrem Server (es gibt eine bestimmte Auswahl an Kartenstilen)
  • eventuell in beide Richtungen verketten
  • und zeige sie dann an.

Beachten Sie, dass Sie möglicherweise Probleme mit dem Seitenverhältnis haben, die Sie ebenfalls lösen müssen.

Bearbeiten: OpenStreetMap gibt an, dass ihre Kachelserver nicht kostenlos verwendet werden können und einer Nutzungsrichtlinie unterliegen:
https://operations.osmfoundation.org/policies/tiles/
Bitte lesen Sie dies, bevor Sie das Beispiel verwenden.

Da ich Probleme bei der Implementierung des Codes in Python 3.8 hatte, habe ich einige der Antworten zusammengeführt und den Code modifiziert. Jetzt funktioniert es bei mir und ich bekomme keine Fehlermeldungen.
Als ich versuchte, den Originalcode von BerndGit in Python 3 auszuführen, musste ich die gleichen Änderungen vornehmen wie Joining Dots in seiner Antwort beschrieben. ich ersetzte

weil die urllib2-Bibliothek nicht mehr mit Python 3 funktioniert. Sie müssen urllib.request oder Requests verwenden.
Dann musste ich diese beiden Zeilen aus der Funktion getImageCluster ändern change

Danach konnte ich den Code ohne Fehler ausführen, aber die Bilder konnten immer noch nicht heruntergeladen werden. Dadurch habe ich immer eine schwarze Fliese bekommen. Durch einige Recherchen habe ich gelernt, dass es wichtig ist, einen User-Agent während der Verwendung von Anfragen zu fälschen, da die Website erkennen könnte, dass die Anfrage von Python kommt und sie möglicherweise blockiert. Die folgende Website beschreibt dies:
https://www.scrapehero.com/how-to-fake-and-rotate-user-agents-using-python-3/
Also folgte ich den Vorschlägen von der Website, die dazu führten, dass diese Zeile direkt am Anfang der Funktion getImageCluster hinzugefügt wurde:

Jetzt müssen wir diese Header in den Request-Aufruf einbinden:

Der ganze Code sieht jetzt so aus:

Das Ergebnis ist folgendes:


GIS spielt eine entscheidende Rolle bei der US-Telekommunikationsplanung und -sicherheit

Die USA sind jedes Jahr im Notfall mit Tausenden von nationalen Sicherheitsbedrohungen konfrontiert, daher ist es unerlässlich, dass unsere drahtlosen Telekommunikationssysteme aktiv und verteidigbar sind. Aus diesem Grund stellt das Institute for Telecommunication Sciences, das Forschungs- und Ingenieurlabor der National Telecommunications and Information Administration, einer Behörde des US-Handelsministeriums, einer Reihe von Regierungsbehörden Verbreitungsmodelle zur Verfügung, die für die Planung der drahtlosen Kommunikation unerlässlich sind.

ITS liefert seit vor dem Zweiten Weltkrieg Vorhersagen zur Ausbreitung von Funkwellen, aber die Zeiten haben sich geändert. Da genaue geografische Informationen für die Entwicklung genauer Ausbreitungsmodelle von entscheidender Bedeutung sind, hat ITS in jüngerer Zeit Website-Tools zur Ausbreitungsmodellierung entwickelt, die kommerzielle geografische Informationssysteme verwenden, um sowohl geografische Daten zu erfassen als auch geografische Abdeckungsgebiete anzuzeigen.

Frühere Ausbreitungsmodellierungsprogramme erforderten von Regierungsbenutzern ein konkretes Verständnis der Funkausbreitungs- und Vorhersagekonzepte, aber viele dieser Modelle wurden auf neue Programme portiert, die in einer Windows®-Umgebung arbeiten und in das am häufigsten verwendete proprietäre Esri™ Geographic Information System-Programm integriert werden von seinen Sponsorenagenturen. Diese Implementierung erfordert nur, dass Benutzer lizenzierte kommerzielle Software installieren und über einige Kenntnisse in der Verwendung dieser Software verfügen.

Aber die Zeiten haben sich wieder geändert. Die Bundesregierung hat eine digitale Strategie entwickelt, die unter anderem das Ziel festlegt, vorhandene hochwertige Daten und Inhalte über Web-APIs verfügbar zu machen und einen gemeinsamen Plattformansatz zur Entwicklung und Bereitstellung digitaler Dienste zu nutzen, um Kosten zu senken und Doppelarbeit zu reduzieren. So begann ITS vor sieben Jahren mit Unterstützung von Sponsoren des Verteidigungsministeriums mit der Entwicklung einer neuen Generation von webbasierten GIS-Lösungen für die Ausbreitungsvorhersage. NowITS verbreitet Softwareanwendungen, die die Abhängigkeit von lizenzierten Softwareanwendungen reduzieren, und ermöglicht Endbenutzern den Zugriff auf die Modelle über eine Webschnittstelle, die Propagation Modeling Website. Das PMW verwendet kommerzielles GIS, um sowohl geografische Daten zu erfassen als auch geografische Abdeckungsgebiete anzuzeigen. Es deckt Funkfrequenzen von 1 MHz bis 20 GHz ab.

Der PMW-Anmeldebildschirm ist in Abbildung 1 dargestellt. Benutzer können sich bei einem zentralen Server anmelden, um Ausbreitungsanalysen, Speicherung und Abruf durchzuführen. PMW umfasst die Fähigkeit, Ausbreitungsanalysen mit einem der folgenden Ausbreitungsmodelle durchzuführen: TIREM 3.15 Longley-Rice 1.22 COST 231 Extended Okumura-Hata Ungestörtes Feld/Mobile-to-Mobile und ICEPAC. Ausbreitungsanalysen mit allen fünf Modellen können entweder im Einzel- oder im Batch-Transmitter-Modus durchgeführt werden, wobei für jede Analyse ein separater Thread verwendet wird.

Abbildung 1. Benutzer melden sich über diesen PMW-Anmeldebildschirm an einem zentralen Server an.

Benutzer können Ausbreitungsanalysen im .kmz-Format sowie GIS-Shape- oder Esri-Layer-Dateien exportieren, um sie mit Google Earth oder einem anderen GIS wie der ArcGIS for Desktop-Anwendung von Esri zu verwenden. Abbildung 2 zeigt ein Beispiel für Feldstärkestudien von vier der fünf Modelle, die aus PMW exportiert und in Google Earth importiert wurden.

Abbildung 2. Diese Feldstärkestudie verwendet das Longley-Rice-Modell für einen Sender südwestlich von Boulder, Colorado. Die Analyse wurde in PMW ausgeführt und dann in GoogleEarth importiert.

Im Einzelanalysemodus können Benutzer einen Sender aus einer eingebetteten interaktiven Kartenanzeige geografisch auswählen. Im Batch-Modus können Benutzer eine Excel-Senderdatei laden und die gewünschten Sender auf der Karte darstellen, bevor die Analyse ausgeführt wird. Diese Funktionalität wurde mit den Open-Source-Produkten OpenStreetMap und OpenLayers entwickelt.

Die PMW wird mit fünf Zoomstufen für die Karte ausgeliefert, was in etwa einem Maßstab von 4.888 Metern pro Pixel entspricht. Die PMW wird mit zusätzlichen Zoomstufen bis 12 oder einem Maßstab von 76 Metern pro Pixel ausgeliefert. OpenStreetMap bietet 20 Zoomstufen, um einen Maßstab von 0,298 Metern zu erreichen, aber das Rendern jeder Kachel für 20 Zoomstufen würde zu einem Speicherbedarf von 54 Terabyte führen. Abbildung 3 zeigt die auf Ebene 12 gezoomte Webkarte. Der Grund für das Verpacken und Versenden der geografischen Daten mit der Software ist, dass viele PMW-Benutzer in einer sicheren Umgebung arbeiten und keine Verbindung zum Internet herstellen können, um die Daten dynamisch zu aktualisieren.

Abbildung 3. Die eingebettete Webkarte zeigt den geografischen Standort der vorgeschlagenen Sender.

Das PMW ist derzeit an die Bedürfnisse der ITS-Sponsoren angepasst, zu denen mehrere DoD-Agenturen und der National Weather Service gehören, und steht nur US-Regierungsbehörden zur Verfügung. Um den unterschiedlichen Sicherheitsanforderungen von Verteidigungs- und Zivilbehörden gerecht zu werden, kann die Lösung entweder im eigenen sicheren Intranet der Behörde oder auf einer von ITS gehosteten sicheren Website implementiert werden. Da das PMW extrem modular aufgebaut ist, kann das PMW mit dem Beitritt neuer Sponsoren an zusätzliche Bedürfnisse und Anforderungen angepasst werden. Zum Beispiel verwendet NWS die Tools, um die Funkabdeckung der US-Bevölkerung abzubilden, um sicherzustellen, dass seine All-Hazards-Notrufnachrichten mindestens 95 % der Bevölkerung erreichen. DoD-Agenturen können das Tool für Aufgaben wie die Planung des Standorts und der Dichte von Sendern und Repeatern für neue oder ad-hoc-sichere Kommunikationsnetze verwenden.

Die PMW-Lösung integriert kommerzielle, handelsübliche GIS-, Datenbank- und Webentwicklungsprodukte in eine vollständig anpassbare Analyseumgebung, die auf die individuellen Kundenbedürfnisse zugeschnitten werden kann. Die Lösung wurde kosteneffizient, modular und skalierbar konzipiert. Es arbeitet in einer Windows-Umgebung und verwendet weit verbreitete Tools und Dienstprogramme. Benutzer können von praktisch jedem Desktop oder Laptop über eine Browseroberfläche auf die Modelle zugreifen. Die bei der Entwicklung des PMW verwendete Hardware umfasste eine Dual-Quad-Core-Webentwicklungsmaschine mit 32 GB RAM. Die Software beinhaltete: Windows Server 2008 R2, Esri ArcMap 10.1, Visual Studio 2010, SQL Server 2008, .NET 4.0 und IIS 7.5.

Aufgrund der großen Auswahl an verfügbaren GIS-Datenbanken können Kundenagenturen Gelände-, Satelliten- und Flugzeugbilder, Bodenverkehrsinfrastruktur, Gebäudedaten und/oder Bevölkerungsverteilung einbeziehen. Durch die Entwicklung von PMW hat ITS Systemtools bereitgestellt, die Regierungsbehörden dabei helfen, ihre Telekommunikationsinfrastruktur durch Soundsystemplanung und Interferenzerkennung für die nationale Sicherheit und öffentliche Sicherheit effizient zu verwalten.


Datenressourcen

Es ist unmöglich, sie alle aufzulisten, und einige werden redundante Daten haben, aber hier sind einige Starter:

Clearingstellen

  • ArcGIS Online – http://www.arcgis.com/index.html
    • “die führende Sammlung von geografischen Informationen aus der ganzen Welt”. Daten aus dem Living Atlas können direkt in ArcGIS und andere Softwareanwendungen geladen werden. Besorgen Sie sich ein Brown Organizational Account, um alle Funktionen von ArcGIS Online nutzen zu können.
    • “ein kollaborativer Katalog offener Geodaten-Websites auf der ganzen Welt” – diese Website enthält eine Vielzahl von Daten, die nach Ort, Thema und Tag gefiltert werden können
    • Crowdsourcing von GIS-Daten aus der ganzen Welt
    • kuratierte Datensätze für viele verschiedene Themen von anderen Websites und Clearinghouseshouse
    • durchsuchbar nach Stichwort, Thema etc.
    • “Der Humanitäre Datenaustausch (HDX) ist eine offene Plattform für den krisen- und organisationsübergreifenden Datenaustausch. HDX wurde im Juli 2014 eingeführt und hat sich zum Ziel gesetzt, humanitäre Daten einfach zu finden und für Analysen zu verwenden.”
    • Über den Datenlink oben auf der Seite gelangen Sie zu https://data.humdata.org/dataset, wo Sie links Filter für Geodaten, Dateiformate usw.
    • Diese Site ist eine Clearingstelle für Geodatensätze, die über OGC-Webdienste angeboten werden, dh hauptsächlich Cloud-basierte Daten anstelle von Daten, die Sie herunterladen (obwohl Sie je nach Art des Dienstes (WMS, WFS, WCS, WMTS) möglicherweise eine Download-Fähigkeit haben als Gut)

    Globaler AdministratorIstrative Grenzen


    Verwenden von OpenStreetMap-Kacheln in ArcMap - Geographic Information Systems

    Das Kacheln großer Karten ist eine alte Praxis. Große Papierkarten sind seit jeher in eine Reihe von Kartenblättern in verschiedenen Maßstäben unterteilt. Mit der zunehmenden Popularität von Web-Mapping-Anwendungen und dem schnellen Wachstum der Verfügbarkeit von Kartendaten ist die Vorberechnung und Zwischenspeicherung von Kartenbildkacheln bei Kartenservern zu einer gängigen Praxis geworden, da sie weit weniger Serverressourcen verwenden als bei Bedarf gerenderte Karten. Auf diese Weise wird die Zeit, die der Client benötigt, um komplexe und qualitativ hochwertige Basiskarten anzuzeigen, hauptsächlich durch die Bandbreite seiner Verbindung mit dem Kartenserver begrenzt.

    Google war einer der ersten großen Kartenanbieter, der die gekachelten Webkarten einführte. Andere, wie Bing und OpenStreetMap, folgten der gleichen Praxis. GIS-Softwareanbieter wie Esri und Oracle bieten Funktionen für die Kartenkachelung und das Caching von Vektorlayern und Rasterbildern. Sie unterstützen auch ein- und mehrschichtige Fliesen. Im ersteren wird eine Gruppe von Layern zu einem einzelnen Bild pro Kachel kombiniert, während im letzteren diese Layer im Client als eine Sammlung von Layern mit aktivierter Feature-Auswahl und kontrollierbarer Sichtbarkeit erscheinen.

    Die Erstellung von Kartenkacheln erfolgt gemäß den Werten einer Reihe von Eigenschaften. Zu diesen Eigenschaften gehören die Form und Größe der Kacheln, die Nummerierung der Zoomstufen, das Unterteilungsschema einer Kachel, um die Kacheln in der nächsten Zoomstufe zu erhalten, die Nummerierung der einzelnen Kacheln und die Kartenprojektion von Kacheln. Das Kombinieren von Kacheln von verschiedenen Servern, einschließlich Mapping-Anbietern, kann einige einfache oder komplexe Transformationen erfordern. Die Standardisierung der Werte für die obigen Eigenschaften kann beim Rendern der abgerufenen Kacheln im Client Zeit sparen.

    Für diese Werte gelten die folgenden Google Maps-Konventionen. Alle Kartenkacheln sind quadratisch und gleich groß, d. h. 256𴣘 Pixel. Die Welt wird auf der äußersten Zoomstufe in einer einzigen Kachel gerendert und mit 0 nummeriert. Dieses Layout zeigt die Erde in der Web Mercator-Projektion (Breitengradwerte reichen von ungefähr -85,0511 bis +85,0511 Grad) und schließt Polargebiete aus. Die für alle Kacheln verwendete Projektion ist Web Mercator mit dem Datum WGS’84. Jede Kachel bei jeder Zoomstufe k wird durch 4 gleich große Kacheln bei der Zoomstufe k+1 ersetzt. Da die Größe jeder neuen Kachel immer noch 256𴣘 Pixel beträgt, ist die Pixelgröße auf Ebene k+1 viermal kleiner als die Pixelgröße auf Ebene k. Die Anzahl der Kacheln bei der Zoomstufe k beträgt 4^k, z. B. bei den Zoomstufen 3 und 17 gibt es 64 und 17.179.869.184 Kacheln, während die Bodenauflösung 20 km bzw. 1,19 m pro Pixel beträgt. Die Nummerierung einer Kachel bei Zoomstufe k wird durch ein Paar ganzer Zahlen (x, y) beschrieben, wobei x die Spaltennummer der Kachel ist, beginnend mit dem Längengrad 180 Grad und Richtung Osten, und y die Zeilennummer von die Kachel, ausgehend vom Breitengrad +85,0511 Grad und in Richtung Süden (Abbildung 1).

    Abbildung 1. Kachelschema von Google Maps: die ersten drei Zoomstufen, die Kacheln und ihre Nummerierung. Alle Kacheln sind quadratisch und haben 256𴣘 Pixel.

    Die meisten großen Mapping-Anbieter und -Anbieter haben sich bemüht, sich an die Konvention von Google anzupassen und/oder Transformationsfunktionen zu/von ihr bereitzustellen, um eine Standardisierung zu erreichen. Esri hat sich beispielsweise bereits 2009 dafür entschieden, ArcGIS Online auf das Kachelschema von Google umzustellen und die Kachelgröße von 512𴧘 Pixel auf 256𴣘 Pixel zu ändern. Das Kachelsystem von Bing Maps folgt einer interessanten Kachelcodierung, die auf Quadtree Spatial basiert Indexstruktur bzw. Diese Codierung wird als „Quadtree-Keys“ oder kurz „Quadkeys“ bezeichnet und optimiert die Speicherung und Indizierung von Kacheln.

    Das Abrufen von Kartenkacheln von einem Kartenserver zu einem Client kann beschleunigt werden, indem geeignete Indizierungs- und Zwischenspeicherungsstrategien auf drei Ebenen verwendet werden: dem Server, dem ISP und dem Client. Auf der Serverseite müssen Tile-Dateien entsprechend mit B+tree- oder Quadtree-Varianten indiziert werden, um ihren Zugriff bei Bedarf zu beschleunigen, während ein Caching-Prozess eine schnelle Bereitstellung der Tiles unterstützen kann. Sophisticated algorithms on top of index structures may efficiently support the access to adjacent tiles (after a pan operation) or tiles at different zoom levels (after a zoom in/out operation). At an intermediate Internet Service Provided (ISP), a shared cache can be established to allow multiple clients retrieve map tiles faster. At the client side, appropriate handling of cache memory content can save time by avoiding reloading recently fetched tiles.

    In 2010, the Open Geospatial Consortium (OGC) developed and published the Web Map Tile Service (WMTS) a standard protocol for serving pre-rendered georeferenced map tiles over the web. This service has extended the oldest and most popular standard for web mapping, the Web Map Service (WMS) to support tiles, and replaced the Tile Map Service (TMS) previously developed by the Open Source Geospatial Foundation (OSGeo). Currently, WMTS is a well-recognized and widely used service for tile request and serving.

    No doubt, a cached map service can drastically improve the time a client takes to fetch and display base maps and other map layers. However, the creation of pre-rendered tiles is a very time consuming task and it is recommended only for base maps and layers that change on a very slow cycle. In the planning phase of map cache creation it is also important to estimate how popular each tile could be. If some areas are expected to be downloaded very often in high resolution (e.g., downtown Toronto in high zoom levels), the generation and delivery of tiles may be worthy even for relatively dynamic layers. On the other hand, for unpopular areas (e.g., middle of the Atlantic Ocean in middle or high zoom levels), the pre-rendering map tiles may be a waste of time even for static layers.

    In the future, the major mapping providers are expected to offer more flexibility in the tiling structure and content. Among the new features could be the variable tile shapes and sizes, non-fixed zoom levels, enhanced multi-layer tiling, and a broad availability of tiles in different projections, not necessarily rectangular. Google Maps API already provides the “Projection” interface that only supports transformations into rectilinear coordinates and example tiles in Gall Peters projection. Offering tiles in various projections will provide alternative base maps to Web Mercator projection that introduces big distortions in high latitudes or excludes the polar areas from the world map.

    Keywords: Cached Map Service, Slippy map, Web Map Tile Service, Map Tile Server.


    Geographic Information System (GIS) characterization of benthic and emergent areas in the Intracoastal Waterway, Sarasota County, Florida in 1987 (NCEI Accession 0000607)

    This GIS layer graphically represents algae, seagrass, tidal marshes, mangroves, and oyster bed coverages found throughout the Intracoastal Waterway in Sarasota County. The layer contains three densities for seagrass (sparse, medium, and dense).

    Access & Use Information

    Downloads & Resources

    Navigate directly to the URL for a descriptive web page with download links.

    Navigate directly to the URL for a descriptive web page with download links.

    Navigate directly to the URL for data access and direct download.

    These data are available through the File Transfer Protocol (FTP). You may.

    Information for contacts at NCEI.

    Information for contacts at NCEI.

    Global Change Master Directory (GCMD). 2021. GCMD Keywords, Version 10.

    Global Change Master Directory (GCMD). 2021. GCMD Keywords, Version 10.

    Global Change Master Directory (GCMD). 2021. GCMD Keywords, Version 10.

    Dates

    Metadata Date 2013-04-23T18:18:48Z
    Metadata Created Date December 4, 2020
    Metadata Updated Date June 18, 2021
    Reference Date(s) December 20, 2010 (publication)
    Frequency Of Update asNeeded

    Graphic Preview

    Additional Metadata

    Didn't find what you're looking for? Suggest a dataset here.


    World Topographic Map

    Description: This map is designed to be used as a basemap by GIS professionals and as a reference map by anyone. The map includes administrative boundaries, cities, water features, physiographic features, parks, landmarks, highways, roads, railways, and airports overlaid on land cover and shaded relief imagery for added context.

    The map provides coverage for the world down to a scale of

    1:72k in Australia and New Zealand, India, Europe, Canada, Mexico, the continental United States and Hawaii, South America and Central America, Africa, and most of the Middle East. Coverage down to

    1:2k is available in select urban areas.

    This basemap was compiled from a variety of the best available sources from several data providers, including the U.S. Geological Survey (USGS), U.S. Environmental Protection Agency (EPA), U.S. National Park Service (NPS), Food and Agriculture Organization of the United Nations (FAO), Department of Natural Resources Canada (NRCan), GeoBase, Agriculture and Agri-Food Canada, Garmin, HERE, Esri , OpenStreetMap contributors, and the GIS user community. For details on data sources in this map service, view World Topographic Map Contributors (PDF) .

    As illustrated in the coverage map below, worldwide coverage is provided in World Standard and Advanced (down to

    1:1k) and World Basic (down to

    1:72k) regional coverage is provided in North America Standard and Advanced (down to

    Attribution: Sources: Esri , HERE, Garmin, Intermap, INCREMENT P, GEBCO, USGS, FAO, NPS, NRCan, GeoBase, IGN, Kadaster NL, Ordnance Survey, Esri Japan, METI, mapwithme, NOSTRA, © OpenStreetMap contributors, and the GIS user community

    Coordinate System: Web Mercator Auxiliary Sphere (WKID 102100)

    Map Service Data Format: Map server cache in JPEG format

    Metadata: When the data appliance is installed, citation data (also known as metadata) is automatically exposed through the REST endpoint for the World_Topo_Map service. These are not feature services but rather feature layers within a map service. The key difference is that feature layers can be queried, but they cannot be edited. With the Identify tool in ArcMap, you can see the resolution, collection date, and source of the imagery at the location you click. Values of 99999 mean that metadata is not available for that field. The metadata applies only to the best available imagery at that location. You may need to zoom in to view the best available imagery.


    Compiling the map data

    Ensure that your installation of YAAC is configured to place the tile directory in a disk partition that meets the above prerequisites for free space. Then select the File menu. OpenStreetMap submenu, and the Import Raw OSM Map File menu choice. This will display a file selection dialog:

    Select the OpenStreetMap dataset file (in compressed OSM XML format or protocol buffer format) that you wish to import. Then, adjust the import bounding box settings for the rectangular portion of the planet you wish to extract from the OSM file this allows you to not waste disk space and considerable processing time compiling parts of the OSM data that you will never use. Then click the Open button to begin the import.

    A progress dialog will now be displayed, reporting the statistics of importing the file, including counts of OpenStreetMap changesets, nodes, ways, and relations read from the input file and written to tile files.

    You may continue to use YAAC normally while the import is proceeding (although the strain the importer puts on the computer for large datasets may impact responsiveness). Note that the import will take several hours (at least 2 hours, possibly as long as 2 days for the entire planet, depending on your CPU and disk drive performance, how much of the planet you are reading, and whether you are using compressed XML or protocol buffer file format), so do not turn off your computer, click the Cancel button on the progress dialog, or stop running YAAC while the import is in progress. We suggest that you leave it running overnight, so that you will have your map data ready when you return to your computer in the morning. When the import is completed, the progress dialog will automatically close. At this point, any pan or zoom of the map display will cause rendering of the street map data for display in the background (assuming map display has not been disabled by the Select Geographical Map Layers menu choice).


    Schau das Video: Importing Shapefiles from OpenStreetMap to ArcMap easily (Oktober 2021).