Standort-Feld: Fragen und Ideen
1. Ich möchte gern das Standort-Feld sinnvoll benutzen. Als Handwerker im Außendienst habe ich eine Kunden-Datenbank mit vielen Adressen (Vorname, Nachname, Straße, Nr, PLZ, Ort), die ich gern auf einer Karte angezeigt haben möchte. Kann ich das Standort-Feld irgendwie automatisch mit den vorhandenen Daten befüllen (Massendatenänderung)?
2. Eine vielleicht (hoffentlich) einfache Erweiterung in der MAC Desktop-Version wäre den Standort in der Apple Karten-App anzeigen zu lassen, damit ich mit dem angezeigten Standort auch weiter arbeiten kann - z.B. die Entfernung (Fahrkosten) und auch eine Route berechnen lassen.
3. Als höchste Kunst :-) würde ich mir dann mehrere Pins auf der Karte anzeigen lassen, um sinnvollen Touren zu meinen Kunden zu organisieren. Also z.B. möchte ich auf einen Kunden klicken, mir seinen Wohnort auf der Karte anzeigen lassen und dazu andere Kunden in x Kilometer Umkreis. Und dann nach anderen Kriterien filtern (z.B. nur Kunden, bei denen ich NICHT in den letzten 2 Jahren war oder so ähnlich).
30 Antworten
-
Das ist aber sehr große Wunschliste. Ich glaube, mit massendatenänderung kannst nur arbeiten, wenn du Längen und Breiten von den Adressen kennst.
dann ist die Formel:
---
Standort:=location("Adresse",Breite, Länge)
Die Rute kannst du eventuell über Google maps berechnen (vielleicht geht auch mit apple Karen). Schreib einfach in eine Befehlsschaltfläche die Formel:
---
openURL("http://maps.google.com/maps?saddr=" + text(Standort1) + "&daddr=" + text(Standort2) + "&hl=de")
---
Und die Luftlinie zwischen zwei Standorten kannst du mit Formel berechnen:
---
let PI := 3.141592653589793;
let dL := longitude(Standort1) - longitude(Standort2);
let dB := latitude(Standort1) - latitude(Standort2);
let BL := sqrt(sqr(dL) + sqr(dB));
PI * 6371 * BL / 180
---
Das Berechnungsfeld musst du mit 2 Stellen nach Komma und als km formatieren. Pi habe ich in Ninox Dokumentation nicht gefunden, deswegen als Variable deklariert. -
Die Anführungszeichen musst du natürlich mit Mac ersetzen
-
Wow.... sehr cool. Mit deinem Input hab ich mir nun eine Schaltfläche gebastelt, die die Apple Karten App öffnet und dort die Route von meinem Standpunkt (Büro) zum entsprechenden Kunden anzeigt.
Meine Formel sieht so aus:
---
openURL("http://maps.apple.com/maps?daddr=" + text('Straße' + " " + 'Hausnr.' + " " + PLZ + " " + Ort))
---
Die Entfernung der Route kann man dann in der Apple Karten App immerhin leicht ablesen.
Das war schon mal sehr hilfreich. Danke Leo. -
Hallo Filip,
Das ist ja super. Ich habe jetzt für alle, die mit Apple-maps Links basteln möchten, einen Link.
https://developer.apple.com/library/content/featuredarticles/iPhoneURLScheme_Reference/MapLinks/MapLinks.html
Grüße
Leo -
Hallo zusammen,
ich habe auch noch eine Frage zum Standortfeld: Ich habe eine große Datensammlung mit Adressen, die ich mit dem Standortfeld eingepflegt habe. Jetzt möchte ich die Ortsnamen aus den Standortfeldern in ein Berechnungsfeld extrahieren, damit ich nach Ortsnamen sortieren kann. Kann mir jemand mit der Formel helfen, falls das geht?
Liebe Grüße
Alfred
-
Vielleicht geht es ja so ähnlich wie bei einem Datumsfeld, da kann man ja auch das Jahr, den Monat oder den Tag herausziehen. Für das Standortfeld habe ich aber keine ähnliche Funktion gefunden.
-
Mittels:
----
item(split(text(Standort), ", "), 0) erhält man die Strasse und die Hausnummer
item(split(text(Standort), ", "), 1) erhält man die PLZ und Ort (leider nur gemeinsam)
item(split(text(Standort), ", "), 2) erhält man das Land
----
Wie man PLZOrt auftrennt, würde mich auch interessieren.
Gruß
Tacho -
Es gibt
latitude(Standort);
longitude(Standowrt);
text(Standort)
-
Vielen Dank,
Habe es mit..
item(split(text(Standort), ", "), 1) erhält man die PLZ und Ort (leider nur gemeinsam)
.. probiert, bekomme aber immer eine Fehlermeldung. Muss ich noch mehr als diese Zeile in das Funktionsfeld schreiben?
Viele Grüße
Alfred
-
Ich habe natürlich nur
item(split(text(Standort), ", "), 1)
eingegeben.
-
Ich habe gerade im Online-Arbeitsbereich über meinen iMac die Testdatenbank "55_Standort" angelegt. Dort klappt es, mache ich die Funktionseingabe über das iPad, bekomme ich eine Fehlermeldung
-
Meist sind die falschen Anführungszeichen verantwortlich. Auf der IPad-Tastatur die Nummern-Taste (ganz unten links) anklicken, dann die Taste unter der Nummer 1 anklicken (festhalten) und das erste Anführungszeichen wählen). Dann sollte es auch auf dem IPad klappen
-
Hallo Alfred, hast du gesehen wie ich die Datenbank geändert habe. War das so nach deinen Vorstellungen.
-
Wenn du nur den Standort haben willst musst du es so machen wie in der Beispiel Datenbank. Schau mal hab es nochmal angepasst.
let stringEnd := index(Standort_, ",");
substring(Standort_, 0, stringEnd) -
Super, danke für eure Hilfe. Es gibt aber noch ein kleines Problem in der Beispieldatenbank 55 - hab es dort kommentiert. Liebe Grüße Alfred
-
Hallo Alfred,
schau mal hab es verbessert, ich denke so wolltest du es haben. Es gibt wie gesagt verschiedene fälle den Index wie in meinem ersten Beispiel nutzt man nur wenn man an einer bestimmten stelle, den String kürzen möchte. Das war mir anfangs nicht bewusst das du alle rausschneiden möchtest. Dann sollte man schon das item(split(text(Standort), ", "), 0) nutzen.
-
Vielen Dank Bastian, das Problem ist noch nicht ganz gelöst - bei einigen Orten ist im Standortfeld eine Postleitzahl vorangestellt, ist es möglich, diese Zahl zu entfernen - so etwas wie if number...then ?
Liebe Grüße
Alfred
-
Vielen Dank Bastian, das Problem ist noch nicht ganz gelöst - bei einigen Orten ist im Standortfeld eine Postleitzahl vorangestellt, ist es möglich, diese Zahl zu entfernen - so etwas wie if number...then ?
Liebe Grüße
Alfred
-
Hallo Leo, gibt es auch eine Möglichkeit, den Standort als Markierung in eine eigene Goggle Map zu setzen?
Ich probiere dies schon lange, leider bisher noch ohne Erfolg.
-
Hallo Andreas,
ja das geht, dafür musst du bei deinem GoogleAPIs Account Staticmap freigeben. Und, wenn du schon dabei bist, auch geocode freigeben und die lat und lng erstmals durch google ermitteln lassen, dann die Koordinaten über Statikmap eingeben.
Leo
-
Hallo
zur Frage von Tacho: Wie man PLZOrt auftrennt, würde mich auch interessieren.
Mit Hilfe von Tacho“s Post vom 4.Apr.2018 habe ich PLZ und Ort aus dem Standort extrahiert und dann mit Substr die ersten 5 Zeichen bzw. für den Ort alles ab dem 6 Zeichen in dem String genommen.
ich habe es so gemacht
let myOrt := item(split(text(”Aktueller Ort“), ”, “), 1);
PLZ := substr(text(myOrt), 0, index(text(myOrt), ” “));
Ort := substr(text(myOrt), 6);
Adresse := item(split(text(”Aktueller Ort“), ”, “), 0)kürzer aber etwas unübersichtlicher wäre es so:
PLZ := substr(text(item(split(text(”Aktueller Ort“), ”, “), 1)), 0, index(text(item(split(text(”Aktueller Ort“), ”, “), 1)), ” “));
Ort := substr(text(item(split(text(”Aktueller Ort“), ”, “), 1)), 6);
Adresse := item(split(text(”Aktueller Ort“), ”, “), 0)PS: vermutlich geht das nur für Deutschland weil hier die PLZ 5 Stellung sind.
-
Man könnte es auch mit der Funktion extractx() lösen.
Wenn der Inhalt des feldes “Aktueller Ort” folgendes Format hat: Plz Ort (Bsp. 8000 München)
PLZ := extractx(text(Aktueller Ort),“[0-9]{4,}”,“$0”) Bedeutet: alle Zahlen im String, die mindestens 4stellig sind.
Ort := extractx(text(Aktueller Ort), “[A-za-zäöüÄÖÜß]{1,}”, “$0”) Bedeutet alle Buchstaben im String, die mindestens 1stellig sind.
-
Erweiterung:
Bsp. 8000 München - Garching
Ort := extractx(text(Aktueller Ort), “[A-Za-zäöüÄÖÜß-\s*]{1,}”, “$0”)
Fragt alle Textzeichen, Umlaute, Bindestriche ab. Ignoriert dabei Leerzeichen(\s*). Wenn ein anderes Zeichen wie “/” mit abgefragt werden soll, muss es in die eckige Klammer mit aufgenommen werden. [A-Za-zäöüÄÖÜß/-\s*] -
Hallo Uwe. Der Ausschluß der Leerzeichen wird durch ^\s codiert.
lg Mirko
-
Sicherer, vor allem bei großen Distanzen, ist diese Formel:
let lat1 := latitude(“Standort1”);
let lon1 := longitude(“Standort1”);
let lat2 := latitude(“Standort1”);
let lon2 := longitude(“Standort1”);
format(111.324 * acos(sin(lat1) * sin(lat2) + cos(lat1) * cos(lat2) * cos(lon2 - lon1)), “0.00 km”)
Content aside
- vor 2 JahrenZuletzt aktiv
- 30Antworten
- 10834Ansichten
-
2
Folge bereits