Error 458 : เปิด Shapefile ใน DNR Garmin ไม่ได้

DNR Garmin เป็นโปรแกรมที่หลายคนรู้จัก ในการนำเข้า ส่งออก หรือการแลกเปลี่ยนข้อมูลเชิงพื้นที่ในรูปแบบต่างๆ ระหว่างคอมพิวเตอร์กับเครื่อง GPS ซึ่งการใช้งานง่ายมาก ไม่มีอะไรซับซ้อน วันนี้ตั้งใจจะนำเข้าข้อมูลจุด (Shapefile) ซึ่งเป็นจุดตรวจสอบในการไปออกภาคสนาม ไปยังเครื่อง GPS เพื่อจะใช้นำทางเข้าพื้นที่เป้าหมาย ปกติต่อเครื่อง GPS กับ คอมพิวเตอร์ เปิดโปรแกรม เปิด Shapefile และก็เลือก Upload ก็เป็นอันเสร็จเรียบร้อย แต่ครั้งนี้ทำไม่ได้โปรแกรมแจ้ง Error 458

Open Shapefile

Error 458

Errors

ตอนแรกคิดว่าเป็นที่ Window 8.1 หรือ ArcGIS 10.1 หรือ เครื่อง GPS 76CSX (ปกติใช้ 60 CSX) ลองแก้ไขหลายวิธี สุดท้ายก็มาเจอว่าเป็นที่ไฟล์ Geometry ที่ชื่อฟิลด์ [Shape*] ซึ่งถ้าการสร้าง Shapefile ตั้งแต่แรกมีการกำหนดค่า Z และ M ไว้จะทำให้ไม่สามารถนำเข้าในโปรแกรม DNR Garmin ได้ ทำให้เกิด Error 458

Feature ZM

ดังนั้นถ้าต้องการจะให้สามารถนำเข้าในโปรแกรม DNR Garmin ได้ต้องไม่เลือกค่า Z และ M

Feature

สำหรับไฟล์ที่เป็น Feature ZM และมีข้อมูลอยู่แล้ว สามารถแก้ไขได้ โดยใช้คำสั่ง Feature Class to Feature Class ใน ArcGIS ซึ่งจะต้องไปทำการ Disable ค่า Z และ M ในส่วน Environment

Feature Class to Feature Class

Disable Z and M

ผลลัพธ์ที่จะได้จะทำให้ได้ Shapefile ใหม่ ที่มีข้อมูลเดิมและไม่มีค่า Z และ M

Result

สามารถนำเข้าในโปรแกรม DNR Garmin ได้ปกติ

Not Error

คำสั่ง Calculate Adjacent Fields ใน ArcMap

ได้โจทย์มาจากรุ่นน้องในที่ทำงาน ซึ่งมี Shapefile ของขอบเขตที่อยู่อาศัยในบ้านจัดสรรเป็น Polygon ที่ประกอบไปด้วยบ้านเดี่ยวและทาวน์โฮม และต้องการแบ่งแยกว่า Polygon ไหนเป็นบ้านเดี่ยว และ Polygon ไหนเป็นทาวน์โฮม วิธีคิดก็คือ ถ้าบ้านเดี่ยว (ตัวบ้าน) Polygon จะแยกออกจากกัน แต่ถ้าเป็นทาวน์โฮม Polygon จะติดต่อกันกับหลังอื่นๆ อย่างน้อย 1 หลัง

สมมุติตัวอย่างข้อมูลที่อยู่อาศัย

Polygon Example

จากวิธีคิดที่จะแบ่งแยกข้อมูลออกเป็นบ้านเดี่ยว หรือ ทาวน์โฮม ด้วยอาศัยวิธีการของ Polygon ที่แยก หรือ ติดต่อกัน (ซึ่งจริงๆ ก็จะมีหลายวิธีที่สามารถนำมาใช้ในการจำแนกแบบนี้ได้) จึงได้เลือกใช้คำสั่ง Calculate Adjacent Fields ในโปรแกรม ArcMap ที่จะคำนวณให้ทราบว่ามี Polygon ไหนที่แยกหรือติดต่อกันบ้างในทิศทางไหน ซึ่งโปรแกรมจะทำการสร้างฟิลด์ขึ้นมาใหม่ 8 ฟิลด์ (คอลัมน์) ตามทิศทางของ Polygon รอบข้าง (8 ทิศ ได้แก่ N, NE, E, SE, S, SW, W, และ NW)

