sql >> Database teknologi >  >> RDS >> PostgreSQL

Beregning af afstand mellem en gps placering og postgis geografi værdi ved hjælp af en funktion?

Hasura har indbygget understøttelse af PostGIS i deres GraphQL-skema. Da dit felt allerede er af typen geography , du behøver ikke funktionen.

I Hasura skal du skabe forholdet mellem offers og address tabeller, og GraphQL-forespørgslen skulle være noget i stil med:

query nearby_offers($point: geography!) {
  offers(where: {address: {location: {_st_d_within: {distance: 200000, from: $point}}}}) {
    id
    offer_fields
    address {
      location
    }
  }
}

Geografitype i Hasura forventer, at værdien er i GEOJSON format. Sådan er din variabel $point skal se sådan ud:

{
  "point": {
    "type" : "Point", 
    "coordinates": [longitude, latitude]
  }
}

Den samme type variabel (GEOJSON) forventes ved indsættelse af værdier (mutation).



  1. Hvordan fjerner man førende og efterfølgende blanktegn i et MySQL-felt?

  2. Kasusudtryk fungerer ikke korrekt i sql-forespørgsel

  3. PostgreSQL søg og erstat where condition

  4. Hvorfor giver Rails / ActiveRecord en Postgres SyntaxError ikke-heltalskonstant i ORDER?