Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Module ›

Geokodierung/Reverse Geocoding mit Karten nach Orten

Eingetragen von zwerg (736)
am 26.10.2015 - 11:59 Uhr in
  • Module
  • Drupal 7.x oder neuer

Hallo,

seit ein paar Tagen versuche ich mich an einer Problematik, die schon öfter angerissen wurde aber scheinbar noch nicht gelöst werden konnte. Aber erstmal von vorn.

Das Ziel: Erstellung einer Webseite, auf der Objekte der Bildenden Kunst mit ihren Standorten erfasst werden sollen. Außerdem sollen sie ihren Orten mit Verwaltungsbezirken/Stadtteilen zugeordnet werden können.

Beispiel: Pflasterbrunnen - 48.77668019716759, 9.175507745446794 - Stuttgart - Stuttgart-Mitte

Soweit kein Problem. Die Erfassung des Standorts erfolgt wie Geofield mit OpenLayers (2.x, Kartenmaterial von OSM), da Google bekanntlich irgendwann Geld haben möchte.

Problem 1: Nun stellt sich die Frage nach der möglichst automatischen Erkennung des Ortes und Stadtkreises. Hier habe ich mich an der rückwärtigen Geokodierung versucht, wie bspw. hier beschrieben, jedoch leider ohne Erfolg. Rules bringt die Fehlermeldung

Zitat:

Integrity check for the imported configuration failed. Error message: The data type of the configured argument does not match the parameter's value requirement..

. Sie besagt, dass der per reverse ermittelte Wert "adresse" nicht in das Feld "field_adresse" übertragen wird.

Leider gibt es für das Addressfield kein Map-Widget.

Problem 2: Pro Ort sollte eine Karte angezeigt werden. Daher dachte ich, dass es möglich wäre, per Location Taxomize den Ort (mit Subebene Stadtteil) in ein Vokabular zu übernehmen. Location hatte zumindest unter Drupal 6 in Verbindung mit GMap eine automatische Hierarchie der Orte pro Land angelegt. Das bekam ich unter D7 bislang nicht zum laufen.

Daher meine Fragen zu den o.g. Problemen:

  1. Wie ist es möglich, anhand von gewählten Koordinaten (auf OSM-Basis) den Ort und Stadtteil automatisch zu erkennen und bspw. in ein Vokabular zu übertragen?
  2. Wie ist es möglich, per Views (Kontextfilter) eine Karte mit OpenLayers bezogen auf die Beiträge pro Ort zu erstellen?

Über eure Hilfe wäre ich dankbar :)

‹ [gelöst]: PHP Warning im Modul Album Photos - Umstellung von Drupal 6 auf Drupal 7 bei bestehendem Projekt ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Hallo,eine solche

Eingetragen von Hyp1 (1461)
am 26.10.2015 - 12:45 Uhr

Hallo,

eine solche Anforderung allein in Drupal umzusetzen halte ich für schwierig und alles andere als performant.
Zur 1. Frage:
Es gibt in Deutschland fast 30'000 Postleitzahlen, welche Du erst als nodes importieren müstest um
z.B: alle Orte in einer Region zu suchen und anzuzeigen.
Ich würde dazu die Orte(von OSM) aus Performance Gründen in einen SOLR indexieren.

Zu Deiner 2. Frage:
Da Orte mit PLZ eingetragen werden, brauchst Du ja einfach per View die PLZ Abfragen um alle Beiträge dieses Ortes zu bekommen.
Ich weise nochmal darauf hin, dass Ortsnamen nicht eindeutig sind, weshalb Du über die PLZ gehen musst.
Möchtest Du auch Orte in einem Umkreis dann geh über Lat/Long und Distance.

MfG

Robert
PS: Ich meine für DE, denn In der Schweiz gibt es nur ca. 6000 Orte, das könnte man noch so mit Drupal allein machen

https://awri.ch
Ich habe eine Schweizer Tastatur und daher kein scharfes ß ;-)

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hallo,danke für deine

Eingetragen von zwerg (736)
am 26.10.2015 - 13:18 Uhr

Hallo,
danke für deine schnelle Antwort. Wegen dem Aspekt:

Hyp1 schrieb

