[PostgreSQL] PostGIS: νμ
μ΄μ ν¬μ€νΈ
https://blog.naver.com/sssang97/223381620061
μ§λ¦¬μ κ³μ°μ μννλ €λ©΄ κ·Όκ°μ΄ λλ κ²μ λΉμ°ν μ’νλ€.
PostGISλ μ’ν κ³μ°μ μν΄ μ¬λ¬κ°μ§ μ체μ μΈ νμ
ννλ₯Ό μ§μνλλ°, λ¬Έμμ΄μ κΈ°λ°μΌλ‘ νμ
μ μ 곡νλ€.
κ·Έλ¦¬κ³ PostGISμμ λλΆλΆμ νμ κ³Ό ν¨μλ ST μ λμ¬λ‘ μμνλ€. Spatial Typedμ μΆμ½μ΄λ€.
Geom νμ κΈ°λ³Έ λ³νλ²
μλ₯Ό λ€μ΄, (X,Y) μ’ν κ°μ PostGIS κ°μ²΄λ‘ μμ±νλ €λ©΄ λ€μκ³Ό κ°μ΄ Text->Geom ν¨μλ₯Ό μ΄μ©ν μ μλ€.
SELECT ST_GeomFromText('POINT(-126.4 45.32)')
κ·Έλ¬λ©΄ μ’ λλ
νλ ννμ μ체 κ·κ²© Geom λ¬Έμμ΄ κ°μ λ°ννλ€. μ€μ λ‘ μ°μ° λ±μ μνν λλ μ΄λ° κ°λ€μ κ°μ Έλ€κ° μ²λ¦¬νκ² λ κ²μ΄λ€.
κ·Έ λ°λλ₯Ό μννλ €λ©΄ AsText ν¨μλ₯Ό μ¬μ©ν μ μλ€.
SELECT ST_AsText('01010000009A99999999995FC0295C8FC2F5A84640');
λ λ°λλ‘ μ νμλλ κ²μ λ³Ό μ μκ² λ€.
Geom κΈ°λ³Έ νμ λ€
μ΄λ° νμ λ€μ΄ μ 곡λλ€. μμ Pointμ λ§μ°¬κ°μ§λ‘ λ€ λ¬Έμμ΄ κΈ°λ°μΌλ‘ ꡬμ±λλ€.
-- (X, Y) μ’ν νμ
SELECT ST_GeomFromText('POINT(0 0)');
-- μ¬λ¬κ°μ Point
SELECT ST_GeomFromText('MULTIPOINT((0 0),(1 2))');
-- μ¬λ¬κ°μ Pointλ‘ κ΅¬μ±λ μ
SELECT ST_GeomFromText('LINESTRING(0 0,1 1,1 2)');
-- 1κ° μ΄μμ μ μ§ν©
SELECT ST_GeomFromText('MULTILINESTRING((0 0,1 1,1 2),(2 3,3 2,5 4))');
-- Pointλ€λ‘ ꡬμ±λ λ€κ°ν
SELECT ST_GeomFromText('POLYGON((0 0,4 0,4 4,0 4,0 0),(1 1, 2 1, 2 2, 1 2,1 1))');
-- μ¬λ¬κ°μ λ€κ°ν
SELECT ST_GeomFromText('MULTIPOLYGON(((0 0,4 0,4 4,0 4,0 0),(1 1,2 1,2 2,1 2,1 1)), ((-1 -1,-1 -2,-2 -2,-2 -1,-1 -1)))');
-- λ¨μν μ¬λ¬κ°μ Geom μ§ν©
SELECT ST_GeomFromText('GEOMETRYCOLLECTION(POINT(2 3),LINESTRING(2 3,3 4))');

κ·Έλ¬λ©΄ μ νμ
μΌλ‘ μμ±λ Geom κ°μ κΈ°λ°μΌλ‘ μ μ© ν¨μλ€μ μ¬μ©ν μ μκ² λλ€.
μλ₯Ό λ€μ΄, ST_Xλ Point κ°μ x κ°μ κΊΌλ΄μ€λ κ°λ¨ν ν¨μλ€.

μ°Έμ‘°
https://foss4g.tistory.com/1255
https://postgis.net/workshops/postgis-intro/geometries.html
https://postgis.net/docs/manual-3.0/postgis-ko_KR.html#RefObject
https://gis.stackexchange.com/questions/286808/what-does-the-st-prefix-stand-for-e-g-in-st-polygonize