Spatial Search(Query) - κ³΅κ° κ²μ
μ©μ΄
OpenGIS
WKT, WKB κ°μ μ§λ¦¬ μ 보 λ°μ΄ν°λ₯Ό νκΈ°νλ λ°©λ²κ³Ό μ μ₯νλ λ°©λ², SRIDμ κ°μ νμ€μ ν¬ν¨ν©λλ€.
SRS (Spatial Reference System)
SRSλ κ³΅κ° μ°Έμ‘° μμ€ν μ λλ‘ λ²μν μ μλλ°, κ·Έλ₯
μ’νκ³(Coordinate System)λΌκ³ μ΄ν΄νκ³ SRSλ GCS, PCSλ‘ κ΅¬λΆλ©λλ€.λμΌ μ§μ μ΄λΌκ³ νλλΌλ μ΄λ κ³΅κ° μ’νκ³(SRS)λ₯Ό μ¬μ©νλλμ λ°λΌ νμ λ°©λ²μ΄ λ¬λΌμ§λλ€. μλ₯Όλ€μ΄ μλ, κ²½λλ₯Ό μ’νλΌκ³ ν΄λ μ°Έμ‘°νλ κ³΅κ° μ’νκ³(GCS vs PCS)κ° λ¬λΌμ§λ©΄ μ€μ μμΉλ λ¬λΌμ§λλ€.
GCS (Geographic Coordinate System)
GCSλ μ§κ΅¬ ꡬ체μμ νΉμ μμΉλ 곡κ°μ νννλ μ’νκ³λ₯Ό μλ―Ένλλ°, νν
μλ(Latitude)μ κ²½λ(Longitude)μ κ°μ΄ κ°λ(Angular unit) λ¨μμ μ«μλ‘ νμν©λλ€.
PCS (Projected Coordinate System)
PCSλ ꡬ체 ννμ μ§κ΅¬λ₯Ό μ’ μ΄ μ§λμ κ°μ νλ©΄μΌλ‘ ν¬μμν¨ μ’νλ₯Ό μλ―Έν©λλ€. μ£Όλ‘ meterμ κ°μ μ νμ μΈ λ¨μλ‘ νμν©λλ€.
GCSμ λ¬λ¦¬ λͺ©μ μμ²΄κ° λ€λ¦ λλ€. GCSλ ꡬ체 νλ©΄μμ νΉμ μμΉλ₯Ό μ μνμ§λ§ PCSλ GCS μμΉ λ°μ΄ν°λ₯Ό 2μ°¨μ νλ©΄ μ’ μ΄μ μ΄λ»κ² ννν μ§λ₯Ό μ μν©λλ€.
GCSλ μμΉ(Where)κ° κ΄μ¬μ¬μ΄κ³ ,PCSλ μ΄λ»κ²(How) ννν μ§κ° κ΄μ¬μ¬ μ€ νλμ λλ€. PCS μ’νμλ GCS μ’νλ κ°μ΄ ν¬ν¨λ©λλ€.
SRIDμ SRS-ID
SRIDλ βSpatial Reference IDβμ μ€μλ§λ‘μ, νΉμ SRSλ₯Ό μ§μΉνλ κ³ μ λ²νΈλ₯Ό μλ―Έν©λλ€. SRS-IDμ SRIDλ λμμ΄μ΄λ©°, MySQL μλ²μμλ SRS κ³ μ λ²νΈλ₯Ό μ μ₯νλ
μ»¬λΌ μ΄λ¦μ SRS_IDλ‘ μ¬μ©νκ³ν¨μμ μΈμλ μλ³μλ SRIDλ₯Ό μ¬μ©ν©λλ€.
WKT, WKB
WKTλ OpenGISμμ λͺ μν μμΉ μ’νμ νν λ°©λ²μ΄λ©° μ¬λμ λμΌλ‘ μ½κ² νμΈν μ μλ ν μ€νΈ ν¬λ§·μ λλ€.
WKBλ μ»΄ν¨ν°μ μ μ₯ν μ μλ μ΄μ§ ν¬λ§·μ μ μ₯ νμ€μ λλ€.
POINT(15 20) λλ LINESTRING(0 0, 10 10, 20 25, 50 60) λ±κ³Ό κ°μ΄ μ μ΄λ λνμ μμΉ μ 보λ₯Ό μ μνλ νμ€μ λλ€.
MySQL μλ²λ λ΄λΆμ μΌλ‘ WKTλ WKB ν¬λ§·μΌλ‘ μ μ₯νμ§ μμΌλ©°, μ μ₯νλ μ΄μ§ λ°μ΄ν° ν¬λ§·μ WKB ν¬λ§·κ³Ό ν‘μ¬νμ§λ§ λμΌνμ§λ μμ΅λλ€.
R-TREE
MBRλ€μ ν¬ν¨ κ΄κ³λ₯Ό κ°μ§κ³ λ§λ μΈλ±μ€μ λλ€. μ¦, MBRμ κ³μΈ΅μ ν¬ν¨ κ΄κ³λ₯Ό μ΄μ©ν μΈλ±μ€λ‘, κ³΅κ° λ°μ΄ν° κ²μμ μν΄ B-Tree ννλ‘ κ΅¬νλμμ΅λλ€.
SRS(Spatial Reference System)
MySQLμμ μ§μνλ SRSλ 500μ¬ κ°κ° λμΌλ©° λ€μ λͺ λ Ήμ ν΅ν΄ νμΈν μ μμ΅λλ€.
SRS_NAME: κ³΅κ° μ°Έμ‘° μμ€ν μ μ΄λ¦ (κ³ μ κ°)
SRS_ID: κ³΅κ° μ°Έμ‘° μμ€ν μ μ«μ ID (κ³ μ κ°).
DBμμ κ³΅κ° λ°μ΄ν°λ₯Ό μ²λ¦¬ν λ μ΄λ€ μ’νκ³λ₯Ό μ¬μ©ν μ§ κ²°μ νλ ν΅μ¬ κ°μ΄λ©°, κ³΅κ° λ°μ΄ν°λ₯Ό μ μ₯νκ±°λ μ‘°μν λ λ°λμ μ°Έμ‘°λλ©°, DBκ° κ³΅κ° μ°μ°μ μ ννκ² μννκΈ° μν΄ νμν μ 보λ₯Ό μ°Ύλ keyλ‘ μ¬μ©λ©λλ€.
ORGANIZATION: μ’ν μμ€ν μ μ μν μ‘°μ§μ μ΄λ¦
ORGANIZATION_COORDSYS_ID: ν΄λΉ μ‘°μ§μ΄ κ³΅κ° μ°Έμ‘° μμ€ν μ λΆμ¬ν μ«μ ID
DEFINITION: WKT(Well-Known Text) νμμΌλ‘ λ κ³΅κ° μ°Έμ‘° μμ€ν μ μ
κ³΅κ° λ°μ΄ν°μ μ’νλ₯Ό ν΄μνκ³ λ€λ₯Έ μ’νκ³λ‘ λ³ννλ κ³μ°μ μνν©λλ€.
SRID 0μ νΉλ³ν κ²½μ°λ‘, definitionμ΄ λΉμ΄μλ€. SRID 0μ΄ μ§λ¦¬μ μμ€ν μ΄λ ν¬μλ²μΌλ‘ ννλ μ μκΈ° λλ¬Έμ λλ€.
DESCRIPTION: κ³΅κ° μ°Έμ‘° μμ€ν μ λν μ€λͺ
ν μ΄λΈμμ μ€μν 컬λΌμ SRS_IDμ DEFINITIONμ λλ€. κ·Έ μ΄μ λ κ³΅κ° λ°μ΄ν°μ μ νν μμΉ μ°Έμ‘°μ λ€μν μ’νκ³ κ°μ λ³νμ κ°λ₯νκ² νλ ν΅μ¬ μμμ΄κΈ° λλ¬Έμ λλ€.
SRS_ID = 4326μΈ, GPSκ° μ¬μ©νλ μ’νκ³ ν
μ΄λΈ μ 보
SRS_NAME: WGS 84
SRS_ID: 4326
ORGANIZATION:
ORGANIZATION_COORDSYS_ID:
DEFINITION:
DEFINITION 컬λΌμ νμ βGEOGCSβ λλ βPROJCSβλ‘ μμνλλ°, μ΄λ μ§λ¦¬ μ’νκ²(GCS)μ ν¬μ μ’νκ³(PCS)λ₯Ό μλ―Έν©λλ€. μ§λ¦¬ μ’νκ³λ λλ΅ 483κ°, ν¬μ μ’νκ³λ 4668κ°μ λλ€.
μ€μν νλμΈ AXISλ μλμ κ²½λ μμλ‘ λμ΄λμ΄ μμ΅λλ€.
κ·Έλμ WGS 84 μ’νκ³λ₯Ό μ¬μ©νλ μμΉ μ 보μμ μμΉλ₯Ό νμν λλ βPOINT(μλ κ²½λ)βλ‘ ννν΄μΌ ν©λλ€.
ST_X() ν¨μλ μλ, ST_Y() ν¨μλ κ²½λ κ°μ λ°νν©λλ€.
SRS_ID = 3857μΈ ν¬μ μ’νκ³ ν
μ΄λΈ μ 보

