maurice118 hat geschrieben:
Was ich fragen wollte, gibt es schon ein script fur dass umsetzen von kml (google earth) auf csv.
Ja, gibt es (Bzw. ein Tool):
POIConverter: POIs zwischen diversen Formaten konvertierenNLD;9823;Media Markt;1101 DM;Amsterdam;ArenA Boulevard;123;4.942981;52.312636;;0;;;
NLD;9823;Media Markt;1315 BL;Almere;Brouwerstraat;3;5.216676;52.368109;;0;;;
NLD;9823;Media Markt;1823 CJ;Alkmaar;Noorderkade;1027;4.751835;52.633271;;0;;;
NLD;9823;Media Markt;2284 DJ;Rijswijk;Prins Willem Alexander Promenade;69;4.315863;52.037042;;0;;;
NLD;9823;Media Markt;2405 DB;Alphen aan den Rijn;Rijnplein;9;4.661768;52.129107;;0;;;
NLD;9823;Media Markt;3012 KA;Rotterdam;Binnenwegplein;50;4.477388;51.917958;;0;;;
NLD;9823;Media Markt;3067 GA;Rotterdam;Watermanweg;325;4.557546;51.950898;;0;;;
NLD;9823;Media Markt;3511 DG;Utrecht;Gildenkwartier;181;5.111411;52.091244;;0;;;
NLD;9823;Media Markt;6221 AE;Maastricht;Franciscus Romanusweg;2;5.699080;50.857052;;0;;;
NLD;9823;Media Markt;6711 AS;Ede;Brouwerstraat;21B;5.670230;52.046509;;0;;;
NLD;9823;Media Markt;6811 AG;Arnhem;Velperplein;13;5.913107;51.983623;;0;;;
NLD;9823;Media Markt;7511 HS;Enschede;Klanderij;63;6.898803;52.218100;;0;;;
NLD;9823;Media Markt;7559 SR;Hengelo;Het Plein;130;6.764142;52.287554;;0;;;
NLD;9823;Media Markt;8011 LL;Zwolle;Maagjesbolwerk;44;6.088164;52.512516;;0;;;
NLD;9823;Media Markt;9718 AC;Groningen;Westerhaven;48;6.556205;53.214654;;0;;;
NLD;9823;Media Markt;8924 CZ;Leeuwarden;Plein de Centrale;12;5.81949;53.2015;;0;;;
Ab hier nur straßengenau:
NLD;9823;Media Markt;2142 EV;Cruquius;Cruquiusplein;10;4.62889;52.3316;;0;;;
NLD;9823;Media Markt;2511 BH;Den Haag;Grote Marktstraat;17;4.312052;52.076531;;0;;;
NLD;9823;Media Markt;2711 JV;Zoetermeer;Burg. van Leeuwenpassage;30;4.484126;52.060944;;0;;;
NLD;9823;Media Markt;4336 RA;Middelburg;Mortiereboulevard;4;3.625843;51.479617;;0;;;
NLD;9823;Media Markt;4611 BG;Bergen op Zoom;Burgemeester Van Hasselt straat;3;4.2911;51.4933;;0;;;
NLD;9823;Media Markt;4814 RZ;Breda;Kruisvoort;14;4.731875;51.581642;;0;;;
NLD;9823;Media Markt;5611 AG;Eindhoven;Boschdijktunnel;1;5.474957;51.442481;;0;;;
NLD;9823;Media Markt;6411 LX;Heerlen;Corio Center;9;5.976592;50.889110;;0;;;
NLD;9823;Media Markt;7411 EH;Deventer;Boreelplein;38;6.164958;52.252706;;0;;;
maurice118 hat geschrieben:
Ich kann das ja mit poiconverter 4.08 machen, aber dan hab ich keine adresse mehr, nur die coordinaten. Oder mach ich was falsch?
Nein, machst Du nicht.
Das Problem ist, daß
jedes andere POI-Format minderwertig ggü. dem von Elektrobit ist, somit ist die Umwandlung von irgendwas in ein Elektrobit CSV (EBA CSV) eine Aufwärtskonvertierung und das ist zwangsläufig mit zusätzlichem Aufwand verbunden:
Es müssen die Informationen, die beim Herunterkonvertieren verloren gingen - oder gehen würden - wiederhergestellt werden.
maurice118 hat geschrieben:
Angesehen kml eine einfache xml ist und csv ein textfile dan kan mann auch ein eigenes script dafur schreiben, aber ich will natürlich keine dobbelte arbeit machen. Wenn es das schon gibt dan brauch ich ja keins zu schreiben.
Problem: s.o.
Es ist einfach eine Plage, dies zu tun. POI, die in einem gängigen POI-Format vorliegen, sind eigentlich bereits wertlos, da andere Formate nur die Angaben
- geographische Länge
- geographische Breite
- Beschreibung
bei Google XML noch zusätzlich:
- Höhe
speichern oder speichern können.
Im schlimmsten Fall hat man wirklich nur Länge und Breite und in der Beschreibung steht immer nur das selbe, z.B. "Lidl", "ALDI" oder z.B. "Media Markt", also eine Angabe, auf die wir zur Not noch selber gekommen wären.
Manchmal steht zwar die Adresse mit in der Beschreibung, dann muß man diese jedoch erstmal parsen (zerlegen), mangels fester Regeln zur Schreibweise und internationalen Abweichungen bei der Adreßschreibweise ist das aber eine Qual.
Richtig (Deutsch, Niederländisch, Österreichisch, Schweiz (zumindest deutschsprachige Schweiz)):
Thuarstraße 20
English:
20 Thuar Street
Spanish:
Calle Thuar, 20
Französisch:
20, Rue de Thuar
Belgisch:
Thuarstraße 20, Rue de Thuar
Das Chaos wird perfekt, wenn da noch die nationalen Eigenarten bei der Schreibung von PLZ und Ort sowie den Trennzeichen dazu kommen:
Media Markt, Thuarstraße 20, 12345 Beispieldorf
aber
Media Markt; 20 Thuar Street; Sample Village ABC DE
schlimmer noch:
Media Markt, 20 Thuar Street, Sample Village ABC DE
und
Media Markt, 20, Rue de 1945, 12354 Ville de Dingens
und dann gäbe es noch die Möglichkeit:
Media Markt, Thuarstraße 20, Ecke Hauptstraße, 12345 Beispieldorf
oder
Media Markt, über'm Kaufhof, Thuarstraße 20, 12345 Beispieldorf
oder
Media Markt, Im Weißdergeier-Center, Thuarstraße 20, 12345 Beispieldorf
Da weiß man beim Spalten entlang der Kommata gar nicht mehr, was am Ende in welcher "Spalte" gelandet ist.
Gerade beim Sammeln von Informationen aus verschiedenen Quellen ist es da leichter, diese Daten selber korrekt zu erfassen, als aus dem OV2, ASC oder KML-Müll noch was retten zu wollen.
Ausnahme sind eigentlich nur
- regelmäßig aktualisierte Daten, für die man sich dann ggf. einmalig ein Script bastelt, aber mehrmals die Daten aktualisiert
- die wenigen immer gleich strukturierten ASC, wie es eigentlich nur beim POI-Warner oder bei den NF (Dort aber auch erst seit kurzem) ist.
Bei den NF sind die ASC immer so aufgeteilt:
16.806701, 48.034495, "9422|2460 Bruck An Der Leitha| |GENOL Tankstelle*Eco-Plus-Park"
Die Beschreibung also:
"9422|2460 Bruck An Der Leitha| |GENOL Tankstelle*Eco-Plus-Park"
"NF-POI-ID|PLZ Ort|Straße Hausnummer|Name"
PLZ & Ort sowie Straße und Hausnummer kriegt man über reguläre Ausdrücke noch halbwegs zuverlässig gespalten, bei neueren ASC kann man auch einigermaßen darauf vertrauen, daß bei fehlenden Angaben trotzdem ein Feld reserviert ist, wie im obigen Fall für Straße und Hausnummer. Selbst die Zusatz-Info wie Telefon, Fax, Web usw. kriegt man (man ja, die NF selber nicht *g*) hin:
Einkaufs-POI durch mein Script gespalten:
DEU;9682;PEARL Computer Elektronik Fabrikverkauf Factory Outlet^n^Mo-Sa 9:00-20:00;79524;Auggen;Mittlerer Weg;25;6.5888567;78.791108;+49-190-51-51-595;0;;;;;;;14421;Mo-Sa 9:00-20:00
Einkaufs-POI bei den NF direkt im EBA-CSV-Format geladen:
6,45654;67,35634;PEARL Computer Electronic Fabrikverkauf Factory Outlet;79524;Auggen;Mittlerer Weg;25;+491905151595;DEU;14421
(Alle Angaben im Wert verfälscht damit der Datensatz wertlos ist, die NF reagieren empfindlich auf entnommene Daten)
Wie man sieht konnte ich sogar die Öffnungszeiten (Und bei anderen POI auch Websites, Telefax, eMail, etc.) parsen.
Die übliche Anordnung beim POI-Warner ist ganz einfach:
7.7508600,51.2351400,"[58791] (D Apotheke PLZ5) Engel Apotheke; Hauptstr. 5 [Werdohl]"
bezogen auf die Beschreibung:
"[58791] (D Apotheke PLZ5) Engel Apotheke; Hauptstr. 5 [Werdohl]"
liefert also eine regexp ähnlich
~ m/^\[(.*?)\] \((.*?)\) (.*); (.*?) \[(.*)\]$/gis;
in
$0 = PLZ
$1 = Overlay-Name
$2 = POI-Name
$3 = Straße und HNr.
$4 = Ort
Durch weitere reguläre Ausdrücke wird aus der Angabe $1:
Typ-ID
Landeskennung
und aus der Angabe $3
Straße
Hausnummer
Wie gesagt, macht aber nur Sinn, wenn es sich lohnt, weil man mehrere, ggf. immer wieder aktualisierte, ASC-Listen aus derselben Quelle mit immer derselben Formatierung auftun kann.
Ach ja, eine Ausnahme zur Auf- und Abwärtskonvertierung für KML<>EBA CSV gibt es:
Besagter POI-Converter kann EBA CSV so in Google KML umwandeln, daß eine verlustfreie Rückkonvertierung möglich ist. Wie gesagt, das gilt nur, wenn der POI-Converter selber ein EBA-CSV in KML umgewandelt hat. Für kein anderes KML!
Der POIConverter benutzt dann durch Google ignorierte Zusatzfelder in KML, um die Originalspalten zu sichern. Daher gehen auch Änderungen im KML an der Beschreibung beim Zurückkonvertieren wieder verloren, weil die Beschreibung nur für das KML aus den Einzelfeldern zusammengesetzt wird, beim Zurückwandeln aber die versteckt gespeicherten Einzelfelder benutzt werden.
Diese Konvertierung dient daher vor allem zwei Zwecken:
- KML ist das gewünschte Endformat für bereits fertig bearbeitete Datensätze, zum Beispiel zur Anzeige in Google Maps oder Google Earth
- Die Datensätze sollen nur zur Probe in Google Earth gesichtet, ggf. korrigiert, und dann wieder als EBA CSV weiterverarbeitet werden
maurice118 hat geschrieben:
Ubersetzen von csv nach psf fur gopal 4.7 ist dass schon möglich? So ja wie?
PSFCreatorCustomerApp.exe
aus der RC-Win 3.0 Demoversion.