นักพัฒนาได้ปล่อยดัชนีที่สามารถค้นหาได้ฟรี ซึ่งรวบรวมรายชื่อท่าเรือและสนามบินทุกแห่งบนโลก—ท่าเรือ 3,804 แห่ง และสนามบิน 9,640 แห่ง—โดยไม่ต้องลงทะเบียนหรือชำระเงิน เว็บไซต์ theportindex.online ช่วยให้ผู้ใช้สามารถเรียกดูข้อมูลหรือดาวน์โหลดชุดข้อมูลทั้งหมดในรูปแบบ CSV หรือ JSON ได้
ทำไมจึงต้องมีดัชนีนี้
ผู้สร้างตั้งใจที่จะค้นหารายชื่อท่าเรือทั่วโลกที่สะอาดและทันสมัย แต่กลับพบอุปสรรค: ข้อเสนอเชิงพาณิชย์ส่วนใหญ่มักต้องจ่ายเงินเพื่อเข้าถึง (paywalls) และรายชื่อที่มีให้ใช้งานสาธารณะก็มักจะล้าสมัยไปหลายปี การพึ่งพาข้อมูลที่ไม่สมบูรณ์หรือเก่าเกินไปทำให้เหล่านักวิเคราะห์ต้องเสียเวลาหลายชั่วโมงในการทำความสะอาดสเปรดชีต ซึ่งเป็นต้นทุนที่สะสมเพิ่มขึ้นในอุตสาหกรรม ด้วยการรวบรวมแหล่งข้อมูลสาธารณะสามแห่ง ได้แก่ ดัชนีท่าเรือของรัฐบาลสหรัฐฯ, ทำเนียบรหัสสถานที่ระหว่างประเทศ และฐานข้อมูลสนามบินแบบ crowdsourced นักพัฒนาจึงสามารถรวบรวมแหล่งอ้างอิงเดียวที่รวมเป็นหนึ่งเดียวซึ่งทุกคนสามารถใช้งานได้ทันที
แหล่งข้อมูลเบื้องหลัง
- NGA World Port Index – การรวบรวมข้อมูลโดยรัฐบาลสหรัฐฯ ที่ให้รายละเอียดพื้นฐานสำหรับท่าเรือที่ได้รับการรับรองทุกแห่ง
- UN/LOCODE – ระบบรหัสสถานที่ของสหประชาชาติ ซึ่งเพิ่มตัวระบุมาตรฐานสำหรับท่าเรือและสนามบิน
- OurAirports – ชุดข้อมูลสนามบินที่ดูแลโดยชุมชน รวมถึงความยาวของรันเวย์และพิกัด
แต่ละแหล่งข้อมูลให้ข้อมูลในมุมที่แตกต่างกัน แต่ไม่มีแหล่งใดเพียงแหล่งเดียวที่สามารถมอบแคตตาล็อกที่พร้อมใช้งานและค้นหาได้ การรวมข้อมูลเหล่านี้เข้าด้วยกันต้องทำมากกว่าแค่การคัดลอกและวาง นักพัฒนาต้องแก้ไขความไม่สอดคล้อง ข้อมูลที่ซ้ำซ้อน และฟิลด์ข้อมูลที่ขาดหายไป
การทำความสะอาดข้อมูล: 3 บทเรียนที่ได้มาอย่างยากลำบาก
- การขึ้นบรรทัดใหม่ที่ฝังอยู่ทำให้ตัวแยกข้อมูล (parser) แบบพื้นฐานพัง – ไฟล์ CSV ที่มีการขึ้นบรรทัดใหม่ภายในฟิลด์ที่มีเครื่องหมายคำพูด (quoted fields) ไม่สามารถแยกข้อมูลด้วยคำสั่ง "split on newline" แบบพื้นฐานได้ การใช้ CSV parser ที่เหมาะสมจึงจำเป็นอย่างยิ่งเพื่อให้แถวข้อมูลยังคงความสมบูรณ์
- ค่าที่ผิดปกติ (Outlier) ซ่อนข้อผิดพลาดเอาไว้ – เทอร์มินัลน้ำมันบางแห่งระบุความลึกไว้ที่ 900 เมตร ซึ่งเป็นตัวเลขที่ควรจะเป็นของทุ่นผูกเรือ ไม่ใช่ท่าเรือ การกรองตัวเลขที่ไม่สมเหตุสมผลออกจึงเป็นสิ่งจำเป็นเพื่อให้การจัดอันดับตามความลึกมีความน่าเชื่อถือ
- เลขศูนย์มักเป็นเพียงตัวสำรอง (placeholder) – ความลึกที่บันทึกเป็นศูนย์มักหมายความว่าไม่ทราบค่าการวัด ไม่ใช่ว่าน้ำราบเรียบ การจัดการกับเลขศูนย์ในฐานะข้อมูลที่ขาดหายไป (missing data) จะช่วยรักษาความถูกต้องแม่นยำของการวิเคราะห์ใดๆ ที่ต้องพึ่งพาความลึก
การเพิ่มมูลค่าที่มากกว่าแค่ตัวเลขดิบ
ดัชนีนี้ทำได้มากกว่าแค่การระบุพิกัด สำหรับท่าเรือ มันจะแปลงค่าความลึกให้เป็นประเภทของเรือที่สามารถเข้าจอดได้อย่างปลอดภัย เปลี่ยนจากตัวชี้วัดเดียวให้กลายเป็นเครื่องมือช่วยตัดสินใจที่ใช้งานได้จริง สำหรับสนามบิน ความยาวรันเวย์จะถูกจับคู่กับประเภทของเครื่องบินที่สามารถปฏิบัติการได้ ช่วยให้นักบินและผู้วางแผนสามารถประเมินขีดความสามารถได้ในพริบตา
ตารางเชิงพื้นที่ (spatial grid) เชื่อมโยงทุกท่าเรือเข้ากับสนามบินที่ใกล้ที่สุดและในทางกลับกัน เปลี่ยนเว็บไซต์ให้กลายเป็นเครื่องมือในการสำรวจ ตัวอย่างเช่น ผู้ใช้สามารถค้นพบได้ว่ามีสนามบินใดบ้างที่อยู่ใกล้กับท่าเรือแห่งหนึ่งในระยะขับรถสั้นๆ ซึ่งเป็นฟีเจอร์ที่มีประโยชน์สำหรับการวางแผนการขนส่งสินค้าแบบต่อเนื่องหลายรูปแบบ (multimodal freight planning)
การสร้างเครื่องมือสร้างไซต์แบบสแตติก (static-site engine) ในระดับสเกลใหญ่
ส่วนหน้า (front end) ทั้งหมดทำงานบน Next.js ด้วยการสร้างแบบสแตติก (static generation) ในระหว่างกระบวนการ build จะมีการเรนเดอร์หน้าเว็บล่วงหน้าประมาณ 14,000 หน้า—หนึ่งหน้าสำหรับแต่ละท่าเรือและสนามบิน เนื่องจากไม่มีฐานข้อมูลหรือตรรกะฝั่งเซิร์ฟเวอร์ (server-side logic) เว็บไซต์จึงไม่มีค่าใช้จ่ายในการประมวลผลอย่างต่อเนื่อง โดยจะทำงานบนเครือข่ายการส่งเนื้อหา (CDN) ที่ให้บริการหน้าเว็บได้อย่างรวดเร็วทั่วโลก
กับดัก SEO และการแก้ไขปัญหาเนื้อหาเบาบาง (thin-content)
การอัปโหลดหน้าเว็บที่ใช้เทมเพลตจำนวนหลายพันหน้าอาจทำให้เครื่องมือค้นหา (search engines) สงสัย และอาจมองว่าเว็บไซต์มี "เนื้อหาเบาบาง" (thin content) จนส่งผลเสียต่ออันดับ นักพัฒนาประสบปัญหานี้เมื่อการสมัคร AdSense ถูกปฏิเสธ วิธีแก้ไขคือการเปิดหน้าเว็บทั้งหมดไว้ให้ผู้เยี่ยมชมเข้าถึงได้ แต่เพิ่มคำสั่ง noindex ให้กับหน้าเว็บทั้งหมด ยกเว้นหน้าที่มีคุณภาพสูง 400 อันดับแรกในแต่ละหมวดหมู่ สิ่งนี้จะบอกบอท (crawlers) ว่าควรแสดงเฉพาะหน้าที่มีคุณค่าที่สุดในผลการค้นหาเท่านั้น ซึ่งช่วยรักษาความน่าเชื่อถือในขณะที่ยังคงนำเสนอชุดข้อมูลทั้งหมดได้
ใครได้รับประโยชน์ และข้อจำกัดคืออะไร
- บริษัทโลจิสติกส์ สามารถตรวจสอบได้อย่างรวดเร็วว่าเรือบรรทุกสินค้ามีความลึกที่เหมาะสมกับข้อจำกัดของท่าเรือหรือไม่ โดยไม่ต้องค้นหาผ่านไฟล์ PDF หลายไฟล์
- ผู้วางแผนสายการบิน สามารถเข้าถึงข้อมูลการจับคู่รันเวย์กับประเภทเครื่องบินได้ทันที ซึ่งมีประโยชน์สำหรับการศึกษาความเป็นไปได้ของเส้นทางบิน
- นักพัฒนาและนักวิจัย จะได้รับข้อมูลดิบที่สะอาดและเครื่องจักรสามารถอ่านได้ (machine-readable) ซึ่งสามารถนำไปนำเข้า (import) สู่เครื่องมือที่สร้างขึ้นเองได้
ก้าวต่อไปของโปรเจกต์นี้
ผู้สร้างกำลังขอความคิดเห็นจากชุมชนเกี่ยวกับฟีเจอร์เพิ่มเติม
บทสรุป
ด้วยการจัดการกับปัญหาที่น่าปวดหัวในการทำความสะอาดข้อมูล การเพิ่มเลเยอร์การอนุมาน และการหลีกเลี่ยงค่าใช้จ่ายด้านเซิร์ฟเวอร์ด้วยการสร้างแบบสแตติก นักพัฒนาได้แสดงให้เห็นว่าสถาปัตยกรรมแบบลีนสามารถส่งมอบเครื่องมือที่มีประโยชน์ในระดับสากลได้—หากคุณยินดีที่จะยอมรับการอัปเดตเป็นระยะและคอยติดตามแนวทางปฏิบัติของ search engine
