sql >> データベース >  >> RDS >> PostgreSQL

Postgisでポリゴン値のテーブルを作成して挿入する

    私はあなたの質問にコメントするのに十分な評判がありません、あなたが役に立つと思うかもしれないリンクがあります:PostgreSQLを使用したpoint-in-polygonのSQLクエリ

    データベースの拡張機能の追加

    CREATE EXTENSION postgis;
    

    テーブルの作成

    CREATE TABLE areas (
        id SERIAL PRIMARY KEY,
        name VARCHAR(64),
        polygon GEOMETRY
    );
    

    ポリゴンフィールド上にインデックスを作成する

    CREATE INDEX areas_polygon_idx ON areas USING GIST (polygon);
    

    レコードの挿入

    INSERT INTO areas (name, polygon) VALUES (
        'A',
        ST_GeometryFromText('POLYGON((50.6373 3.0750,50.6374 3.0750,50.6374 3.0749,50.63 3.07491,50.6373 3.0750))')
    );
    

    クエリ

    SELECT name FROM areas WHERE ST_Contains(polygon, ST_GeomFromText('POINT(50.637 3.074)'));
     name 
    ------
    (0 rows)
    
    SELECT name FROM areas WHERE ST_Contains(polygon, ST_GeomFromText('POINT(50.63735 3.07495)'));
     name 
    ------
     A
    (1 row)
    



    1. DBD ::Oracleを使用して、1つのクエリで複数のステートメントを実行することは可能ですか?

    2. PostgreSQLクエリキャッシングと負荷分散の概要

    3. SQL ServerManagementStudioに同等のSELECT...INTO OUTFILEはありますか?

    4. 一言で言えば軽い