Dies ist der Befehl osm2pgsql, der beim kostenlosen Hosting-Anbieter OnWorks mit einer unserer zahlreichen kostenlosen Online-Workstations wie Ubuntu Online, Fedora Online, dem Windows-Online-Emulator oder dem MAC OS-Online-Emulator ausgeführt werden kann
PROGRAMM:
NAME/FUNKTION
osm2pgsql – Openstreetmap-Daten-zu-PostgreSQL-Konverter.
ZUSAMMENFASSUNG
osm2pgsql [Optionen] planet.osm
osm2pgsql [Optionen] planet.osm.{gz,bz2,pbf}
osm2pgsql [Optionen] Datei1.osm Datei2.osm Datei3.osm
BESCHREIBUNG
Diese Handbuchseite dokumentiert kurz die osm2pgsql Befehl.
osm2pgsql importiert Daten aus OSM-Dateien in eine PostgreSQL-Datenbank, die für die Verwendung durch geeignet ist
Mapnik-Renderer oder der Nominatim-Geocoder.
OSM-Planeten-Snapshots können hier heruntergeladen werden http://planet.openstreetmap.org/. Teilweise
Planetendateien („Auszüge“) für verschiedene Länder sind verfügbar, siehe
http://wiki.openstreetmap.org/wiki/Planet.osm.
Auszüge im PBF-Format (ProtoBufBinary) sind ebenfalls erhältlich unter
http://download.geofabrik.de/osm/.
Beim Betrieb im „Slim“-Modus (und auf einer Datenbank, die im „Slim“-Modus erstellt wurde!), osm2pgsql können.
verarbeiten auch OSM-Änderungsdateien (OSC-Dateien) und bringen so eine bestehende Datenbank auf den neuesten Stand
Datum.
OPTIONAL
Diese Programme folgen der üblichen GNU-Befehlszeilensyntax, mit langen Optionen beginnend mit
zwei Striche (`-'). Nachfolgend finden Sie eine Zusammenfassung der Optionen.
-a|--append
Fügen Sie die OSM-Datei zur Datenbank hinzu, ohne vorhandene Daten zu entfernen.
-b|--bbox
Wenden Sie einen Begrenzungsrahmenfilter auf die importierten Daten an. Muss angegeben werden als:
minlon,minlat,maxlon,maxlat z.B --bbox -0.5,51.25,0.5,51.75
-c|--create
Entfernen Sie vorhandene Daten aus der Datenbank. Dies ist die Standardeinstellung, wenn --anhängen ist nicht
spezifiziert.
-d|--Datenbankname
Der Name der PostgreSQL-Datenbank, mit der eine Verbindung hergestellt werden soll (Standard: gis).
-i|--tablespace-index Tabellenbereichsname
Speichern Sie alle Indizes in einem separaten PostgreSQL-Tabellenbereich, der durch diesen Parameter benannt wird.
Dadurch ist es beispielsweise möglich, die Indizes auf schnelleren Speichern wie SSDs zu speichern.
--tablespace-main-data Tabellenbereichsname
Speichern Sie die Datentabellen (nicht schlank) im angegebenen Tabellenbereich.
--tablespace-main-index Tabellenbereichsname
Speichern Sie die Indizes der Haupttabellen (nicht schlank) im angegebenen Tabellenbereich.
--tablespace-slim-data Tabellenbereichsname
Speichern Sie die Slim-Mode-Tabellen im angegebenen Tabellenbereich.
--tablespace-slim-index Tabellenbereichsname
Speichern Sie die Indizes der Slim-Mode-Tabellen im angegebenen Tabellenbereich.
-l|--latlong
Speichern Sie Daten in Breiten- und Längengraden.
-m|--merc
Speichern Sie Daten im richtigen sphärischen Mercator (Standard).
-E|--proj num
Verwenden Sie die Projektion EPSG:num
-u|--utf8-sanitize
Reparieren Sie fehlerhafte UTF-8-Eingabedaten (in Planeten-Dumps vor August 2007 vorhanden). Fügt hinzu
ca. 10 % Overhead.
-p|--prefix Präfix_Zeichenfolge
Präfix für Tabellennamen (Standard: planet_osm).
-r|--input-reader-Format
Wählen Sie den Eingabeformat-Reader. Verfügbare Optionen sind libxml2 (Standard) für OSM XML
Dateien formatieren, o5m für o5m-formatierte Dateien und PBF für das Binärformat OSM PBF (möglicherweise nicht).
auf allen Plattformen verfügbar sein).
-s|--schlank
Speichern Sie temporäre Daten in der Datenbank. Ohne diesen Modus sind alle temporären Daten gelöscht
im RAM gespeichert und wenn Sie nicht über genügend RAM verfügen, funktioniert der Import nicht erfolgreich.
Mit dem Slim-Modus sollten Sie die Daten auch auf einem System mit eingeschränkter Funktionalität importieren können
RAM. Wenn Sie jedoch nicht über genügend RAM verfügen, um mindestens alle Knoten zwischenzuspeichern, kann dies der Fall sein
Die Zeit zum Importieren der Daten wird sich wahrscheinlich erheblich verlängern.
--Tropfen
Löschen Sie die Slim-Mode-Tabellen aus der Datenbank, sobald der Import abgeschlossen ist. Das kann
Reduzieren Sie die Größe der Datenbank erheblich, wie dies normalerweise bei Tabellen im Slim-Modus der Fall ist
gleich groß, wenn nicht sogar etwas größer als die Haupttische. Es ist jedoch nicht
Reduzieren Sie den maximalen Spitzenwert der Festplattennutzung während des Imports. Es kann außerdem zunehmen
die Importgeschwindigkeit, da für die Slim-Mode-Tabellen keine Indizes erstellt werden müssen, die
(abhängig von der Hardware) kann die Importzeit nahezu halbieren. Slim-Mode-Tische haben jedoch
um dauerhaft zu sein, wenn Sie Ihre Datenbank wie diese Tabellen aktualisieren möchten
werden für die Diff-Verarbeitung benötigt.
-S|--style /path/to/style
Speicherort der osm2pgsql-Stildatei. Dies gibt an, welche Tags aus den Daten erhalten werden
in Datenbankspalten importiert und welche Tags gelöscht werden. Standardmäßig ist
/usr/share/osm2pgsql/default.style.
-C|--cache num
Nur für den Slim-Modus: Verwenden Sie bis zu viele MB RAM zum Caching von Knoten. Geben
Der ausreichende Cache von osm2pgsql zum Speichern aller importierten Knoten nimmt normalerweise erheblich zu
die Geschwindigkeit des Imports. Jeder zwischengespeicherte Knoten benötigt 8 Byte Cache plus etwa 10 %
- 30 % Gemeinkosten. Für einen aktuellen OSM-Vollplanetenimport mit seinen ~ 3 Milliarden Knoten a
Ein guter Wert wäre 27000, wenn Sie über genügend RAM verfügen. Wenn Sie nicht über genügend RAM verfügen, können Sie dies tun
Es ist wahrscheinlich von Vorteil, osm2pgsql nahezu die volle verfügbare RAM-Menge zu geben.
Standardmäßig ist 800.
--cache-strategy Strategie
Es gibt verschiedene Modi, in denen osm2pgsql seinen Knoten organisieren kann
Cache im RAM. Diese sind für unterschiedliche Annahmen der Daten und der Daten optimiert
verfügbare Hardware-Ressourcen. Derzeit verfügbare Strategien sind dicht, zerkleinert,
spärlich und optimiert. dicht geht davon aus, dass die Knoten-ID-Nummern dicht gepackt sind,
Dh es fehlen/löschen nur wenige IDs im Bereich. Für Planetenextrakte ist dies der Fall
Dies ist normalerweise nicht der Fall, wodurch der Cache sehr ineffizient ist und RAM verschwendet wird. spärlich
geht davon aus, dass die Knoten-IDs in den Daten nicht dicht gepackt sind, was die Zwischenspeicherung erheblich erhöht
Effizienz in diesen Fällen. Wenn Knoten-IDs dicht gepackt sind, beispielsweise vollständig
Planet, diese Strategie hat einen höheren Aufwand für die Indizierung des Caches. optimiert verwendet
sowohl dichte als auch spärliche Strategien für verschiedene Bereiche des ID-Raums. Auf einem Block
Auf Blockbasis wird versucht zu bestimmen, ob es effektiver ist, den Block von zu speichern
IDs im Sparse- oder Dense-Modus. Dies ist die Standardeinstellung und sollte normalerweise verwendet werden.
-U|--username Name
Postgresql-Benutzername.
-W|--passwort
Passwortabfrage erzwingen.
-H|--host Hostname
Hostname oder Socket-Standort des Datenbankservers.
-P|--Portnr
Datenbankserver-Port.
-e|--expire-tiles [min_zoom-]max-zoom
Erstellen Sie eine Ablaufliste für Kacheln.
-o|--expire-output /path/to/expire.list
Name der Ausgabedatei für die Liste der abgelaufenen Kacheln.
-o|--Ausgabe
Gibt das zu verwendende Ausgabe-Backend oder Datenbankschema an. Derzeit osm2pgsql
unterstützt pgsql, Ortsverzeichnis und null. pgsql ist das Standard-Ausgabe-Backend/Schema
und ist für das Rendern mit Mapnik optimiert. Ortsverzeichnis ist ein Datenbankschema, das für optimiert ist
Geokodierung und wird von Nominatim verwendet. null schreibt keine Ausgabe und ist nur
nützlich zum Testen.
-x|--extra-attributes
Fügen Sie Attribute für jedes Objekt in die Datenbank ein. Dazu gehören der Benutzername,
Benutzer-ID, Zeitstempel und Version. Hinweis: Auch für diese Option sind zusätzliche Eingaben erforderlich
in Ihrer Style-Datei.
-k|--hstore
Fügen Sie Tags ohne Spalte zu einer zusätzlichen hstore-Spalte (Schlüssel/Wert) in PostgreSQL hinzu
Tabellen.
-j|--hstore-all
Fügen Sie alle Tags zu einer zusätzlichen hstore-Spalte (Schlüssel/Wert) in PostgreSQL-Tabellen hinzu.
-z|--hstore-column Schlüsselname
Fügen Sie eine zusätzliche hstore-Spalte (Schlüssel/Wert) hinzu, die alle Tags enthält, die mit dem beginnen
Die angegebene Zeichenfolge, z. B. --hstore-column „name:“, erzeugt eine zusätzliche hstore-Spalte
das alle name:xx-Tags enthält
--hstore-match-only
Behalten Sie nur Objekte bei, die einen Wert in einer der Spalten haben (normale Aktion mit
--hstore soll alle Objekte behalten).
--hstore-add-index
Erstellen Sie während des Imports Indizes für die hstore-Spalten.
-G|--melts-geometry
Normalerweise teilt osm2pgsql mehrteilige Geometrien in separate Datenbankzeilen auf
Teil. Eine einzelne OSM-ID kann daher mehrere Zeilen haben. Mit dieser Option,
PostgreSQL generiert stattdessen Multi-Geometrie-Features in den PostgreSQL-Tabellen.
-K|--keep-coastlines
Behalten Sie Küstendaten bei, anstatt sie herauszufiltern. Standardmäßig ist natural=coastline
Markierte Daten werden verworfen, basierend auf der Annahme, dass Coastline nachverarbeitet wurde
Es werden Schachbrettformdateien verwendet.
--exclude-invalid-polygon
OpenStreetMap-Daten werden in Bezug auf Knoten, Wege und Beziehungen definiert und nicht in
Begriffe tatsächlicher geometrischer Merkmale. Osm2pgsql versucht daher, Postgis zu erstellen
Geometrien aus dieser Datendarstellung. Allerdings nicht alle Wege und Beziehungen
entsprechen gültigen Postgis-Geometrien (z. B. sich selbst schneidende Polygone). Von
Standardmäßig versucht osm2pgsql, diese Geometrien mithilfe von automatisch zu korrigieren ST_Buffer(0)
um die ungültigen Polygone herum. Mit dieser Option werden stattdessen einfach ungültige Polygone angezeigt
aus der Datenbank gelöscht.
--unlogged
Verwenden Sie die nicht protokollierten Tabellen von Postgresql zum Speichern von Daten. Dies erfordert PostgreSQL 9.1 oder
über. Daten, die in nicht protokollierte Tabellen geschrieben werden, werden nicht in die Write-Ahead-Funktion von PostgreSQL geschrieben
log, was sie erheblich schneller macht als gewöhnliche Tabellen. Allerdings sind sie es
nicht absturzsicher: Eine nicht protokollierte Tabelle wird nach einem Absturz oder automatisch abgeschnitten
unsauberes Herunterfahren.
--number-processes num
Gibt die Anzahl paralleler Prozesse an, die für bestimmte Vorgänge verwendet werden. Wenn Festplatten
schnell genug sind, z. B. wenn Sie eine SSD haben, kann dies die Geschwindigkeit erheblich erhöhen
die Phasen „Durchgehen ausstehender Wege“ und „Durchgehen ausstehender Beziehungen“ auf a
Multi-Core-Server.
-I|--disable-parallel-indexing
Standardmäßig initiiert osm2pgsql die Indexerstellung für alle Tabellen parallel
Leistung verbessern. Dies kann auf langsamen Festplatten von Nachteil sein, oder wenn Sie keine haben
Genug RAM für PostgreSQL, um bis zu 7 parallele Indexerstellungsprozesse durchzuführen
(z. B. weil Maintenance_work_mem hoch gesetzt ist).
--flat-nodes /path/to/nodes.cache
Der Flat-Nodes-Modus ist eine separate Methode zum Speichern von Knoteninformationen im Slim-Modus
Scheibe. Anstatt diese Informationen in der Hauptdatenbank von PostgreSQL zu speichern, ist dies
Der Modus erstellt eine eigene separate benutzerdefinierte Datenbank zum Speichern der Informationen. Als dies
Die benutzerdefinierte Datenbank verfügt über Kenntnisse auf Anwendungsebene über die zu speichernden Daten, ist dies jedoch nicht
Für allgemeine Zwecke können die Daten viel effizienter gespeichert werden. Speichern des Knotens
Informationen für den gesamten Planeten erfordern in PostgreSQL etwa 100 GB, also die gleichen Daten
wird im Flat-Nodes-Modus in nur ~16 GB gespeichert. Dadurch kann auch die Geschwindigkeit erhöht werden
der Anwendung von Diff-Dateien. Diese Option aktiviert den Flat-Nodes-Modus und legt fest
Speicherort der Datenbankdatei. Es handelt sich um eine einzelne große Datei mit > 16 GB. Dieser Modus ist nur
Empfohlen für Importe ganzer Planeten, da es bei kleinen Extrakten nicht gut funktioniert.
Die Standardeinstellung ist deaktiviert.
-h|--hilfe
Hilfeinformationen.
Speichern -v um unterstützte Projektionen anzuzeigen.
-v|--verbose
Ausführliche Ausgabe.
UNTERSTÜTZT PROJEKTIONEN
Latlong (-l) SRS: 4326 (keine)
Sphärischer Mercator (-m) SRS:900913 +proj=merc +a=6378137 +b=6378137 +lat_ts=0.0
+lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +no_defs +over
EPSG-definiert (-E) SRS: +init=epsg:(wie im Parameter angegeben)
Verwenden Sie osm2pgsql online über die Dienste von onworks.net