記事のバージョン: Enterprise Server 2.17
GitHub に geoJSON ファイルをマッピングする
GitHub Enterprise は、GitHub Enterprise リポジトリでの geoJSON および topoJSON マップ ファイルのレンダリングをサポートしています。 .geojson
または .topojson
拡張子を使って、通常と同じようにファイルをコミットするだけです。 .json
拡張子の付いたファイルもサポートされますが、type
が FeatureCollection
、GeometryCollection
、または topology
に設定されている場合に限られます。 コミット後、GitHub.com で geoJSON ファイルのパスに移動してください。
右側にある紙アイコンをクリックすると、そのファイル ドキュメントに加えられた変更も、コミットの一部として表示されます。
ジオメトリのタイプ
GitHub Enterprise のマップは Leaflet.js を使用し、geoJSON の仕様 (Point、LineString、Polygon、MultiPoint、MultiLineString、MultiPolygon、GeometryCollection) に概要が示されているジオメトリのタイプをすべてサポートしています。 TopoJSON ファイルは "Topology" タイプで、topoJSON の仕様に従っている必要があります。
フィーチャーのスタイリング
GeoJSON オブジェクトのプロパティで追加のメタデータを渡すと、特定の色を指定する、説明アイコンを追加するなど、フィーチャーの表示方法をカスタマイズすることができます。 オプションは次のとおりです:
marker-size
-small
、medium
、またはlarge
marker-color
- 有効な RGB 16 進カラーmarker-symbol
- Maki プロジェクトまたは英数字 1 文字 (a ~ z または 0 ~ 9) のアイコン IDstroke
- ポリゴンの辺やラインの色 (RGB)stroke-opacity
- ポリゴンの辺やラインの不透明度 (0.0 ~ 1.0)stroke-width
- ポリゴンの辺やラインの幅fill
- ポリゴンの内部の色 (GRB)fill-opacity
- ポリゴンの内部の透明度 (0.0 ~ 1.0)
詳細は simplestyle 公開仕様のバージョン 1.1.0 を参照してください。
マップを他の場所に埋め込む
GeoJSON マップを GitHub Enterprise 以外の場所で使用するには、 次のテンプレートを修正し、JavaScript をサポートしている任意の HTML ページに貼り付けてください (例: GitHub Pages)。
<script src="https://embed.github.com/view/geojson/<username>/<repo>/<ref>/<path_to_file>"></script>
たとえば、マップの URL が github.com/benbalter/dc-wifi-social/blob/master/bars.geojson であれば、埋め込みコードは次のようになります:
<script src="https://embed.github.com/view/geojson/benbalter/dc-wifi-social/master/bars.geojson"></script>
デフォルトでは、埋め込まれるマップのサイズは 420px x 620px ですが、最後のパラメータとして、?height=300&width=500
のように height 変数と width 変数 を渡せば、出力をカスタマイズすることができます。
ノート:ref
はブランチ(master
のような)にすることも、あるいはハッシュや個別のコミット(2391ae
)にすることもできます。
クラスタリング
マップに大量のマーカー (およそ 750 以上) が設定されている場合、ズーム レベルが大きいときは近隣のマーカーが自動的にクラスタ化されます。 クラスタをクリックしてズームするだけで、個々のマーカーが表示されます。
基になるマップに問題がある
基になるマップ データ (通りの名前、道路など) は、編集可能な無料の世界地図をコラボレーションによって作るプロジェクト、OpenStreetMap を利用しています。 オープンソースなので、何か不具合に気づいた場合は、ぜひサインアップして修正をサブミットしてください。
トラブルシューティング
geoJSON ファイルのレンダリングに問題がある場合は、geoJSON 文法チェッカーでそのファイルを実行し、有効な geoJSON ファイルであることを確認してください。 ポイントが、意図しない場所 (海の中など) にある場合、そのデータには、現在サポートされていない投影法が使われている可能性があります。 現在、GitHub Enterpriseでサポートされているのは urn:ogc:def:crs:OGC:1.3:CRS84
投影だけです。
また、10 MB を超えるような大きな .geojson
ファイルは、ブラウザではレンダリングできません。 その場合は通常、次のようなメッセージが表示されます:
その場合でも、.geojson
ファイルを TopoJSON に変換すればデータをレンダリングできます。TopoJSONは、ファイルサイズを最大 80% まで縮小できる圧縮形式です。 ファイルを小さいチャンクに分割し (州ごと、年ごとなど)、データを複数のファイルとしてリポジトリに格納することは、もちろんいつでもできます。