ある開発者が、登録や支払いの必要がない、世界中のすべての港と空港(港3,804、空港9,640)をリスト化した、無料の検索可能なインデックスを公開しました。theportindex.online というサイトでは、ユーザーはデータを閲覧したり、CSVまたはJSON形式でデータセット全体をダウンロードしたりできます。
なぜこのインデックスが必要だったのか
作成者は、世界中の港のクリーンで最新のリストを見つけようとしましたが、壁に突き当たりました。ほとんどの商用サービスは有料の壁(ペイウォール)の向こう側にあり、公開されているリストは数年前の古いものであることが多いためです。不完全または古いデータに頼ると、アナリストはスプレッドシートのクリーニングに何時間も費やすことになり、そのコストは業界全体で膨大なものになります。米政府の港インデックス、国際的なロケーションコード・ディレクトリ、そしてクラウドソースによる空港データベースという3つの公開ソースを統合することで、開発者は誰もが即座に利用できる、単一の統合されたリファレンスを構築しました。
背後にあるデータソース
- NGA World Port Index – すべての認定された港の基本情報を提供する、米国政府による編纂物。
- UN/LOCODE – 国連のロケーションコード・システムで、港や空港に標準化された識別子を付与します。
- OurAirports – 滑走路の長さや座標を含む、コミュニティによって維持されている空港情報のコレクション。
各ソースは異なる側面を提供していますが、単独ではすぐに使える検索可能なカタログにはなりません。それらを統合するには、単なるコピー&ペースト以上の作業が必要でした。開発者は、不一致、重複エントリ、および欠落しているフィールドを解決しなければなりませんでした。
データのクリーニング:苦労して得た3つの教訓
- 埋め込まれた改行は単純なパーサーを壊す – 引用符内のフィールドに改行が含まれているCSVファイルは、単純な「改行で分割」コマンドでは分割できません。行を壊さずに保持するには、適切なCSVパーサーが不可欠です。
- 外れ値はミスを隠す – 一部の石油ターミナルには水深900メートルと記載されていましたが、これは港湾ではなく係留ブイの数値です。水深に基づくランキングの信頼性を保つためには、あり得ない数値をフィルタリングする必要がありました。
- ゼロはしばしばプレースホルダーである – 水深がゼロと記録されている場合、通常は水面が平らであることを意味するのではなく、測定値が不明であることを意味します。ゼロを欠損データとして扱うことで、水深に依存するあらゆる分析の整合性が保たれます。
生の数値を超えた価値の提供
このインデックスは、単に座標をリスト化するだけではありません。港については、水深を「安全に接岸できる船舶のクラス」に変換し、単一の指標を実用的な意思決定支援ツールへと変えています。空港については、滑走路の長さを「運用可能な航空機のタイプ」にマッピングすることで、パイロットやプランナーが能力を一目で判断できるようにしています。
空間グリッドによって、すべての港が最寄りの空港と(その逆も)リンクされており、サイトを探索ツールへと変えています。例えば、特定の港から車ですぐの距離にある空港はどこか、といったことが分かります。これはマルチモーダルな貨物計画に有用な機能です。
大規模な静的サイトエンジンの構築
フロントエンド全体は、静的生成(Static Generation)を用いたNext.jsで動作しています。ビルドプロセス中に、各港と空港に対応する約14,000ページがプリレンダリングされます。データベースやサーバーサイドのロジックが存在しないため、サイトに継続的な計算コストはかかりません。コンテンツ配信ネットワーク(CDN)上で稼働し、世界中でページを即座に配信します。
SEOの落とし穴と「薄いコンテンツ」への対策
テンプレート化された数千のページをアップロードすると、検索エンジンから「薄いコンテンツ(thin content)」と見なされ、ランキングが下げられるリスクがあります。開発者は、AdSenseの申請が拒否された際にこの問題に直面しました。解決策として、訪問者向けには全ページを公開したまま、各カテゴリーの上位400件の高品質なページ以外のすべてに noindex ディレクティブを追加しました。これにより、クローラーに対して「最も価値のあるページのみを検索結果に表示すべきである」と伝え、フルデータセットを提供しつつ、サイトの信頼性を維持しています。
利用者と制限事項
- 物流企業は、複数のPDFを調べなくても、貨物船が港の水深制限に適合するかどうかを迅速に確認できます。
- 航空プランナーは、滑走路と航空機のマッピングに即座にアクセスでき、ルートの実現可能性調査に役立ちます。
- 開発者や研究者は、カスタムツールにインポート可能な、クリーンでマシン読み取り可能なデータダンプを受け取ることができます。
プロジェクトの今後
作成者は、追加機能についてコミュニティからのフィードバックを求めています。
まとめ
データクリーニングの手間を解消し、推論レイヤーを追加し、静的生成によってサーバーコストを回避することで、開発者は、定期的なアップデートを受け入れ、検索エンジンのガイドラインに留意する姿勢があれば、リーンなアーキテクチャでも世界的に有用なツールを実現できることを示しています。
