Ergebnis 1 bis 4 von 4

Thema: Selbe SQL-Abfrage trotz unterschiedlichem Umkreis in perimetersearch?

  1. #1
    Contao-Nutzer Avatar von mario0511
    Registriert seit
    08.05.2012.
    Beiträge
    100

    Frage Selbe SQL-Abfrage trotz unterschiedlichem Umkreis in perimetersearch?

    Hallöchen zusammen,

    ich sitze gerade einem kleinen Projekt mit einer Händler-Umkreissuche.
    Leider funktioniert die Umkreissuche noch nicht.

    Während der Umsetzung ist mir ein Sache aufgefallen...
    Trotz der Eingabe von unterschiedlichen Reichweiten (Filterkreis in km)(URL-Param: *_range) wird der selbe SQL-Statement zur Ermittlung von möglichen Treffern in der Model-Tabelle ausgeführt.

    Beipiel mit 2 km:
    PHP-Code:
    SELECT `idFROM `mm_resellerWHERE ROUND(
        
    SQRT(
            
    POWER(PI() / 360 * (CAST(52.5231724 AS DECIMAL(9,6)) - CAST(`geo_lat` AS DECIMAL(9,6))) * 63712
            + 
    POWER(PI() / 360 * (CAST(13.365317 AS DECIMAL(9,6)) - CAST(`geo_long` AS DECIMAL(9,6))) * 6371 
                
    COS(PI() / 360 * (CAST(52.5231724 AS DECIMAL(9,6)) + CAST(`geo_lat` AS DECIMAL(9,6))) * 0.5), 2)
        ), 
    0

    Beipiel mit 10 km:
    PHP-Code:
    SELECT `idFROM `mm_resellerWHERE ROUND(
        
    SQRT(
            
    POWER(PI() / 360 * (CAST(52.5231724 AS DECIMAL(9,6)) - CAST(`geo_lat` AS DECIMAL(9,6))) * 63712
            + 
    POWER(PI() / 360 * (CAST(13.365317 AS DECIMAL(9,6)) - CAST(`geo_long` AS DECIMAL(9,6))) * 6371 
                
    COS(PI() / 360 * (CAST(52.5231724 AS DECIMAL(9,6)) + CAST(`geo_lat` AS DECIMAL(9,6))) * 0.5), 2)
        ), 
    0

    Sollten sich die Abfragen nicht von einander unterscheiden?

    Danke euch

  2. #2
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.719
    User beschenken
    Wunschliste

    Standard

    Nein - mit den Formeln wird erstmal nur der sphärische Abstand errechnet - siehe https://en.wikipedia.org/wiki/Haversine_formula

    Wir wollen nicht nur wissen, ob ein Punkt innerhalb eines Kreises ist, sondern auch den jeweiligen Abstand zum Mittelpunkt (Adresse im FE-Filter).

  3. #3
    Contao-Nutzer Avatar von mario0511
    Registriert seit
    08.05.2012.
    Beiträge
    100

    Standard

    Alles klar. Die Suche hatte bei mir aufgrund falscher Einstellungen nicht funktioniert und da dachte ich das die Umkreisweite eventuell nicht korrekt in die Abfrage einfließen würde.

    Danke für die Erklärung.

  4. #4
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.719
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von mario0511 Beitrag anzeigen
    dachte ich das die Umkreisweite eventuell nicht korrekt in die Abfrage einfließen würde.
    das wäre sicher aufgefallen...
    In dem Zusammenhang interessant:

    * Leaflet-Maps Integration https://metamodels.readthedocs.io/de...d/leaflet.html
    * Attribut Geodistance für Sortierung nach Abstand https://github.com/MetaModels/attribute_geodistance
    * Attribut Geocode als Picker im BE https://github.com/kampfq/metamodels_attribute_geocode

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •