การสร้างเว็บไซต์เพื่อแสดงข้อมูลแผนที่บนอินเตอร์เน็ต

การทำ Map Server ในโครงการใหญ่ๆ ที่มีความซับซ้อนของระบบมาก ซึ่งในการทำงานนั้นไม่สามารถทำได้เพียง 1 – 2 คน เหมือนกับการสร้างเว็บไซต์และนำ Map API มาวางไว้แล้วก็เสร็จ เพียงเพื่อแสดงข้อมูลเฉยๆ ซึ่งจะไม่มีการเกี่ยวข้องใดๆ กับข้อมูลแผนที่ เช่น การเตรียมภาพถ่ายจากดาวเทียม การเตรียมชั้นข้อมูลลายเส้น การออกแบบระบบให้ทำงานได้เร็ว และอื่นๆ อีกมากมายที่จะต้องคิดและวางแผนให้ดี ในการทำงานให้เสร็จตามเวลาทีกำหนดไว้ ซึ่งปกติก็น่าจะประมาณ 6 – 10 เดือน

จากที่ผมได้ทำงานและดูงานเกี่ยวกับการทำ Map Server มาหลายที่ ทำให้รู้สึกว่าจริงๆ แล้ว การทำระบบแบบนี้จะต้องมีคนที่จะเข้ามาร่วมทีมกี่คน และแต่ละคนจะต้องทำหน้าที่อะไรกันบ้าง เพราะว่าบางระบบที่พัฒนาขึ้นมา ซึ่งใช้คนทำงานน้อย แต่ละคนทำหลายหน้าที่ คือใช้คนให้คุ้ม ผลลัพธ์ก็คือระบบเสร็จตามเวลา ทำงานได้แต่ไม่ถูกใจ เช่น เปิดแผนที่ได้แต่ช้า functionทำงานได้แต่ได้บ้างไม่ได้บ้าง ชั้นข้อมูลแสดงได้แต่ข้อมูลผิด interface ไม่น่าสนใจ ระบบใช้งานยาก สุดท้ายก็อาจจะไม่มีคนใช้งาน เนื่องจากไม่น่าสนใจ ไม่ทันใจ เหนื่อยใจ

ที่ยกตัวอย่างมานี่ คืออยากจะให้มองผลลัพธ์ของการพัฒนาให้เป็นในเชิงคุณภาพมากกว่าเชิงปริมาณ ก้าวข้ามคำว่า ทำได้ ไปเป็น ทำได้ดี หรือทำได้โดนใจ ซึ่งคิดว่าน่าจะทำให้มีการพัฒนาโปรแกรมประยุกต์น้อยลง แต่มีคนใช้งานในแต่ละโปรแกรมเพิ่มมากขึ้น ประหยัดงบประมาณมากขึ้นหรือเปล่า สังเกตดูว่ามีหลายโปรแกรมที่มีการทำงานคล้ายกันแข่งขันกันทำ สุดท้ายก็ไม่ได้ใช้สักตัว เพราะแข่งกันแต่ปริมาณ

ไปเปิดเจอ Map Server ของ San Diego International Airport ได้ทดลองใช้งานดู ก็โอเคครับ รู้สึกว่าโดนใจในหลายเรื่อง

Aerial Photo

Application

ทำให้มานั่งคิดๆ ดูในการพัฒนาระบบนี้ จะมีคนทำงานที่รับผิดชอบในแต่ละหน้าที่ของตัวเองแบบนี้หรือเปล่า

1. ออกแบบ interface และโครงสร้างของเว็บไซต์ (graphic design)

2. ทดสอบระบบทุกอย่างให้ครบทุก function (tester)

3. รวบรวบและจัดการข้อมูลแผนที่ลายเส้น (vector)

4. รวบรวบและจัดการข้อมูลภาพถ่ายฯ (raster)

5. ออกแบบการนำเสนอแผนที่ และไอคอนต่างๆ (carto + icon + map scale)

6. บริหารจัดการโปรแกรมพื้นฐานทางด้านแผนที่ (software)

7. พัฒนาโปรแกรมประยุกต์ที่เชื่อมโยงกับโปรแกรมพื้นฐาน (application –> window, browser, ios, android)

8. วิเคราะห์และออกแบบระบบ (system analysis)

9. บริหารจัดการฐานข้อมูล (database)

10. ดูแลเรื่อง Hardware + Network

11. ประสานงานโครงการ

12. จัดทำเอกสารต่างๆ

13. บริหารจัดการโครงการ (project manager)

.
.
.

ดีไม่ดี อาจจะต้องมีการออกสำรวจภาคสนามด้วย ซึ่งก็จะต้องใช้คนเพิ่ม หรือใช้คนใน 1 – 13 นี้ก็ได้ครับ

3D Warehouse to ArcScene

การทำข้อมูล 3D เป็นเรื่องที่ได้รับความนิยมในปัจจุบันนี้ ไม่เพียงเฉพาะข้อมูลที่เป็นของสภาพภูมิประเทศเท่านั้น แต่ยังมีการสร้างรูปทรงสิ่งก่อสร้างต่างๆ เพื่อที่จะนำไปซ้อนทับบนสภาพภูมิประเทศอีกชั้นหนึ่ง ซึ่งจะทำให้ข้อมูลที่แสดงออกมามีความน่าสนใจมากขึ้น ผมเข้าไปดูใน Google Earth ก็เห็นสิ่งก่อสร้างมากมาย ทั้งในและต่างประเทศที่มีคนสร้างขึ้นและอัพโหลดขึ้นไปไว้ที่ 3D Warehouse ของ Google (ซึ่งอีกหน่อยน่าจะกลายเป็นของ Trimble ซะแล้วครับ) ของประเทศไทยก็มีเยอะครับ หลายสถานที่

