![]() |
|
PQ Abfrage Geodaten - Druckversion +- Office-Fragen.de (https://office-fragen.de) +-- Forum: Microsoft Office (https://office-fragen.de/forum-1.html) +--- Forum: Excel (https://office-fragen.de/forum-2.html) +--- Thema: PQ Abfrage Geodaten (/thread-29321.html) Seiten:
1
2
|
RE: PQ Abfrage Geodaten - R J - 28.05.2026 ...wurde ja jetzt alles mit dem letzten Code abgedeckt. Selbst: Json.Document(Web.Contents("https://nominatim.openstreetmap.org/search?format=json&q=Port Moresby%2C+Papua-Neuguinea")) oder Json.Document(Web.Contents("https://nominatim.openstreetmap.org/search?format=json&q=Kingstown%2C+St. Vincent und die Grenadinen")) ![]() Nur bei Værløse Sogn in Dänemark bin ich mir nicht sicher ob das Ergebnis stimmt.... RE: PQ Abfrage Geodaten - Luna-Maxx - 28.05.2026 Ich bekomme das echt nicht hin .. mögt Ihr mal drüberschaun, wo mein Fehler ist? To many Requst ist klar .. sind 30 abfrage .. da werde ich mir ne andere Struktur überlegen aber die Abfrage als solches .. Er sagt mit immer LET kann nicht in list .. ... Danke und Gruß Armin RE: PQ Abfrage Geodaten - Luna-Maxx - 29.05.2026 Moin In die Runde, ich habe mich noch mal intensiver mit der Abfrage beschäftigt, den Aufbau des Abrufes von 30 umgeändert und auch mithilfe einer Umgehend das Ergbnis so hin bekommen, wie ich es hätte .. statt Polska erscheint Polen, statt Maroch jetzt Marokko und Rabat wird sauber dargestellt.. Mein Monk ist nun zufrieden ![]() hier die Lösung .. falls jemand mal hat Ortname und Land als Dynamische Tabelle (Name tableOrt) dort die Namen Orte und Länder Eintragen. Abfrage in PQ let Quelle = Excel.CurrentWorkbook(){[Name="tblOrte"]}[Content], #"Geänderter Typ" = Table.TransformColumnTypes(Quelle,{{"Ort", type text}, {"Land", type text}}), #"Hinzugefügte benutzerdefinierte Spalte" = Table.AddColumn(#"Geänderter Typ", "Geo", each fnGeo([Ort],[Land])), #"Erweiterte Geo" = Table.ExpandRecordColumn(#"Hinzugefügte benutzerdefinierte Spalte", "Geo", {"lat", "lon"}, {"Geo.lat", "Geo.lon"}), #"Hinzugefügte benutzerdefinierte Spalte2" = Table.AddColumn(#"Erweiterte Geo", "Land Sauber", each if [Land] = "Maroc" then "Marokko" else if [Land] = "Morocco" then "Marokko" else if [Land] = "Germany" then "Deutschland" else if [Land] = "Polska" then "Polen" else [Land]), #"Hinzugefügte benutzerdefinierte Spalte1" = Table.AddColumn(#"Hinzugefügte benutzerdefinierte Spalte2", "Ort Sauber", each if Text.StartsWith([Ort], "Rabat") then "Rabat" else [Ort]) in #"Hinzugefügte benutzerdefinierte Spalte1" dann Funktion fnGeo generieen: let fnGeo = (Ort as text, Land as text) => let Adresse = Ort & ", " & Land, Quelle = Function.InvokeAfter( () => Json.Document( Web.Contents( "https://nominatim.openstreetmap.org/search", [ Query = [ format = "json", q = Adresse, addressdetails = "1", limit = "1" ], Headers = [ #"User-Agent" = "ExcelGeoTool/1.0" ] ] ) ), #duration(0,0,0,1) ), ErsterTreffer = if List.Count(Quelle) > 0 then Quelle{0} else null, AdresseRecord = if ErsterTreffer <> null then ErsterTreffer[address] else null, Ortsname = if AdresseRecord <> null then if Record.HasFields(AdresseRecord, "city") then AdresseRecord[city] else if Record.HasFields(AdresseRecord, "town") then AdresseRecord[town] else if Record.HasFields(AdresseRecord, "village") then AdresseRecord[village] else if Record.HasFields(AdresseRecord, "municipality") then AdresseRecord[municipality] else Ort else Ort, Landname = if AdresseRecord <> null and Record.HasFields(AdresseRecord, "country") then AdresseRecord[country] else Land, Ergebnis = [ Ort = Ortsname, Land = Landname, lat = if ErsterTreffer <> null then ErsterTreffer[lat] else null, lon = if ErsterTreffer <> null then ErsterTreffer[lon] else null ] in Ergebnis, #"In Tabelle konvertiert" = #table(1, {{fnGeo}}), Column1 = #"In Tabelle konvertiert"{0}[Column1] in Column1 Passt wunderbar :-D jetzt nur noch schauen, was passiert, wenn es in einem Land mehrere Orte namesgleich gibt, momentan nimmt er denb ersten Trefer ... mal schauen, wie ich das Abfange. Ich schließe das Thema erstmal .. Danke Gruß Armin RE: PQ Abfrage Geodaten - R J - 29.05.2026 (29.05.2026, 07:31)Luna-Maxx schrieb: ....Passt wunderbar :-D ....auch Moin, vielleicht schaust Du ja doch noch rein, obwohl geschlossen. Deshalb nur ganz kurz. Die Fehlermeldung too many Requests kommt übrigens nicht von PQ, sondern vom Server, von dem Du die Daten ziehst. Zunächst war mir immer unklar, woher Du die Städtenamen ziehst. Die kannst Du jetzt in die Tabelle Ortsliste eintragen und von dort auch auswählen. Mehrere Stadttreffer, auch kein Problem. Wie Du siehst, macht es schon einen Unterschied, wie Du die JSON-Dateien aufrufst. Hab Dir mal ein paar unterschiedliche Abfragen zum Thema gemacht. Such Dir das passende aus oder stell Dir das Beste aus allen neu zusammen.
Geo Abfrage PQ4.xlsx (Größe: 36,79 KB / Downloads: 2)
RE: PQ Abfrage Geodaten - Luna-Maxx - 01.06.2026 Moin nochmal, ich habe mir deine PQ mal angeschaut .. sieht gut aus. das Mit den Abfrage hab ich mir schon gedacht to many request sind ja dato ca 30 Abfragen in kurzer Zeit, werde dann wohl kurz immer wieder geblockt. Ich habe meine Struktur, ähnlich wie Du es gemcht hast, umgebaut, über eine dynmaische Tabelle (tblOrt) die Ortnamen einlesen und dann einen Request abschicken, der die Ortliste durchgeht. Über verschiedene Funktionen (ISO LänderKürzel, Normalisierung, Maps-Links ) so richtig gut geworden .. Pflegeleicht und weiterverarbeitbar .. Vielen Dank. Manchmal benötigt man einfach noch eine andee Sichtweise oder Anschubs ... Gruß us dem Norden Armin |