x

Re: Europa Extrahieren in die Datenbank


Geschrieben von woodpeck (Gast) am 29. März 2021 07:58:54: [flux]

Als Antwort auf: Europa Extrahieren in die Datenbank geschrieben von rbrose (Gast) am 28. März 2021 21:40:

Also auf jeden Fall osm2pgsql statt osmosis für den Import nehmen, wie toc-rox schon gesagt hat. Wenn Du nur die Grenzen brauchst und sonst nichts, dann kannst Du auch das "style-File" von osm2pgsql anpassen, so dass nicht alle Gebäude usw. auch importiert werden. Danach musst du mit Postgresql-Geometrieoperationen arbeiten, zum Beispiel könntest Du wie folgt erstmal die Grenzen in eine separate Tabelle ziehen:

SELECT␣osm_id,name,admin_level,way
INTO␣grenzen
FROM␣planet_osm_polygon
WHERE␣boundary='administrative';

Index erstellen, damit es keine drei Tage rechnet:

CREATE␣INDEX␣grenzen_geom␣ON␣grenzen␣USING␣GIST(way);

und unter der Annahme, dass Dein "rpath" einfach eine durch Kommata getrennte Liste aller darüberliegenden Verwaltungseinheiten ist

ALTER␣TABLE␣grenzen␣ADD␣COLUMN␣rpath␣VARCHAR(255);
UPDATE␣grenzen␣a
SET␣rpath␣=␣(
SELECT␣string_agg(b.name,␣','␣ORDER␣BY␣admin_level␣desc)
FROM␣grenzen␣b
WHERE␣st_contains(b.way,␣a.way)
AND␣a.admin_level::integer␣>␣b.admin_level::integer
);