เลือกชั้นข้อมูลและฟิลด์ที่ต้องการ

Calculate Adjacent Fields

ผลลัพธ์ 8 ฟิลด์

8 Fields

จากผลลัพธ์ที่ได้ทำให้เราทราบว่า ถ้าแถวไหน หรือ Polygon ไหน ที่ไม่มีการติดต่อกับ Polygon ใดๆ เลย ให้กำหนดเป็นบ้านเดี่ยว

Home

ส่วนแถวไหน หรือ Polygon ไหน ที่มีการติดต่อกับ Polygon ใดๆ อย่างน้อย 1 Polygon ให้กำหนดเป็นทาวน์โฮม

Town Home

Go Back in Time with Street View

เมื่อกลางปีที่แล้ว นั่งหาพิกัดพื้นที่บุกรุกป่าไม้แห่งหนึ่งตามแหล่งข่าวต่างๆ แน่นอนว่าจะต้องมีการใช้ข้อมูล Google Earth และ Google Map มาประกอบการพิจารณา เพื่อเลือกพื้นที่ให้ใกล้เคียงความเป็นจริงให้ได้มากที่สุด เนื่องจากบางทีข้อมูลตามแหล่งข่าวจะบอกแค่ว่าพื้นที่บุกรุกอยู่ใกล้แหล่งน้ำชื่อนี้ บนถนนชื่อโน้น ในหมู่บ้านนี้ ตำบลโน้น … ซึ่งไม่ได้บอกค่าพิกัดที่แน่นอน และก็บังเอิญได้เข้าไปเปิด Street View ดู ซึ่งปรากฏว่ามันสามารถเลื่อนดูช่วงเวลาย้อนหลังในอดีตของพื้นที่นั้นๆได้ เหมือนกับการดูข้อมูลภาพถ่ายดาวเทียมย้อนหลังใน Google Earth ความรู้สึกตอนนั้น และตอนนี้รู้สึกว่า Google ไปไกลมากแล้วสำหรับเทคโนโลยีทางด้านนี้ อีกหน่อยก็คงไม่ต้องได้ออกสำรวจภาคสนามกันละ เพราะสำรวจผ่านหน้าจอแทน เพียงแต่ว่าตอนนี้ข้อมูล Street View ย้อนหลังยังไม่มีมากพอที่นำมาใช้งานได้เป็นหลัก และหลังจากนั้นมาผมก็พยายามค้นหาหลายพื้นที่ เพื่อที่จะดู Street View ย้อนหลัง ในประเทศไทย ก็ยังหาไม่เจอ ก็เลยนำตัวอย่างในต่างประเทศมาให้ดูเป็นตัวอย่างไปก่อนครับ

Freedom Tower

Freedom Tower

World Cup Stadium

World Cup Stadium

Italian Roadways

Italian Roadways

การสร้าง Label หลายบรรทัดบน ArcMap

เป็นทิปง่ายๆ ที่ได้ตัวอย่างจากเว็บไซต์นี้ https://geonet.esri.com/thread/48202 ปัญหาก็คือชื่อระวางแผนที่ 1 : 4,000 ยาว 9 ตัวอักษร แต่ช่องที่ใส่แคบไปทำให้ต้องลดขนาดตัวหนังสือให้เล็กลงจนเหลือ 8 ซึ่งก็มองไม่ค่อยเห็น เลยต้องหาวิธีตัดตัวอักษรออกให้เป็น 2 บรรทัดเพื่อจะได้กำหนดขนาดตัวอักษรที่ใหญ่มากกว่า 8 และยังคงอยู่ในช่องที่ต้องการ

