แปลง Shapefile เป็น KMZ แล้วคลาดเคลื่อน

แปลง Shapefile เป็น KMZ แล้วคลาดเคลื่อน เป็นเรื่องที่พบได้บ่อยมาก โดยลักษณะงานที่ทำ มักจะสร้าง Shapefile ใน ArcGIS และได้แปลงไฟล์เป็น KMZ เพื่อใช้ใน Google Earth แต่ปรากฏว่าเมื่อเปิดใน Google Earth แล้วรูปแปลงทีดินไม่ตรงตำแหน่ง คลาดเคลื่อนไปพอสมควร เป็นเพราะอะไร?

สาเหตุแปลง Shapefile เป็น KMZ แล้วคลาดเคลื่อน

ปัญหาเรื่องนี้เกิดขึ้นจากการตั้งระบบพื้นหลักฐาน (Datum) คนละระบบ เนื่องจาก Shapefile เดิมใช้ระบบ Indian 1975 แต่ Google ใช้ WGS 84 ดังนั้นจึงต้องมีการแปลงระบบพิกัดระหว่างสองระบบให้เหมาะสม แต่ที่ปัญหาเกิดขึ้นก็เพราะแปลงระบบพิกัดไม่เหมาะสมจึงเกิดปัญหา Shapefile ไม่ตรงตำแหน่ง

แปลง Shapefile เป็น KMZ แล้วคลาดเคลื่อน
เป็น KML ใน Google Earth แล้วไม่ตรง ตำแหน่งคลาดเคลื่อน

การแก้ปัญหา

สิ่งแรกที่มักแนะนำก็คือ ให้ตรวจสอบการระบุพิกัดใน ArcMap ว่าตั้งค่าเป็นอะไร หรือไม่ได้ตั้งค่าเอาไว้? สิ่งที่พบบ่อยมากคือไม่ได้ตั้งค่าระบบพิกัดไว้ใน Project ตั้งแต่แรก คือเปิดเชปไฟล์ที่ให้ไปโดยไม่ได้ตั้งค่าพิกัดอะไรเลย

ปกติจะแนะนำตลอดว่า เวลาทำงานกับ ArcGIS ให้ตั้งค่าระบบพิกัดที่แน่นอนเอาไว้เสียก่อน จะตั้งเป็นอะไรก็ได้ที่อยากตั้ง ขอให้เลือกให้แน่นอนชัดเจน

โดยตั้งที่ Views > Data Frame Properties > Coordinate System

โดยทั่วไป shapefile ที่เป็นรูปแปลงที่ดินมักจะเป็น indian 1975 ตามต้นฉบับแผนที่ของกรมที่ดิน ดังนั้นเวลาแปลงเชปไฟล์เป็น KMZ ต้องแปลงระบบพิกัดให้เป็น WGS 1984

ปัญหาต่อมาคือ บอกว่าใช้ระบบพิกัด WGS 84 แล้ว แต่ยังแปลงไฟล์ออกไปไม่ตรง

เรื่องนี้ต้องทำความเข้าใจก่อนว่า ระบบพิกัดมีสองแบบ คือ GCS (Geographic Coordinate System) กับ PCS (Projected Coordinate System)

ความแตกต่างของทั้งสองระบบคือ ถ้าเป็น GCS จะระบุตำแหน่งที่อยู่ตามเปลือกโลก ที่จะมีความโค้งของพื้นผิวตามลักษณะของโลกกลม ๆ ตามที่เป็นจริง แต่ถ้าเป็น PCS จะทำแผนที่ให้ออกมาเป็นแผ่นแบนราบ 

 ซึ่ง Google Earth (และ Open Street Map) ใช้ระบบ GCS แต่ Google Map ใช้ระบบ PCS ดังนั้นถึงจะเป็น WGS 84 เหมือนกัน แต่ถ้าใช้คนระบบจะผิดเพี้ยนกันไปเล็กน้อย

ตรงนี้ถึงบอกให้อ้างอิง มาตรฐาน กลุ่มสำรวจปิโตรเลียมยุโรป ( European Petroleum Survey Group – EPSG) เพราะรหัส EPSG จะระบุพิกัดแยกกัน โดย EPSG: 4326 จะเป็น WGS 84 ในระบบ GCS (ซึ่งGoogle Earth ใช้) ส่วน EPSG: 3857 จะเป็น WGS 19 ในระบบ PCS ซึ่ง Google Map ใช้

ดังนั้นถ้าพลาดแปลงพิกัดผิดพลาดก็จะส่งผลให้รูปแปลงคลาดเคลื่อนไป ตรวจทานเรื่องระบบพิกัดให้ดีจะช่วยลดปัญหาไปได้มาก

จำไว้ว่า

Google Earth - Geographic Coordinate System wgs84 datum (EPSG: 4326)

Google Maps - Projected Coordinate System wgs84 datum. (EPSG 3857)

เมื่อได้ลองแก้ไขปัญหา ตั้งค่าส่งออกใหม่

ปัญหาเรื่อง แปลง Shapefile เป็น KMZ แล้วคลาดเคลื่อน ก็เป็นแบบนี้เอง ทีนี้ยังมีปัญหาคล้าย ๆ กัน คือ เอา shapefile ที่เป็น Indian 1975 เข้า Indian 1975 แต่ไม่ตรงกัน พบปัญหาอีกว่า ได้ตั้ง project เป็น indian 1975 แล้ว แต่พอนำ shapefile เข้ามาใน ArcGIS กลับเจอปัญหาว่านำเข้ามาไม่ตรง

เรื่องนี้ก็เป็นไปอย่างที่เขียนไปแล้วข้างต้นว่า ระบบพิกัดมันมี 2 ระบบ คือ GCS (Geographic Coordinate System) กับ PCS (Projected Coordinate System)

เมื่อลองทำโดยตั้ง project ให้อยู่ในระบบ Indian 1975_UTM_Zone_47N WKID: 24047 Authority: EPSG ซึ่งจะอยู่ในแบบ Projected Coordinate System

WKID เป็นตัวแสดงรหัสเฉพาะตัว ซึ่งในที่นี้คือ 24047 ที่ออกโดย EPSG (กลุ่มสำรวจปิโตรเลียมยุโรป)

แต่พอนำ shapefile ที่เป็น indian 1975 เข้ามาก็จะขึ้นเตือนอย่างในรูป ซึ่งมันจะบอกว่า shapefile ที่ต้องการนำเข้าก็เป็น indian 1975 ถ้าไม่ได้ตั้ง project เอาไว้ก่อน

อ้างอิง บทความ Geographic vs Projected Coordinate Systemsจาก ESRI

ความคิดเห็นของคุณ :)

%d bloggers like this: