Access-o-Mania

Access-Forum (Deutsch/German) => Access Programmierung => Thema gestartet von: datekk am September 18, 2017, 15:08:42

Titel: Umkreissuche
Beitrag von: datekk am September 18, 2017, 15:08:42
Hallo,

ich möchte gern in meine Datenbank eine Umkreissuche aufbauen... So sollen z.B. alle Kontakte in einem Umkreis von 10 km um das Zentrum von Berlin angezeigt werden.

Wie kann ich hier vorgehen?

LG
datekk
Titel: Re: Umkreissuche
Beitrag von: Beaker s.a. am September 18, 2017, 15:46:44
Gibt es mehrere Zentren?
Titel: Re: Umkreissuche
Beitrag von: PhilS am September 18, 2017, 16:17:33
Zitat von: datekk am September 18, 2017, 15:08:42ich möchte gern in meine Datenbank eine Umkreissuche aufbauen...
Das ist eine sehr allgemeine Frage.

Aufgrund deiner früheren Fragen vermute ich, dass du ein SQL-Server Backend verwendest. Dann wäre es evtl. eine Option die Geography Datentypen und Funktionen (https://docs.microsoft.com/en-us/sql/t-sql/spatial-geography/spatial-types-geography) des SQL-Servers zu verwenden.
Titel: Re: Umkreissuche
Beitrag von: datekk am September 19, 2017, 08:35:15
Wow PhilS.... Danke... Was es alles gibt erstaunt mich immer wieder neu. Ich arbeite mich mal rein. Frage schonmal vorab weil ich bestimmt Hilfe brauche: Kennst Du Dich damit weiter aus?
Titel: Re: Umkreissuche
Beitrag von: PhilS am September 20, 2017, 16:09:16
Zitat von: datekk am September 19, 2017, 08:35:15Kennst Du Dich damit weiter aus?
Nur oberflächlich. - Ich betreue eine Anwendung, in der eine darauf basierende Umkreissuche enthalten ist, aber jemand anders im Team hat diese entwickelt.
Titel: Re: Umkreissuche
Beitrag von: datekk am September 29, 2017, 08:14:35
Sooooo... Kurze Rückmeldung: nach ca. 3h Arbeit ist es geschafft. Danke PhilS für den Tipp mit den Datentypen in SQL. Damit wird es einem wirklich relativ einfach gemacht. Habe eine kleine Function geschrieben, welche die Datensätze durchgeht, von Google jeweils die Koordinaten holt und in die Geo Spalte schreibt. Eine Prozedur im SQL Server kann dann die Entfernung von zwei Punkten sehr leicht ermitteln und ausgeben. Damit steht einem dann die ganze Welt der herkömmlichen Abfragen offen.

Dies hat mir dabei sehr geholfen: https://social.msdn.microsoft.com/Forums/de-DE/f5e46ea9-3d8f-43e6-b36d-cfbb314b39f0/umkreissuche?forum=sqlserverde (https://social.msdn.microsoft.com/Forums/de-DE/f5e46ea9-3d8f-43e6-b36d-cfbb314b39f0/umkreissuche?forum=sqlserverde)

Also nochmals vielen Dank - das war ein super Tip!