μ΄ μ’νκ³λ μ λ ₯λλ κ°μ λ¨μ(UNIT)κ° λ―Έν°(meter)μ λλ€. ν¬μ μ’νκ³λ μΉ νμ΄μ§μμ μ§λλ₯Ό 보μ¬μ£ΌκΈ° μν΄ μ¬μ©λλ©°, Googleκ³Ό Open Street Map, λ€μμ μΉ κΈ°λ° μ§λ νλ‘μ νΈμμ μ¬μ©λ©λλ€.
SRID = 4326κ³Όλ λ°λλ‘ AXISμμ βPOINT(κ²½λ μλ)β μμμ
λλ€.
MySQLμμ κ³΅κ° λ°μ΄ν°λ₯Ό μ μ₯ν λ SRIDλ₯Ό μ§μ νμ§ μμΌλ©΄ 0μΈ νλ©΄ μ’νκ³λ‘ μλ μΈμλ©λλ€.
μ΄λ λ¨μκ° μλ μΆμ μ’νκ³λ₯Ό λνλ΄λ©°, μ’νκ°μ ν΄μ λ°©μμ κ²°μ νκΈ° λλ¬Έμ μν©μ λ°λΌ μ§μ νλ κ²μ μ€μν μλ―Έλ₯Ό κ°μ΅λλ€.
SRS_ID(SRS)κ° κ±°λ¦¬ κ³μ°μ λ―ΈμΉλ μν₯
λ€μ μμλ₯Ό λ³΄κ² μ΅λλ€.
SRID=0 (νλ©΄ μ’νκ³):
κ²°κ³Όκ° 1.4142135623709λ νΌνκ³ λΌμ€ μ 리λ₯Ό μ μ©ν μ ν΄λ¦¬λ 거리μ λλ€. μ΄λ λ¨μκ° μλ μΆμμ μΈ νλ©΄ μ’νκ³μμμ μ§μ 거리λ₯Ό μλ―Έν©λλ€.
λ¨μν μνμ μΈ μ’ν κ° κ±°λ¦¬λ₯Ό κ³μ°ν©λλ€.
SRID=3857 (μΉ λ©λ₯΄μΉ΄ν λ₯΄ ν¬μ μ’νκ³):
κ²°κ³Όκ°μ΄ SRID=0κ³Ό λμΌν©λλ€. SRID=3857μ΄ λ―Έν° λ¨μμ νλ©΄ ν¬μ μ’νκ³μ΄κΈ° λλ¬Έμ μΉ λ©λ₯΄μΉ΄ν λ₯΄ ν¬μμ νλ©΄ μ’νκ³λ‘ μ·¨κΈλμ΄ μ ν΄λ¦¬λ 거리 κ³μ° λ°©μμ μ¬μ©ν©λλ€.
SRID=4326 (WGS84 μ§λ¦¬ μ’νκ³):
μ΄λ SRID=4326μ΄ μ§λ¦¬ μ’νκ³(μλ/κ²½λ)μ΄κΈ° λλ¬Έμ κ²°κ³Ό κ°μ΄ λ€λ¦ λλ€.
κ³μ°λ 거리λ μ§κ΅¬ νλ©΄μ λ°λΌ μΈ‘μ λ λ μ§μ κ°μ μ€μ 거리μ λλ€.
μ΄ κ²°κ³Όλ SRID κ°μ΄ λ¨μν μλ³μκ° μλλΌ μ’νμ ν΄μ λ°©μκ³Ό 거리 κ³μ° μκ³ λ¦¬μ¦μ κ²°μ νλ μ€μν μμμμ 보μ¬μ€λλ€. λμΌν μ’νκ°μ΄λΌλ SRIDμ λ°λΌ μμ ν λ€λ₯Έ 물리μ μμΉμ 거리λ₯Ό λνλΌ μ μμ΅λλ€. λ°λΌμ μ νν κ°μ μ»κΈ° μν΄ SRIDλ₯Ό μ€μ νμ§ μλλ€λ©΄ κΈ°λνλ κ°μ κ³μ°νμ§ λͺ»ν μ μμ΅λλ€.
SRID=0μΌλ‘ μ§μ ν κ³΅κ° λ°μ΄ν°λΌκ³ ν΄μ μ€μ 거리(km, meter)λ₯Ό κ³μ°νμ§ λͺ»νλ κ²μ΄ μλλ€. μ¬κΈ°μ μκΈ°νλ κ²μ MySQL μλ²κ° μλμΌλ‘ νμν κ°μ κ³μ°νμ§ λͺ»νλ€λ κ²μ΄λ€.
λ°λΌμ SRID = 0μΈ κ²½μ° μλμΌλ‘ λ°μ΄ν°λ₯Ό WGS84 μ’νκ³λ‘ λ³νν΄μ 거리 κ³μ°μ νκ±°λ λ³λμ νμ° μμ μ ν΅ν΄ μ€μ 거리λ₯Ό κ³μ°ν μ μλ€.
λν, λ§μ κ³΅κ° ν¨μλ€μ΄ SRID = 0μΈ κ²½μ°μλ§ μλνμ¬, μΌλΆ ν¨μλ§ WGS84 μ’νκ³ λ°μ΄ν°λ₯Ό μ²λ¦¬ν μλ μλ€. μμ© νλ‘κ·Έλ¨μμ μ¬μ©νλ κ³΅κ° ν¨μλ€μ΄ μ΄λ€ SRIDλ₯Ό μ§μνλμ§ λ¨Όμ κ²ν νκ³ κ·Έμ λ§λ κ³΅κ° μ’νκ³ μ¬μ©μ κΆνλ€κ³ νλ€.
Last updated