Es gibt in Deutschland fast 30'000 Postleitzahlen, welche Du erst als nodes importieren müstest um
z.B: alle Orte in einer Region zu suchen und anzuzeigen.
Ich würde dazu die Orte(von OSM) aus Performance Gründen in einen SOLR indexieren.

möchte ich nicht vorab alle Orte indizieren. Soweit ich bisher weiß, wird sich die Anzahl der Städte auch in Grenzen halten. Daher meine Idee, das über reverse Geocoding zu realisieren. Ein Massenimport aller Orte mit Postleitzahlen halte ich auch im Hinblick auf den Zweck der Seite für ungünstig.

Hyp1 schrieb

Da Orte mit PLZ eingetragen werden, brauchst Du ja einfach per View die PLZ Abfragen um alle Beiträge dieses Ortes zu bekommen.
Ich weise nochmal darauf hin, dass Ortsnamen nicht eindeutig sind, weshalb Du über die PLZ gehen musst.
Möchtest Du auch Orte in einem Umkreis dann geh über Lat/Long und Distance.

Ich gebe dir Recht, das Ortsnamen nicht eindeutig sind. Eine Abfrage über die Postleitzahlen wäre jedoch deutlich komplexer, da diese zwar das Admin-Level 9 bzw. 10 (Bezitk bzw. Stadtteil) darstellen, jedoch müssten sie dann verkettet werden.

Die zweite Frage bezieht sich eher auf den Kontextfilter im Layer (View), da ich das bislang nicht realisieren konnte.

Grüße

Web: Halle im Bild | n8aktiv
Social: Facebook | Xing

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hi, woher bekommst Du dann

Eingetragen von Hyp1 (1461)
am 26.10.2015 - 13:44 Uhr

Hi,

woher bekommst Du dann die Bezirke/Stadtteile, die ein Benutzer auswählen soll
wenn er einen Ort einträgt?

Zitat:

Das Ziel: Erstellung einer Webseite, auf der Objekte der Bildenden Kunst mit ihren Standorten erfasst werden sollen. Außerdem sollen sie ihren Orten mit Verwaltungsbezirken/Stadtteilen zugeordnet werden können.

Die musst Du vorher ja irgendwoher bekommen, damit Sie der User auswählen kann.
Auch die Bezirke sind nicht unbedingt eindeutig, daher muss auch PLZ und Ortsname angezeigt werden.

Du möchtest wenn der User eine Stadt eingibt, alle Bezirke/Stadtteilen dieser Stadt dem User zurAuswahl geben.
Grundsätzlich hört sich das für mich nach einer Facetted Search an.
Du benötigst dafür auch alle Stadtteile/Bezirke der Städte in einer DB.

Wenn die Anzahl der Städte sich sowieso in Grenzen hält, musst Du ja auch nur die importieren, welche Du verwaltet haben möchtest
und kannst es somit ohne SOLR machen.

Grüsse

Robert

https://awri.ch
Ich habe eine Schweizer Tastatur und daher kein scharfes ß ;-)

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hyp1 schriebHi,woher

Eingetragen von zwerg (736)
am 26.10.2015 - 14:34 Uhr
Hyp1 schrieb

Hi,

woher bekommst Du dann die Bezirke/Stadtteile, die ein Benutzer auswählen soll
wenn er einen Ort einträgt?

Hallo nochmal,

Bislang ist der Standort als geofield mit dem OL(OSM)-Map-Widget angelegt. Der User wählt sozusagen die Koordinaten direkt per Klick in der Karte.

Aus dieser Eingabe wollte ich per (reverse) geocoding die Stadt und den Stadtteil auslesen lassen.

Web: Halle im Bild | n8aktiv
Social: Facebook | Xing

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hi,beim Klick auf die Karte

Eingetragen von Hyp1 (1461)
am 26.10.2015 - 15:38 Uhr

Hi,

beim Klick auf die Karte bekommst Du einen spezifischen Punkt (einen Datensatz mit lat/long plz, name).
Wenn der User hier genau klickt ist er ja schon im richtigen Bezirk/Stadtteil, gibt OSM da nicht auch diesen gleich mit?
Falls nicht musst Du die Stadtteile/Bezirke ja irgendwo auflösen.