Font 8

วิธีการคือ
1. เลือก Properties… ของชั้นข้อมูล –> ไปที่แท็บ Labels –> เลือก Expression

Expression

2. พิมพ์ [Field 1] & vbnewline & [Field 2]

vbnewline

3. เพิ่มขนาดตัวหนังสือให้ใหญ่ขึ้น ในที่นี้กำหนดได้ 14 จาก 8

Font 14

ถ้าต้องการหลายๆ บรรทัด ก็ใช้คำสั่ง vbnewline เพื่อทำการต่อ Field ไปเรื่อยๆ ครับ

การสุ่มเลือกข้อมูลใน Shapefile โดยใช้ Subset Features

เวลาจะทำแผนที่สักแผ่นหนึ่ง จะต้องประกอบไปด้วยชั้นข้อมูลต่างๆ มากมายที่ต้องการนำเสนอ ยกตัวอย่างเช่น ถนน ทางน้ำ สถานที่สำคัญ ขอบเขตการปกครอง เป็นต้น แต่บางชั้นข้อมูลจำนวนข้อมูลเยอะมากเหลือเกิน เช่น สถานที่สำคัญ มีจำนวน 1,000 จุด ถ้าเอามาใส่ในแผนที่และแสดง Label ด้วย คงทำให้แผนที่ดูรกน่าดูและมีการซ้อนทับกันจนดูไม่เห็นข้อมูลอย่างอื่น

Original Landmark

การจะมาเลือกและลบข้อมูลเอง ก็ไม่รู้จะเลือกลบอันไหน และเสียเวลามานั่งคลิกเลือก ดังนั้น จึงไปใช้ฟังก์ชั่น Subset Feature ใน Geostatistical Analyst เพื่อให้ฟังก์ชั่นสุ่มเลือกจำนวน Landmark ให้ตามจำนวนที่ต้องการ

Geostatistical Analyst

ในตัวอย่างนี้ เลือกสุ่มข้อมูลที่ร้อยละ 5 แสดงว่า จากข้อมูล Landmark ทั้งหมด 1,000 เลือกสุ่มเอาร้อยละ 5 จะได้ข้อมูล Landmark ใหม่มีจำนวน 50 จุด

Subset Features

ผลลัพธ์ที่ได้

Result

การแสดง Label บน Google Earth

มีข้อมูลเป็น Polygon (*.shp) ต้องการนำไปแสดงบน Google Earth พร้อม Label
วิธีการคือ
1. เปิด Polygon ใน ArcMap
2. ที่ Properties ของ Polygon เลือกไปที่แท๊บ Display และเลือก Display Expression เป็นชื่อคอลัมน์ที่ต้องการให้ไปแสดงรายการใน Google Earth

Display

3. แปลง Polygon ไปเป็น Point โดยฟังก์ชั่น Feature to Point

Feature to Point

4. ที่ Properties ของ Point ที่ได้ เลือกไปที่แท๊บ Labels และกำหนด Label ที่ต้องการ

Label

5. เปิดฟังก์ชั่น Layers to KML เลือกใส่ Polygon และ Point (ทำทีละครั้ง)

Layers to KML

6. นำไฟล์ *.kmz ที่ได้ไปเปิดบน Google Earth

Google Earth

7. กำหนดค่าสีตามต้องการ

Properties Google Earth

8. ผลลัพธ์

Result

การสร้าง Multiple Sync Data Frame

ปกติเวลาทำ Layout แผนที่ใน ArcGIS เราจะนิยมสร้างเพียง 1 Data Frame เพื่อการนำเสนอแผนที่ 1 เรื่อง แต่ถ้าเราต้องการนำเสนอแผนที่ 2 เรื่องในแผ่นเดียวกัน และต้องการให้การเลื่อนหรือซูมแผนที่มีความสอดคล้องกัน ก็สามารถทำได้ ยกตัวอย่างเช่น Data Frame ด้านบน เป็นข้อมูลภาพถ่ายฯ ปี 2550 และ Data Frame ด้านล่าง เป็นข้อมูลภาพถ่ายฯ ปี 2555 เป็นต้น วิธีการทำมีดังนี้

