GeoJSONは、点、線、面などの地理情報を扱いやすい形式で保存できるため、現場調査、施設管理、防災マップ、インフラ点検、台帳整備など幅広い業務で利用されています。テキスト形式なので中身を確認しやすく、地図表示やデータ連携にも使いやすい一方で、扱う範囲や属性情報が増えるとファイル容量が大きくなり、読み込みが遅い、画面操作が重い、共有に時間がかかるといった問題が起こりやすくなります。この記事では、「geojson 使い方」を調べている実務担当者に向けて、GeoJSONの容量を軽くするために見直したい6つの改善策を、実務で判断しやすい観点から解説します。
GeoJSONの容量が大きくなる原因を理解する
GeoJSONの容量を軽くする前に、まず何が容量を増やしているのかを把握することが大切です。GeoJSONは、地物ごとにgeometryとpropertiesを持つ構造になっています。geometryには座標情報が入り、propertiesには名称、分類、管理番号、点検結果、備考などの属性情報が入ります。容量が大きくなる主な要因は、この座標情報と属性情報のどちらか、または両方が膨らんでいることです。
たとえば、境界線や道路中心線、河川、法面、敷地外周などの線や面データでは、形状を表すために多くの頂点が使われます。現地測量や高精度な図面データから変換したGeoJSONでは、曲線や細かな折れ点が大量の座標として保存されることがあります。見た目にはなめらかな線に見えても、内部では数千、数万の座標点が並んでいる場合があり、これが容量増加の大きな原因になります。
一方で、点データ中心のGeoJSONでも容量が大きくなることがあります。点の数が多い場合はもちろんですが、各点のpropertiesに多くの項目が入っている場合も注意が必要です。現場名、住所、担当者、部署、日付、ステータス、写真名、備考、判定結果などをすべて1つのGeoJSONに含めると、地図表示には使わない情報まで毎回読み込むことになります。GeoJSONは可読性が高い反面、同じキー名が地物ごとに繰り返されるため、属性項目が多いほどファイル全体の容量も増えやすくなります。
また、GeoJSONはテキスト形式のため、座標の小数点以下の桁数も容量に影響します。緯度経度の数値が小数点以下10桁以上で保存されていると、1つの座標だけではわずかな差でも、数万点、数十万点になると大きな差になります。実務上そこまでの桁数が不要な用途でも、変換元のデータや出力設定のまま高い桁数で保存されているケースはあります。
さらに、1つのGeoJSONに広い範囲のデータをすべて入れてしまうことも、容量増加と表示遅延の原因になります。市区町村全域、管理路線全体、施設群全体などをまとめて1ファイルにすると、ユーザーが一部の範囲しか見ない場合でも、全データを読み込む必要があります。地図上で必要な範囲を表示する前に大きなファイルを読み込むため、初回表示が遅くなり、端末やブラウザの負荷も高くなります。
GeoJSONを軽くする作業では、単純に容量だけを小さくすればよいわけではありません。位置精度、属性情報、図形の見た目、検索性、更新しやすさ、共有しやすさのバランスを取る必要があります。特に現場管理や点検業務で使う場合、軽量化しすぎて必要な情報や位置精度が失われると、後工程で確認や修正が増えてしまいます。したがって、まずはどの用途で使うGeoJSONなのかを明確にし、地図表示用なのか、記録保存用なのか、集計用なのか、共有用なのかを整理したうえで改善策を選ぶことが重要です。
改善策1 座標の桁数を必要な精度まで減らす
GeoJSONの容量を軽くするうえで、最初に確認したいのが座標の桁数です。GeoJSONでは、基本的に経度、緯度の順で座標値が数値として保存されます。出力元の設定によっては、小数点以下の桁数が非常に長くなっている場合があります。座標の桁数が多いほど1点あたりの文字数が増え、頂点数が多いデータでは容量に大きく影響します。
実務では、すべての用途で過剰な桁数が必要になるわけではありません。たとえば、広域の施設位置を地図上で確認するだけであれば、極端に細かい小数点以下の桁数は不要なことがあります。一方で、施工管理、境界確認、構造物位置の記録など、数センチ単位の位置精度が意味を持つ業務では、安易に桁数を落とすと問題になる可能性があります。重要なのは、見た目の軽さだけで判断せず、利用目的に対して必要十分な精度を決めることです。
座標の桁数を減らすときは、まず元データの精度を確認します。元データ自体が現地測量に基づくものなのか、手入力や目視で配置されたものなのか、既存図面から変換したものなのかによって、意味のある桁数は変わります。元の取得精度が数メートル程度であれば、小数点以下を過度に残しても実質的な精度は上がりません。逆に、高精度に取得した座標を粗く丸めると、現場での照合に支障が出ることがあります。
座標の桁数削減は、見た目に影響が少ないわりに容量削減効果が出やすい改善策です。特に境界データや道路データのように頂点数が多いGeoJSONでは、すべての座標に対して数桁分の文字数が削減されるため、ファイル全体では大きな差になります。加えて、座標値が短くなると、人がファイルを開いて確認するときにも見やすくなります。
ただし、丸め処理を行うときは、元ファイルを必ず残しておくことが重要です。軽量化後のGeoJSONは表示や共有には向いていても、正確な記録や再編集には元データが必要になる場合があります。作業用の高精度データと、表示用の軽量データを分けて管理すれば、容量と精度の両方を保ちやすくなります。
また、座標の桁数を減らした後は、地図上で位置ズレがないか確認します。点データであれば代表地点をいくつか確認し、線や面データであれば境界や交差部、道路端、施設外周など、ズレが目立ちやすい場所を重点的に確認します。特に面データでは、座標の丸めによって細い形状がつぶれたり、隣接する面との隙間や重なりが目立ったりすることがあります。容量が軽くなったことだけで判断せず、表示結果と業務上の許容範囲を合わせて確認することが大切です。
改善策2 不要な属性情報を整理してpropertiesを軽くする
GeoJSONの容量は、座標だけでなくpropertiesに含まれる属性情報によっても大きく変わります。propertiesには、地物ごとの名前、分類、管理番号、状態、備考、更新日、担当部署など、さまざまな情報を入れることができます。便利な反面、必要以上に項目を詰め込むと、ファイル容量が増え、地図表示や検索処理も重くなります。
よくある例として、元の台帳データをそのままGeoJSONに変換し、地図表示に使わない項目まで含めてしまうケースがあります。台帳としては必要な情報でも、地図上で色分けやラベル表示をするだけなら不要な項目が多く含まれていることがあります。たとえば、内部管理用の長い備考欄、担当者名、処理履歴、過去の判定記録、空欄が多い項目などは、表示用GeoJSONには含めなくてもよい場合があります。
propertiesを軽くする第一歩は、項目を用途別に仕分けることです。地図上で表示する項目、絞り込みや色分けに使う項目、クリック時に確認したい項目、別システムで管理すればよい項目を分けて考えます。すべてを1つのGeoJSONに持たせるのではなく、地図表示に必要な最小限の属性だけを残すことで、容量を抑えながら操作性を高めることができます。
また、項目名の長さも容量に影響します。GeoJSONでは、同じ属性名が地物ごとに繰り返されます。地物数が多い場合、長いキー名はそれだけで容量を増やします。ただし、短くしすぎると意味が分かりにくくなり、後から編集する担当者が混乱する可能性があります。そのため、単に1文字の略称にするのではなく、業務内で意味が通じる範囲で簡潔な項目名にすることが望ましいです。
属性値の表記ゆれも見直しポイントです。同じ分類を表すのに「補修必要」「要補修」「修繕要」など複数の表記が混在していると、集計や表示条件の設定が複雑になり、データ管理もしにくくなります。表記を統一すれば容量削減だけでなく、検索や色分けの精度も上がります。特にステータスや分類名は、短く分かりやすい語句に統一しておくと、地図表示用のデータとして扱いやすくなります。
空欄の多い項目にも注意が必要です。地物ごとに値が入っていない属性を大量に持たせていると、情報としては意味がないのにファイル容量だけが増えます。必要に応じて、空欄項目を出力しない設定や、表示用データでは不要項目を除外する処理を検討します。特に、現場写真のファイル名や長文メモをすべてpropertiesに入れている場合は、容量が急増しやすくなります。写真や詳細記録は別の台帳や管理データに持たせ、GeoJSONには参照用の番号や短い識別子だけを入れる方法も有効です。
propertiesの整理は、単なる軽量化ではなく、データの使いやすさを高める作業でもあります。属性が整理されたGeoJSONは、地図上での表示条件を設定しやすく、担当者が中身を見たときにも理解しやすくなります。容量を軽くするためには、何を削るかだけでなく、何を残せば業務に支障がないかを考えることが重要です。
改善策3 図形を単純化して頂点数を減らす
線や面のGeoJSONで容量が大きい場合、効果が出やすい改善策の一つが図形の単純化です。図形の単純化とは、形状の特徴を大きく損なわない範囲で不要な頂点を減らす処理のことです。道路、河川、境界、建物外周、区域ポリゴンなどは、元データに細かな頂点が大量に含まれていることがあります。表示縮尺によっては、その細かな折れ点が画面上でほとんど見えないにもかかわらず、読み込み時にはすべての座標が処理されます。
たとえば、広域地図で区域の概要を見せるだけなら、細かな曲がりや微小な凹凸をすべて保持する必要はない場合があります。境界の見た目が大きく変わらない範囲で頂点を減らせば、GeoJSONの容量を削減できます。特に面データでは、外周の頂点だけでなく、穴や内側境界にも多くの座標が含まれることがあるため、単純化による効果が大きくなります。
ただし、図形の単純化は慎重に行う必要があります。頂点を減らしすぎると、境界線が本来の位置からずれたり、細い区域が消えたり、隣接する面との重なりや隙間が発生したりする可能性があります。特に、境界確認、面積計算、施工範囲の確認などに使うGeoJSONでは、見た目の軽さだけを優先すると業務上の誤解につながります。単純化は、地図表示用の軽量データに対して行い、正式な記録や計算に使う元データとは分けて管理するのが安全です。
単純化の目安は、使用する縮尺や目的によって変わります。広域表示で全体傾向を確認するデータであれば、ある程度大きく単純化しても実務上問題になりにくい場合があります。一方で、現場で構造物や敷地境界を確認する用途では、わずかな形状変化でも問題になることがあります。最初から大きく削減するのではなく、段階的に単純化し、表示結果と容量を比較しながら調整することが望ましいです。
また、単純化後は図形の破損がないか確認します。面データでは、ポリゴンが自己交差していないか、穴の構造が崩れていないか、隣接する区域との関係が不自然になっていないかを見ます。線データでは、接続すべき線が離れていないか、交差点や端点がずれていないかを確認します。点データでは頂点数削減の対象にはなりにくいものの、重複点やほぼ同じ位置の点が多数ある場合は、別途整理が必要になることがあります。
図形の単純化は、容量削減と表示速度改善の両方に効きやすい方法です。しかし、削減効果が大きい分、やりすぎると品質への影響も大きくなります。元データを保持し、表示用の派生データとして軽量版を作る考え方を持つことで、安心して活用できます。
改善策4 データを目的別に分割して読み込み範囲を小さくする
GeoJSONの容量が大きくなる原因の一つに、すべての情報を1つのファイルにまとめすぎていることがあります。管理上は1ファイルの方が分かりやすく見えるかもしれませんが、地図表示や共有の場面では、必要のないデータまで一括で読み込むことになり、表示速度が低下しやすくなります。特に、広域の施設データ、長い路線データ、複数区域の境界データ、多年度の点検結果などをまとめている場合は、分割を検討する価値があります。
データ分割の基本は、利用者がどの範囲を、どの目的で見るのかに合わせることです。たとえば、地区ごと、路線ごと、施設種別ごと、年度ごと、点検ステータスごとに分ける方法があります。ユーザーが必要な範囲だけを読み込めるようにすれば、初回表示の負荷を下げられます。全体を一覧する必要がある場合でも、まずは軽い概要データを表示し、詳細が必要な範囲だけ別ファイルを読み込む構成にすると扱いやすくなります。
分割のメリットは容量削減だけではありません。更新作業もしやすくなります。1つの大きなGeoJSONを毎回更新すると、変更箇所が一部だけでもファイル全体を扱う必要があります。地区別や年度別に分けておけば、更新対象のファイルだけを差し替えられ、作業ミスや共有時の負担を減らせます。複数の担当者で作業する場合も、担当範囲ごとにファイルを分けておくと管理しやすくなります。
ただし、分割しすぎにも注意が必要です。ファイル数が多くなりすぎると、どのファイルがどの範囲を表しているのか分かりにくくなり、管理が煩雑になります。また、複数ファイルを同時に読み込む構成では、通信回数が増えてかえって遅くなる場合もあります。分割は、利用範囲と更新頻度を考えながら、実務で管理できる単位にすることが重要です。
分割するときは、ファイル名や属性の付け方も統一します。地区名、年度、種別、版数などを一定のルールで付けると、後から探しやすくなります。属性にも、分割単位を示す情報を残しておくと、再結合や集計が必要になったときに便利です。たとえば地区ごとに分ける場合でも、propertiesに地区コードや地区名を残しておけば、後から全体をまとめたときに識別できます。
また、分割後のデータ同士のつながりも確認します。線データを区間ごとに分ける場合、区切り位置で線が途切れていないか、重複や欠落がないかを確認します。区域データを分ける場合は、境界部分の重なりや隙間がないかを見ます。分割によってファイルは軽くなりますが、データ構造の整合性が崩れると後工程で問題になります。
データ分割は、GeoJSONを実務で扱いやすくするための重要な考え方です。1つのファイルを無理に軽くするだけでなく、必要なときに必要な分だけ読み込む設計にすることで、表示速度、更新性、共有性を改善できます。
改善策5 表示用データと管理用データを分ける
GeoJSONを軽くするうえで重要なのが、表示用データと管理用データを分ける考え方です。実務では、1つのデータにすべての情報を入れたくなることがあります。現場で取得した座標、点検結果、写真情報、備考、履歴、担当者、判定理由などをまとめておけば、一見便利に見えます。しかし、地図表示のたびにすべての情報を読み込む必要があるとは限りません。
表示用データは、地図上で素早く見せることを目的にします。そのため、座標は必要な精度に調整し、属性も表示や色分けに使う最低限の項目に絞ります。たとえば、地物の識別番号、分類、状態、名称、表示色の判断に使う項目などが中心になります。クリック時に詳しい情報を見せたい場合でも、すべての詳細情報をGeoJSON内に入れるのではなく、識別番号を使って別の管理データと紐づける方法があります。
一方、管理用データは、記録の正確性や再利用性を重視します。元の座標精度を保持し、点検結果の詳細、写真との関連、更新履歴、作業メモなどを残します。管理用データは容量が大きくても、毎回地図表示に使うわけではないため、表示速度への影響を分けて考えることができます。必要なときだけ詳細を参照する構成にすれば、普段の閲覧は軽く、記録としての情報はしっかり残せます。
この分離は、特に現場業務で効果を発揮します。現場では通信環境が安定しないこともあり、重いGeoJSONを読み込むと確認作業が止まってしまうことがあります。表示用データを軽くしておけば、地図の初期表示や操作がスムーズになり、必要な詳細だけを後から確認する運用がしやすくなります。社内共有や関係者確認でも、相手に見せる必要のない内部情報を含めずに済むため、情報管理の面でも安心です。
表示用と管理用を分けるときは、共通の識別子を用意することが重要です。表示用GeoJSONには軽量な属性だけを残し、詳細台帳や写真記録と同じ識別番号を持たせます。この識別番号があれば、地図上の地物と詳細情報を紐づけられます。逆に、識別子が統一されていないと、軽量化後にどの地物がどの記録に対応するのか分からなくなり、運用上の混乱が生じます。
また、表示用データを作るタイミングも決めておくとよいです。管理用データを更新するたびに手作業で表示用GeoJSONを作ると、更新漏れや古いファイルの共有が起こりやすくなります。更新後に軽量版を作成する手順を決め、ファイル名や更新日を明確にしておくことで、最新版を判断しやすくなります。
表示用と管理用の分離は、容量削減だけでなく、業務フロー全体の整理にもつながります。軽いデータで素早く見る、詳細データで正確に管理するという役割分担を行うことで、GeoJSONをより実務に適した形で活用できます。
改善策6 圧縮や配信方法を見直して転送量を減らす
GeoJSONそのものの中身を整理したうえで、さらに効果を出したい場合は、圧縮や配信方法の見直しも有効です。GeoJSONはテキスト形式のため、圧縮との相性が比較的よいデータです。座標の括弧やカンマ、繰り返し出てくるキー名など、同じような文字列が多いため、圧縮すると転送量を減らせる場合があります。
ただし、圧縮はファイルの中身を根本的に軽くする方法ではありません。元のGeoJSONが過剰な座標や不要な属性を含んだままであれば、圧縮しても編集時や展開後の処理負荷は残ります。したがって、まずは座標の桁数、属性項目、頂点数、分割方法を見直し、そのうえで転送時の圧縮を検討するのが基本です。中身の整理と配信時の圧縮を組み合わせることで、表示速度や共有のしやすさを改善しやすくなります。
圧縮を利用する場面としては、ブラウザやアプリでGeoJSONを読み込む場合、関係者にデータを共有する場合、クラウド上の保管場所から取得する場合などがあります。通信時のデータ量が減れば、読み込み時間の短縮が期待できます。特に通信環境が弱い現場や、容量制限のある環境では、圧縮の効果を感じやすくなります。
また、地図表示の仕組みでは、最初から全データを読み込まない工夫も重要です。表示範囲や縮尺に応じて必要なデータだけを読み込む構成にすれば、ユーザーが見ていない範囲のGeoJSONを読み込まずに済みます。これはファイル分割とも関係します。地域別や縮尺別に軽量データを用意し、必要なタイミングで読み込むようにすれば、初期表示を軽くできます。
縮尺別にデータを用意する考え方もあります。広域表示では単純化した軽いデータを使い、詳細表示では精度の高いデータを使う方法です。これにより、広域表示時には軽快に全体を確認でき、拡大したときには必要な細かさで確認できます。すべての縮尺で同じ高精度GeoJSONを読み込むよりも、利用者の体感速度を改善しやすくなります。
一方で、圧縮や配信方法を複雑にしすぎると、運用や更新が難しくなる場合があります。実務では、担当者が無理なく更新できる仕組みにすることが大切です。高度な構成を作っても、更新手順が分かりにくければ古いデータが残ったり、差し替えミスが発生したりします。まずは、不要な情報を削る、ファイルを適切に分ける、圧縮して共有するという基本から始めるのが現実的です。
圧縮や配信方法の見直しは、GeoJSONの使い方がある程度固まった段階で効果を発揮します。データの中身を整えたうえで、どの場面で読み込みが遅いのか、どのファイルが重いのか、どの範囲をよく使うのかを確認しながら改善すると、無理のない軽量化ができます。
軽量化するときに注意したい品質確認
GeoJSONの容量を軽くする作業では、削減後の品質確認が欠かせません。容量が小さくなったとしても、位置がずれている、図形が壊れている、属性が欠けている、必要な分類が消えているといった状態では、実務データとして安心して使えません。軽量化は、単にファイルサイズを小さくする作業ではなく、必要な情報を残しながら不要な情報を減らす作業です。
まず確認したいのは、地図上での見た目です。軽量化前と軽量化後のデータを同じ範囲で重ねて確認し、位置ズレや形状の違いを見ます。線や面のデータでは、境界、端点、交差部、細い区域、曲線部などを重点的に確認します。点データでは、代表的な地点や密集している場所を確認します。全件を細かく見るのが難しい場合でも、業務上重要な地点を抜き出して確認することが大切です。
次に、属性情報の欠落を確認します。propertiesを整理した場合、地図表示や検索に必要な項目が残っているかを見ます。名称、分類、状態、識別番号など、表示や紐づけに必要な項目が消えていると、後から使いにくくなります。特に、詳細データと連携するための識別番号は重要です。軽量化作業で識別子が変わったり消えたりすると、管理用データとの関係が切れてしまいます。
また、件数の確認も有効です。軽量化前後で地物の数が変わっていないか、意図せず削除された地物がないかを確認します。重複や不要データを削除する場合は件数が変わることもありますが、その場合は削除理由を記録しておくと安心です。特に施設台帳や点検記録と連携するGeoJSONでは、件数の不一致が後工程の混乱につながりやすいため注意が必要です。
図形の正しさも確認します。面データでは、ポリゴンが閉じているか、自己交差がないか、穴の構造が正しいか、極端に小さな破片が残っていないかを確認します。線データでは、接続関係や端点の位置が不自然でないかを見ます。単純化や座標丸めを行った後は、見た目には問題がないように見えても、内部的に図形が不正になることがあります。後から別の処理で使う可能性がある場合は、見た目だけでなくデータ構造も確認しておくと安全です。
軽量化後のファイルは、用途や作成日が分かるように管理します。元データ、編集用データ、表示用データ、共有用データが混在すると、どれが最新版か分からなくなります。ファイル名や管理表に、作成日、対象範囲、用途、軽量化内容を残しておくと、後から確認しやすくなります。特に複数人で扱う場合は、軽量版を正式データと誤認しないようにすることが重要です。
さらに、軽量化の基準を社内やチーム内で共有しておくと、品質が安定します。担当者ごとに座標の桁数や属性の残し方、単純化の度合いが異なると、データが混在したときに扱いにくくなります。用途ごとに、表示用はどの項目を残すのか、管理用はどこまで精度を保持するのか、共有用はどの範囲で分割するのかを決めておくと、継続的に運用しやすくなります。
GeoJSONの軽量化は、一度行えば終わりではありません。データが更新されるたびに、容量や表示速度、属性項目の増え方を確認する必要があります。最初は軽かったデータでも、点検履歴や写真情報、備考が追加されるうちに重くなることがあります。定期的に見直すことで、使いやすい状態を保つことができます。
まとめ
GeoJSONの容量を軽くするには、単にファイルを小さくするのではなく、使う目的に合わせて情報量を調整することが重要です。座標の桁数を必要な精度まで減らす、不要なpropertiesを整理する、図形を単純化して頂点数を減らす、目的別にファイルを分割する、表示用データと管理用データを分ける、圧縮や配信方法を見直すという6つの改善策を組み合わせることで、表示速度や共有のしやすさを改善できます。
特に実務では、軽量化と正確性のバランスが大切です。現場で使う位置情報や点検記録は、軽くなればよいというものではありません。位置精度、図形の形状、属性情報、識別番号、更新履歴など、業務に必要な情報を残したうえで、表示や共有に不要な情報を減らすことが求められます。元データを残し、軽量版を用途別に作成する運用にすれば、精度を保ちながら扱いやすいGeoJSONを作れます。
GeoJSONは、現場で取得した位置情報を地図に重ねて確認したり、施設や点検箇所を共有したりするうえで便利な形式です。一方で、データ量が増えるほど、作成後の整理や軽量化の考え方が重要になります。現地で取得した座標や写真、点検情報を効率よく管理し、必要な形で活用していくには、取得段階からデータの使い道を意識することが大切です。
現場で位置情報を取得し、写真や記録データとあわせて管理したい場合は、取得から活用までの流れを整えられる仕組みづくりも重要になります。GeoJSONのような地理情報データを扱う業務では、現場で必要な精度の位置情報を残し、その後の整理や共有につなげやすい環境を用意することで、データの価値を高められます。軽量化は最終工程だけで考えるのではなく、取得、整理、表示、共有までを見据えて設計することが大切です。