3D Building

ซึ่งรูปทรงเหล่านี้ เราสามารถเข้าไปดาวน์โหลดมาได้ที่ 3D Warehouse จะโหลดเป็นไฟล์ Sketchup, Google Earth, หรือ Collada ก็ได้

3D Warehouse

การเปิดไฟล์ที่ดาวน์โหลดมานี้ก็มีหลายโปรแกรมที่สามารถทำได้ครับ หลักๆ ก็ตรงตัวตามไฟล์เลย คือ Sketchup หรือ Google Earth แต่ผมก็คิดอีกแบบหนึ่งว่า ถ้าไม่ได้นำไปใช้อะไรที่พิเศษเพียงแค่ดูเฉยๆ สวยงามก็ไม่ต้องทำอะไร ดูใน Google Earth ก็ดีที่สุดแล้ว

แต่ก็มีที่บางทีต้องการนำไปใช้เปิดกับโปรแกรม ArcScene ก็ให้โหลดไฟล์ที่เป็น Collada มาใช้งาน ส่วนวิธีการทำก็ตาม YouTube นี่เลยครับ

ในวิดีโอนี้ทำให้ผมได้รู้ว่าชนิดข้อมูลของตระกูล Arc ที่เรารู้จักกันดี คือ Point, Line, และ Polygon นั้น ยังมีตัว multipatch ที่เก็บรูปทรงทางด้าน 3D ได้ด้วย เคยรู้มาว่าเป็นแบบนี้ พึ่งจะมาได้ใช้งานจริงๆ ก็ตอนดูวิดีโอนี่แหละครับ

การตั้งชื่อไฟล์ข้อมูล

จากประสบการณ์ที่ทำงานมา การประมวลผลข้อมูลบางโปรแกรมทำไม่ได้ หรือทำได้ก็ไม่สมบูรณ์ การกู้ไฟล์ที่สูญหายไปหรือโดนไวรัสทำลายกลับมาไม่ได้ เป็นเพราะการตั้งชื่อเป็นภาษาไทย ซึ่งก็ไม่ใช่ทั้งหมดนะครับ แต่ให้ตั้งข้อสังเกตไว้ จริงๆแล้ว ผมอยากจะแนะนำให้เลือกตั้งชื่อไฟล์หรือโฟลเดอร์เป็นภาษาอังกฤษดีกว่าครับ นอกจากการตั้งชื่อเป็นภาษาอังกฤษแล้ว ยังไม่อยากให้มีเครื่องหมายขีดกลาง : ยัติภังค์ (-) หรือ ช่องว่าง ระหว่างคำด้วยครับ เพราะว่าจะไม่มีปัญหาในการทำงานกับโปรแกรมต่างๆ

สรุปการตั้งชื่อไฟล์ง่ายๆ

1. เป็นภาษาอังกฤษ

2. ไม่มีเครื่องหมายขีดกลาง (-)

3. ไม่มีช่องว่างระหว่างคำ

4. ไฟล์ไม่ควรอยู่ในโฟลเดอร์ที่ซับซ้อน หรือ ลึกมากเกินไป

ข้อสังเกตเกี่ยวกับไฟล์ gdb

ด้วยความที่คุ้นเคยกับการทำงานทางด้าน GIS เป็นหลัก เมื่อมีใครพูดถึงไฟล์ gdb ผมก็จะบอกไปเลยว่าเป็นไฟล์ Geodatabase ซึ่งแน่นอนก็ต้องนำไปเปิดกับโปรแกรม ArcGIS แต่สุดท้ายก็เปิดไม่ได้ ทดลองหลายรอบหลายวิธี ก็ยังเปิดไม่ได้ กะว่าจะบอกให้น้องไปก๊อปปี้มาใหม่เพราะไฟล์เสีย แต่ก็ยังไม่ใช่ทางออกที่ดีนัก ขอพักก่อนแล้วจะทดลองอีกที ออกไปนั่งกินกาแฟร้อนๆ ปล่อยใจลอยไปเรื่อยๆ คิดโน่นคิดนี่ ก็ถึงบางอ้อว่า จริงๆ แล้ว gdb ที่เห็น เป็นไฟล์ ไม่ใช่โฟลเดอร์ ซึ่งมันเป็นไฟล์ของ Garmin GPS Database Files (*.gdb) ต้องใช้โปรแกรม MapSource เปิด แต่ gdb ที่เป็นนามสกุลมากับโฟลเดอร์จะเป็นข้อมูลของ Geodatabase

ดังนั้นก็สรุปง่ายๆ เลยว่า

GDB
1. ไฟล์ gdb คือ Garmin GPS Database Files (*.gdb) ต้องใช้โปรแกรม MapSource เปิด

โปรแกรม MapSource

MapSource

2. โฟลเดอร์ gdb คือ Geodatabase ต้องใช้โปรแกรม ArcGIS : ArcCatalog เปิด

โปรแกรม ArcGIS : ArcCatalog

ArcCatalog