ว่าด้วยเรื่องของ Projection

Standard

วันนี้มากล่าวคร่าวกับเรื่องของ projection code กันเล็กน้อย

ตอนนี้มีหลายมาตรฐานมาก ๆ เลย
แต่โดยส่วนใหญ่ที่เราจะพบเจอ ก็เป็น ของ PROJ4 EPSG ซึ่งตอนนี้ก็มีของ QGIS และ PostGIS

โดยของ Postgis ส่วนใหญ่จะตรงกันกับของ PROJ 4 แต่ก็มีแตกต่างบ้างบางครั้ง

ก่อนต้องเป็นสองพวกตามหน่่วยอะนะครับ คือ Decimal Degree และ Meters

โดยในญี่ปุ่นส่วนใหญ่ที่เราจะเจอก็คือเป็นแบบ Decimal Degree

# JGD2000
<4612> +proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs no_defs <>

และ
# WGS 84
<4326> +proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs no_defs <>

ซึ่งแบบหลังเนี่ยจะเป็นแบบ Long Lat ที่ใช้ Datum เป็น WGS84 ซึ่งมีหลายประเทศก็ใช้กันอยู่

แต่หากเจอข้อมูลเก่า ๆในญี่ปุ่นก็จะมีการใช้ Tokyo datum นะครับซึ่งคือ

# Tokyo / Japan Plane Rectangular CS V
<30165> +proj=tmerc +lat_0=36 +lon_0=134.3333333333333 +k=0.999900 +x_0=0 +y_0=0 +ellps=bessel +units=m +no_defs no_defs <>

# Tokyo
<4301> +proj=longlat +ellps=bessel +no_defs no_defs <>

JGD2000 จะใช้ GRS80 สำหรับ ellipsoid และ Tokyo Datum จะใช้ Bessel ellipsoid ซึ่งมีผลทำให้เกิดความคลาดเคลื่อนกันประมาณ 400 – 500 m.
อีกหน่วยก็คือ Meters

ซึ่งจะมีการแบ่งออกเป็นประมาณ 13 zone ก็ต้องดูว่าข้อมูลอยู่ใน zone ไหน

# JGD2000 / Japan Plane Rectangular CS V
<2447> +proj=tmerc +lat_0=36 +lon_0=134.3333333333333 +k=0.999900 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <>

และ เทคนิคการนำข้อมูล shp เข้า PostGIS DB นั้นก็ใช้คำสั่งอย่างนี้นะครับ

(shp2pgsql -s 4326 airports.shp
-f output.sql)

หากไม่เช่นนั้นข้อมูลใน column SRID จะมีค่า = -1

สำหรับข้อมูลคราวนี้อ้างอิงจาก web นี้นะครับ

ท้ายนี้ขอแถมของไทยด้วยแล้วกันนะ
#WGS84/ UTM Zone 47
<32647>+proj=utm +zone=47 +ellps=WGS84 +datum=WGS84 +units=m +no_defs
#WGS84/ UTM Zone 48
<32648>+proj=utm +zone=48 +ellps=WGS84 +datum=WGS84 +units=m +no_defs
#Indian 1975/UTM Zone 47
<24047>+proj=utm +zone=47 +a=6377276.345 +b=6356075.413140239 +units=m +no_defs
#Indian 1975/UTM Zone 48
<24048>+proj=utm +zone=48 +a=6377276.345 +b=6356075.413140239 +units=m +no_defs

ถ้าเป็น latlong ส่วนใหญ่ก็เหมือนกับ ข้างบนคือ

# WGS 84 LongLat
<4326> +proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs no_defs <>

สำหรับข้อมูลเก่า ๆ หน่อยอาจจะเจออันนี้บ้าง

#Indian 1954/UTM Zone 47
<23947>+proj=utm +zone=47 +a=6377276.345 +b=6356075.413140239 +towgs84=217,823,299,0,0,0,0 +units=m +no_defs
#Indian 1954/UTM Zone 48
<23947>+proj=utm +zone=48 +a=6377276.345 +b=6356075.413140239 +towgs84=217,823,299,0,0,0,0 +units=m +no_defs
#Indian 1975/ LongLat
<4240>+proj=longlat +a=6377276.345 +b=6356075.413140239 +no_defs