You are not logged in.

#1 2021-06-05 13:15:48

Hannus57
Member
Registered: 2020-03-01
Posts: 16

POIs für ganz Europa nach Länderzugehörigkeit auftrennen.

Ich suche nach einer Lösung, das möglichst in einer lokalen Datenbank machen zu können. Es würde mir für jedes Land einzeln reichen.

Ich bin schon auf einen möglichen Lösungsansatz gestoßen.

Dabei werden alle Punkte (Koordinaten) innerhalb der jeweiligen Landesgrenzen einheitlich eingefärbt. Über die Farbe könnte man dann die Zuordnung vornehmen.

Mir fehlen aber noch ein paar Tipps zur Durchführung.

Offline

#2 2021-06-05 15:11:41

woodpeck
Member
Registered: 2009-12-02
Posts: 1,086

Re: POIs für ganz Europa nach Länderzugehörigkeit auftrennen.

Du lädst erstmal die OSM-Daten mit osm2pgsql in eine Postgres-Datenbank.

Dann ziehst Du Dir die POIs, die dich interessieren, in eine eigene Tabelle. Wie Du das genau machst, hängt davon ab, was Du genau willst; nehmen wir mal beispielhaft an, Dir reichen Restaurants und Cafes, dann erstellst Du erstmal eine Tabelle für die POIs:

create table my_poi (
   type varchar(32),
   name text,
   cuisine text,
   geom geometry('POINT', 3857)
);

kopierst die Punkt-POIs hinein

insert into my_poi 
select amenity as type, name,tags->'cuisine',way 
from planet_osm_point 
where amenity='restaurant' or amenity='cafe';

und dann noch die Mittelpunkte der Flächen-POIs:

insert into my_poi 
select amenity as type, name,tags->'cuisine',st_centroid(way) 
from planet_osm_polygon
where amenity='restaurant' or amenity='cafe';

Natürlich kannst Du beliebige andere POIs kopieren, oder noch zusätzliche Spalten wie Öffnungszeiten, Adressen usw. - Hauptsache, Du hast am Ende eine schöne Tabelle mit lauter POIs. Dann ziehst Du Dir der Einfachheit halber noch die Ländergrenzen ebenfalls in eine eigene Tabelle (das wäre nicht nötig, macht es aber klarer):

create table laender as 
select tags->'ISO3166-1' as isocode, tags->'name:de' as name, way as geom 
from planet_osm_polygon
where admin_level='2' and boundary='administrative';

Damit es gleich keine Ewigkeit dauert, hilft ein Index:

create index laneder_index on laender using gist(geom);

Und dann kannst Du Deiner POI-Tabelle eine Ländercode-Spalte verpassen und sie befüllen lassen:

alter table my_poi add column country_code varchar(5);
update my_poi 
set country_code=isocode 
from laender 
where st_contains(laender.geom,my_poi.geom);

Offline

#3 2021-06-05 18:12:21

Hannus57
Member
Registered: 2020-03-01
Posts: 16

Re: POIs für ganz Europa nach Länderzugehörigkeit auftrennen.

Danke erst mal. muß ich sehen wie ich das angepaßt bekomme.

Meine Pois existieren schon als SQLite Datenbank mit folgenden Spalten,
Longitude, Latitude, Platzanzahl, Platztyp, Platznummer, Preis, Name, Offen, Land, Plz, Ort, Strasse, Telefon, Email, Web, Beschreibung.
Bei den meisten sind die Adressen kpl. aber leider nicht immer richtig.
Für Sygic braucht man aber eine exakte Zuordnung zu den Ländern.

Offline

#4 2021-06-05 22:36:43

tagtheworld
Member
Registered: 2012-04-25
Posts: 230

Re: POIs für ganz Europa nach Länderzugehörigkeit auftrennen.

hallo und guten Abend Woodpeck hallo Hannus57

vielen Dank für diesen Thread  das ist alles sehr sehr interessant. Ich glaube ich wede auch mit einer Postgres-Datenbank anfangen

.
Du lädst erstmal die OSM-Daten mit osm2pgsql in eine Postgres-Datenbank.

vielen Dank nochmas - für die Tipps.


https://wiki.openstreetmap.org/wiki/User:Tagtheworld - interested in all things concerning osm especially those related to the languages Perl, PHP, Python and the databases MySQL and Postgresql.

Offline

#5 2021-06-07 17:02:33

Hannus57
Member
Registered: 2020-03-01
Posts: 16

Re: POIs für ganz Europa nach Länderzugehörigkeit auftrennen.

Da meine POIs nicht in OSM vorkommen, also auch nicht die passenden Koordinaten haben, wird das ganze so nicht funktionieren.

Offline

#6 2021-06-08 05:40:22

toc-rox
Member
From: Münster
Registered: 2011-07-20
Posts: 2,258
Website

Re: POIs für ganz Europa nach Länderzugehörigkeit auftrennen.

Du solltest mal detailliert beschreiben was du hast und was erreichen willst.

Offline

#7 2021-06-08 09:01:36

Hannus57
Member
Registered: 2020-03-01
Posts: 16

Re: POIs für ganz Europa nach Länderzugehörigkeit auftrennen.

Also ich erstelle Camping- und Stellplatzpois für alle möglichen Apps und Navis. Ist halt mein Hobby.

Einige Versionen von Sygic verlangen dafür eine exakte Trennung nach Ländern. Schon ein falsch liegender Poi läßt das Ganze scheitern
Da meine Quellen unter anderem die sehr unzuverlässigen Daten einiger Naviapps wie Park4nigt oder WohnmobilEU sind, bei denen Die Länderzuordnung oftmals fehlt oder falsch ist, suche ich nach einer einfachen Möglichkeit, diese zu korrigieren. Wobei die fehlenden Länder jetzt nicht das Problem sind, dafür hab ich eine Lösung.

Meine Daten liegen in einer Tabelle in einer SQLite Datenbank. Hieraus generiere ich durch entsprechende Abfragen fertige kml, gpx oder csv Dateien. Letztere auch als Vorstufen für TomTom, Sygic und andere.

Offline

Board footer

Powered by FluxBB