Technisch:
Du möchtest aus diesen spezifischen Punt (Bezirk,Stadtteil) mehrere weitere Punkte(Bezirke) zum auswählen, das sind mehrere Punkte aufgelöst durch einen gegebenen Punkt.
D.H. Du benötigst auch 2 Interaktionen und 2 Queries.
User klickt auf Map-> query/hole Stadt -> query/hole Bezirke -> User wählt Bezirk

Möglichkeiten:
1. Entweder Du machst eine Umkreissuche auf den ersten Klick und holst alle Bezirke/Stadteile in der Nähe(ggf. Umkreis von 50km).
2. Du indexierst die Stadtteile/Bezirke nach PLZ der Stadt und machst dort den Query.
3. Oder du kannst aus OSM anhand einer Stadt per JS die Bezirke/Stadtteile bekommen

MfG

PS:
Zu beachten, dass Du beim speichern der Stadtteile/Bezirke nicht nur den Namen des Bezirks speichern darfst, sondern auch min. die PLZ, da auch bezirke nicht unique sind.

https://awri.ch
Ich habe eine Schweizer Tastatur und daher kein scharfes ß ;-)

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hatte gehofft, dass es auch

Eingetragen von zwerg (736)
am 26.10.2015 - 19:55 Uhr

Hatte gehofft, dass es auch einfacher geht. Die Orte sollen ja nur mit gespeichert werden, um nach Ihnen Filtern zu können und deren zugehörige Beiträge auf einer Karte auszugeben.

Web: Halle im Bild | n8aktiv
Social: Facebook | Xing

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • rjfpvzvmzocx
  • content und media-files von drupal8 nach drupal9 migrieren
  • Notificationsnicht immer und gesammelt bei Update
  • Meldung zu Token im Statusbericht
  • Modulupdate per Webinterace scheitert an authorize.php und access denied für Admin-User
  • Fehlermeldung: Deprecated function
  • Warning: call_user_func() expects parameter 1 to be a valid callback, class 'Drupal\node\Entity\Node' does not have a method 'ge
  • Versenden von Anfragen per Webform
  • Goodbye Online Drupal Meetup Germany - Hello Drupal DACH Online Meetup!
  • Übersetzte Felder bei Inhaltstyp automatisch übernehmen
  • Content Ex-/Import
  • RESTful Path request will nicht
Weiter

Neue Kommentare

  • Self-referencing
    vor 1 Tag 2 Stunden
  • settings.php
    vor 1 Tag 2 Stunden
  • Kulturmensch schrieb Prima
    vor 1 Tag 3 Stunden
  • Metatag
    vor 1 Tag 4 Stunden
  • Links
    vor 1 Tag 3 Stunden
  • Wenn Du nach der
    vor 1 Tag 5 Stunden
  • Gut zu wissen. Demnächst
    vor 1 Tag 21 Stunden
  • Token Fehler behoben
    vor 1 Tag 22 Stunden
  • Du hast völlig recht, da habe
    vor 2 Tagen 2 Stunden
  • Link 404
    vor 2 Tagen 6 Stunden

Statistik

Beiträge im Forum: 245977
Registrierte User: 18828

Neue User:

  • lxvryzug
  • finnster
  • Damian1802

» Alle User anzeigen

User nach Punkten sortiert:
wla9010
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3916
ronald3829
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 1 Benutzer und 10 Gäste online.

Benutzer online

  • lxvryzug

Hauptmenü

  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche

Quicklinks I

  • Infos
  • Drupal Showcase
  • Installation
  • Update
  • Forum
  • Team
  • Verhaltensregeln

Quicklinks II

  • Drupal Jobs
  • FAQ
  • Drupal-Kochbuch
  • Best Practice - Drupal Sites - Guidelines
  • Drupal How To's

Quicklinks III

  • Tipps & Tricks
  • Drupal Theme System
  • Theme Handbuch
  • Leitfaden zur Entwicklung von Modulen

RSS & Twitter

  • Drupal Planet deutsch
  • RSS Feed News
  • RSS Feed Planet
  • Twitter Drupalcenter
Drupalcenter Team | Impressum & Datenschutz | Kontakt
Angetrieben von Drupal | Drupal is a registered trademark of Dries Buytaert.
Drupal Initiative - Drupal Association