1. เปิด Layout ขึ้นมา จะมี 1 Data Frame มาให้ อัตโนมัติ

One Data Frame

2. ก๊อปปี้ Data Frame และ วาง พร้อมเปลี่ยนชื่อ Data Frame ให้ชื่อมีความแตกต่างกัน

Copy and Paste Data Frame

3. เลือกทั้ง 2 Data Frame และไปที่ View –> Data Frame Properties…

Data Frame Properties

4. กำหนดค่า Extent ตามรูป

Extent

5. เสร็จแล้ว ลองเลื่อนหรือซูมข้อมูลภาพถ่ายฯ ที่ Data Frame ด้านบน จะทำให้ Data Frame ด้านล่าง เปลี่ยนแปลงตาม

Result

*** สามารถทำ Sync ได้หลายๆ Data Frame ตามข้อ 1 – 4

Credit จาก Web Site นี้

arc2google

เวลาทำงานกับชั้นข้อมูลเวคเตอร์หรือชั้นข้อมูล GIS ใน ArcGIS บางทีก็ไม่มีข้อมูลใน Attribute ที่จะบอกว่า อันนี้คืออะไร อันนั้นคืออะไร จำเป็นที่จะต้องไปหาข้อมูลเพิ่มเติม ซึ่งโปรแกรมเสริมอันหนึ่งของ ArcGIS 10.1/10/9x ที่สามารถ Synchronize แผนที่กับ Google Maps, Google Earth, Bing Maps, และ Yahoo Maps สามารถ ช่วยทำให้ได้ข้อมูลดังกล่าวได้ ซึ่งการใช้งานก็ง่ายและสะดวกดี

วิธีการดาวน์โหลดและติดตั้ง arc2google

เครดิตจากเว็บไซต์นี้ครับ http://www.husseinnasser.com/2011/09/arc2google-for-arcgis-101-compatible.html

ดูชื่อแหล่งน้ำ

Water

ดูชื่อแหล่งน้ำ ถนน และสถานที่สำคัญ

Water and Road

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

Maps Compare

การแสดงผล 3D ในโปรแกรม QGIS 2.2

1. ดาวน์โหลดและติดตั้งโปรแกรม QGIS 2.2

2. ดาวน์โหลดและติดตั้งปลั๊กอิน Qgis2threejs

Qgis2threejs

3. เตรียมและเปิดชั้นข้อมูลที่ต้องการแสดงผล 3D ที่สำคัญคือจะต้องมีข้อมูล DEM ในที่นี้ใช้ 4 ชั้นข้อมูล ได้แก่

3.1 ขอบเขตตำบลดอนศิลา

3.2 ขอบเขตตำบล

3.3 ข้อมูลภาพถ่ายจากดาวเทียม

3.4 DEM

Data

4. เปิด Qgis2threejs และเลือกชื่อชั้นข้อมูล DEM พร้อมกำหนด Resolution ข้อมูล

Configuration

5. ผลลัพธ์ที่ได้จะแสดงบน Browser ซึ่งสามารถ Control ได้ทุกอย่าง โดยใช้ Mouse เป็นการแสดงผลได้ง่ายและรวดเร็วดี

Result

การแสดงรายละเอียดข้อมูล ด้วย HTML Popup

ปกติเคยใช้แต่ identify และ hyperlink วันนี้เลยมาแนะนำ Html Popup ให้เป็นอีกหนึ่งทางเลือกในการนำเสนอรายละเอียดข้อมูล

1. ตัวอย่างการใช้งาน

Sample

2. การแสดงรูปภาพ

picture format

3. การกำหนดหัวข้อของ Popup

Select Field

4. เลือกฟิลด์ที่จะแสดง
การแสดงชื่อหัวข้อฟิลด์ สามารถตั้งชื่อให้เป็นภาษาไทยได้ที่ Alias

Show Field

5. เลือกแสดงแบบ Html Popup

Html Popup