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

Oprettelse af en tabel for polygonværdier i Postgis og indsættelse

Jeg har ikke nok ry til at kommentere dit spørgsmål. Der er et link, du måske kan finde nyttigt:SQL-forespørgsel til point-in-polygon ved hjælp af PostgreSQL

Tilføjelse af udvidelse til din database

CREATE EXTENSION postgis; 

Opretter tabel

OPRET TABELområder (id SERIEPRIMÆR NØGLE, navn VARCHAR(64), polygon GEOMETRY); 

Oprettelse af indeks over polygonfelt

OPRET INDEX areas_polygon_idx PÅ områder VED BRUG AF GIST (polygon); 

Indsætter post

INSERT INTO areas (navn, polygon) VALUES ( 'A', ST_GeometryFromText('POLYGON((50.6373 3.0750,50.6374 3.0750,50.6374 3.0749,50.63 3.03 3.03 3.07) 3.03 3.03 3.03 3.03 7.074 3.0749,50.6374 3.0749,50.63 3.03 3.03 3.03 3.03 3.07" 

Forespørger

VÆLG navn FRA områder WHERE ST_Contains(polygon, ST_GeomFromText('POINT(50.637 3.074)')); navn ------(0 rækker)VÆLG navn FRA områder WHERE ST_Contains(polygon, ST_GeomFromText('POINT(50.63735 3.07495)')); navn ------ A(1 række)


  1. Opdater din PostgreSQL-adgangskode i Linux

  2. PHP mysqli returnerer forkerte kolonner

  3. Realtidsscoring

  4. indstilling useLegacyAuth=1 i Workbench 6.0