Beiträge: 9
Themen: 2
Registriert seit: Sep 2024
Bewertung:
0
Office-Version:
- Office 2016/2019 Kaufversion
- Office 365 Abonnement
Hallo Excelaner,
folgender Hintergrund.
Ich betreibe schon lange Ahnenfroschung und nehme neben den Generalogie Programm auch Excel (2024 LTSC und O365) als Grundlage für Statikstiken und Auswertungen, welches mir die bekannten Programme nicht so liefern können, wie ich es gern hätte.
Erster Schritt zb. = Json.Document(Web.Contents("https://nominatim.openstreetmap.org/search?format=json&q= ORT%2C+ LAND"))
Liefert mir hoffentlich nur einen Record (haut bei Rabat hin, weil einzig) ..
Funktioniert bei Orten die mehrfach im Land vorkommen suboptimal .. abder damit kann ich noch leben ...
Problem zum hier bei Rabat ist aber:
= Json.Document(Web.Contents("https://nominatim.openstreetmap.org/search?format=json&q=Rabat%2C+Marokko"))
Liefert Rabat ⵔⴱⴰⵟ الرباط, باشوية الرباط, Préfecture de Rabat عمالة الرباط, Rabat-Salé-Kénitra ⵔⴱⴰⵟ-ⵙⵍⴰ-ⵇⵏⵉⵟⵔⴰ الرباط-سلا-القنيطرة, Maroc ⵍⵎⵖⵔⵉⴱ
die PQ Abfrage habe ich mit nem Kollegen dann konvertiert, gefiltert Transponiert und gestuft ..
Ergebnis dann für mich
Ort Land lat lon
diese Geodaten werden dann woanders weioterverarbeitet
Ich bin neuling auf PQ ... gibt es andere Seiten die mir Diese Daten liefern können?
Gruß
Lunamaxx
Beiträge: 48
Themen: 0
Registriert seit: Oct 2023
Bewertung:
4
Office-Version:
Hi,
was gefällt dir an deiner jetzigen Lösung nicht? Sie scheint doch zu funktionieren...
Oder andersrum gefragt: Welche anderen Daten soll eine andere Seite liefern?
Gruß,
Helmut
_____
Office365 auf MacOS und Win11
Beiträge: 9
Themen: 2
Registriert seit: Sep 2024
Bewertung:
0
Office-Version:
- Office 2016/2019 Kaufversion
- Office 365 Abonnement
Mich stören die arabischen Zeichen .. ich kriege sie da nicht weg, ohne dass ich die Abfrage zerstöre
Beiträge: 22
Themen: 0
Registriert seit: Nov 2024
Bewertung:
0
Office-Version:
27.05.2026, 16:13
(Dieser Beitrag wurde zuletzt bearbeitet: 27.05.2026, 16:19 von R J.)
Die arabischen Zeichen kannst Du z. Bsp. so entfernen lassen:
Code: let
Quelle = Json.Document(Web.Contents("https://nominatim.openstreetmap.org/search?format=json&q=Rabat%2C+Marokko")),
//Quelle = Json.Document(Web.Contents("https://nominatim.openstreetmap.org/search?format=json&q=Dresden%2C+Deutschland")),
Quelle1 = Quelle{0},
ZuTabelle = Record.ToTable(Quelle1),
Liste = Text.Split( ZuTabelle[Value]{12},","),
LC = List.Count(Liste)-1,
Kurz = Text.Trim(Liste{LC}),
Land = try Text.Middle(Kurz, 0,Text.PositionOf( Kurz," ")) otherwise Kurz,
Ort = try Text.Middle(Liste{0}, 0,Text.PositionOf( Liste{0}," ")) otherwise Liste{0},
#"Transponierte Tabelle" = Table.Transpose(ZuTabelle),
#"Höher gestufte Header" = Table.PromoteHeaders(#"Transponierte Tabelle", [PromoteAllScalars=true]),
#"Andere entfernte Spalten" = Table.SelectColumns(#"Höher gestufte Header",{"lat", "lon"}),
#"Hinzugefügte benutzerdefinierte Spalte" = Table.AddColumn(#"Andere entfernte Spalten", "Land", each Land),
#"Hinzugefügte benutzerdefinierte Spalte1" = Table.AddColumn(#"Hinzugefügte benutzerdefinierte Spalte", "Ort", each Ort),
#"Neu angeordnete Spalten" = Table.ReorderColumns(#"Hinzugefügte benutzerdefinierte Spalte1",{"Ort","Land", "lat", "lon"})
in
#"Neu angeordnete Spalten"
Mein Computer schlägt mich beim Schachspielen, aber ich bin sicher, dass ich ihn beim Kickboxing schlagen werde.
Ciao
Ralf
Beiträge: 281
Themen: 5
Registriert seit: Jun 2019
Bewertung:
21
Office-Version:
- Office 2016/2019 Kaufversion
- Office 2021
- Office 365 Abonnement
Hallo Ralf,
kriegt sie nicht ... nimm mal die spanische Stadt 'El Toro' oder die ebenfalls spanische Stadt 'San Augustin'.
_________
VG Sabina
Beiträge: 22
Themen: 0
Registriert seit: Nov 2024
Bewertung:
0
Office-Version:
27.05.2026, 17:29
(Dieser Beitrag wurde zuletzt bearbeitet: 27.05.2026, 18:24 von R J.)
...ah... klar, wegen des Leerzeichens dazwischen... hatte ich nicht bedacht. Muss ich aber nicht nach Spanien deswegen, gibt ja auch hier Städtenamen mit Leerzeichen, wie, z. Bsp. Bad Homburg.... aber solange der TO sich nicht äußert, lass ich das erstmal so stehen...
Gibt's eigentlich auch Länder mit Leerzeichen? Die Deutsche Demokratische Republik gibt's jedenfalls schon mal nicht mehr...
Danke für den Hinweis!
Mein Computer schlägt mich beim Schachspielen, aber ich bin sicher, dass ich ihn beim Kickboxing schlagen werde.
Ciao
Ralf
Beiträge: 73
Themen: 0
Registriert seit: May 2021
Bewertung:
6
Office-Version:
Hallo,
ich hoffe ich habe alle möglichen Zeichen eingekreist.
M-Code:
PHP-Code: let Quelle = Json.Document(Web.Contents("https://nominatim.openstreetmap.org/search?format=json&q=San Augustin%2C+Spanien")), Eintrag = Quelle{0}, ZuTabelle = Record.ToTable(Eintrag), Adresse = ZuTabelle[Value]{12}, RemoveNonLatin = (txt as text) as text => Text.Combine( List.Select( Text.ToList(txt), each let c = Character.ToNumber(_) in not ( (c >= 1536 and c <= 1791) or (c >= 1872 and c <= 1919) or (c >= 2208 and c <= 2303) or (c >= 64336 and c <= 65023) or (c >= 65136 and c <= 65279) or (c >= 11568 and c <= 11647) ) ) ), AdresseClean = RemoveNonLatin(Adresse), Liste = Text.Split(AdresseClean, ","), LC = List.Count(Liste) - 1, Land = Liste{LC}, Ort = Liste{0}, Transp = Table.Transpose(ZuTabelle), Header = Table.PromoteHeaders(Transp, [PromoteAllScalars=true]), Keep = Table.SelectColumns(Header, {"lat", "lon"}), AddLand = Table.AddColumn(Keep, "Land", each Land), AddOrt = Table.AddColumn(AddLand, "Ort", each Ort), Ergebnis = Table.ReorderColumns(AddOrt, {"Ort","Land","lat","lon"}) in Ergebnis
Gruß Uwe
Beiträge: 22
Themen: 0
Registriert seit: Nov 2024
Bewertung:
0
Office-Version:
27.05.2026, 21:47
(Dieser Beitrag wurde zuletzt bearbeitet: 27.05.2026, 22:27 von R J.)
...im Prinzip sollen ja nur die deutschsprachigen Namen (also lateinische Buchstaben) aus den Listen extrahiert werden.
Z. Bsp. für die Stadt:
Rabat (lateinische Schrift)
ⵔⴱⴰⵟ (Tifinagh, Amazigh/Berberschrift)
الرباط (Arabisch)
Deshalb hab ich einen etwas anderen Weg versucht. Alle lateinischen Zeichen kann man ja über den ASCII Code ermitteln. Alles was darüber hinausgeht ist chinesisch, arabisch, kyrillisch oder, oder, oder...
PHP-Code: let Quelle = Json.Document(Web.Contents("https://nominatim.openstreetmap.org/search?format=json&q=Rabat%2C+Marokko")), // Quelle = Json.Document(Web.Contents("https://nominatim.openstreetmap.org/search?format=json&q=Bad Homburg%2C+Bundesrepublik Deutschland")), Quelle1 = Quelle{0}, ZuTabelle = Record.ToTable(Quelle1), Liste = Text.Split( ZuTabelle[Value]{12},","),
Stadtnamensliste = Text.Split(Liste{0}," "), Landesnamensliste = Text.Split(Text.Trim(Liste{List.Count(Liste)-1})," "),
Stadt = TC(Stadtnamensliste), Land = TC(Landesnamensliste), //Funktion zum Zusammensetzen der Namen mit Leerzeichen TC = (liste as list) as text => let // Filter: erster Buchstabe < 255, also ASCII Code, der überwiegend Zeichen der deutscher Verwendung enthält Gefiltert = List.Select( liste, each Character.ToNumber(Text.At(_, 0)) < 255 ), // Zu einem Text verknüpfen Ergebnis = Text.Combine(Gefiltert, " ") in Ergebnis,
#"Transponierte Tabelle" = Table.Transpose(ZuTabelle), #"Höher gestufte Header" = Table.PromoteHeaders(#"Transponierte Tabelle", [PromoteAllScalars=true]), #"Andere entfernte Spalten" = Table.SelectColumns(#"Höher gestufte Header",{"lat", "lon"}), #"Hinzugefügte benutzerdefinierte Spalte" = Table.AddColumn(#"Andere entfernte Spalten", "Land", each Land), #"Hinzugefügte benutzerdefinierte Spalte1" = Table.AddColumn(#"Hinzugefügte benutzerdefinierte Spalte", "Ort", each Stadt), #"Neu angeordnete Spalten" = Table.ReorderColumns(#"Hinzugefügte benutzerdefinierte Spalte1",{"Ort","Land", "lat", "lon"}) in #"Neu angeordnete Spalten"
Das kann natürlich zu Problemen kommen, wenn in den Namenslisten auch andere europäische oder andere lateinisch geschriebene Namen als 2. oder andere Folgewerte vorkommen, aber davon gehe ich vorerst nicht aus
Mein Computer schlägt mich beim Schachspielen, aber ich bin sicher, dass ich ihn beim Kickboxing schlagen werde.
Ciao
Ralf
Beiträge: 9
Themen: 2
Registriert seit: Sep 2024
Bewertung:
0
Office-Version:
- Office 2016/2019 Kaufversion
- Office 365 Abonnement
Guten Morgen in dier Runde,
ich werde die Vorschläge mal durchprobieren, kam gestern leider zu nichts mehr ...
nicht auszuschließen wäre es ja auch, zb. Dänische Städte-Namen mit Æ/æ, Ø/ø und Å/å. .. keine Ahnung was dann passiert ...
Es ist nicht kriegsentscheident, aber bisher kam wie gesagt nur Rabat vor, wo es mir und meinen "inneren Monk" stört, vielleicht kennt ihr das ja ..
Rückmeldung wird folgen
Gruß Armin
Beiträge: 9
Themen: 2
Registriert seit: Sep 2024
Bewertung:
0
Office-Version:
- Office 2016/2019 Kaufversion
- Office 365 Abonnement
(27.05.2026, 17:29)R J schrieb: ...ah... klar, wegen des Leerzeichens dazwischen... hatte ich nicht bedacht. Muss ich aber nicht nach Spanien deswegen, gibt ja auch hier Städtenamen mit Leerzeichen, wie, z. Bsp. Bad Homburg.... aber solange der TO sich nicht äußert, lass ich das erstmal so stehen...
Gibt's eigentlich auch Länder mit Leerzeichen? Die Deutsche Demokratische Republik gibt's jedenfalls schon mal nicht mehr...
Danke für den Hinweis!
Moin RJ ..
Zu Deiner Frage mit den Ländern und Leerzeichen .. ja gibt es
[*]Vereinigte Arabische Emirate
Antigua und Barbuda
Bosnien und Herzegowina
Dominikanische Republik
Kap Verde
Schlimmer noch
St. Vincent und die Grenadinen (also Leerzeichen und Punkt)
Bindestrich-Variante
Papua-Neuguinea
|