LRTKレフィクシア株式会社

GeoJSONのラベル表示をpropertiesで整える5つの工夫

GeoJSONを地図上に表示するとき、点や線、面の形状そのものは正しく描けていても、ラベルが見づらい、名称がそろわない、表示したい情報が出ない、現場担当者が属性の意味を読み違える、といった問題が起きることがあります。多くの場合、その原因はgeometryだけではなく、propertiesの設計にも関係します。propertiesは、Featureに付ける属性情報を入れる場所として使われます。ラベル表示では、この属性情報の持ち方、名前の付け方、値の整え方が実務上の使いやすさを大きく左右します。

この記事では、「geojson 使い方」で調べている実務担当者に向けて、GeoJSONのラベル表示をpropertiesで整えるための考え方を、5つの工夫に分けて解説します。特定のソフトウェアやサービスに依存せず、現地調査、設備管理、道路・敷地・点検記録などで扱いやすいデータを作る視点で整理します。

propertiesをラベル用の情報置き場として整理する

GeoJSONは、位置や形状を表すgeometryと、属性情報を持たせるpropertiesを組み合わせて扱う形式です。地図上に点や線や面を描くだけであればgeometryが中心になりますが、実務で使う地図では「この点は何か」「この区間はどの路線か」「この面はどの区域か」を人がすぐ判断できる必要があります。その判断を助けるのがラベルであり、ラベルの元になる情報の多くはpropertiesに入ります。

ラベル表示を考えるときに最初に行うべきことは、propertiesを単なるメモ欄として扱わないことです。現場名、施設名、番号、点検区分、状態、担当、日付などを思いつくまま入れてしまうと、後からどの項目をラベルに使えばよいか分かりにくくなります。似た意味の項目が複数できたり、同じ項目名なのに値の書き方がばらついたりすると、地図上の表示も不安定になります。

たとえば、ある地点のラベルに「A-12」と表示したい場合、その値がproperties内のどのキーに入っているのかを明確にしておく必要があります。あるデータではname、別のデータではlabel、さらに別のデータではpoint_nameに入っているような状態では、まとめて表示するときに手間が増えます。表示ルールを作る側も、データを確認する側も、どれが正しい表示名なのか判断しにくくなります。

実務では、propertiesの中にラベル表示に使う項目を明確に設けておくと扱いやすくなります。たとえばlabel_textのように、地図上に表示する文字列であることが分かる名前を付ける方法があります。これにより、管理用の名称や正式名称とは別に、地図上で読みやすい短いラベルを用意できます。ラベル用項目を一つに決めておけば、表示設定を行うときも迷いにくくなります。

ただし、ラベル用項目にすべての情報を詰め込むと、かえって読みにくくなります。現場で見たい情報が多い場合でも、地図上に常時表示する文字は最小限にして、詳細情報はクリックや選択時に確認する設計が実務的です。ラベルは「地物を識別するための短い表示」と考え、properties全体は「地物を説明するための属性情報」と分けて考えると整理しやすくなります。

ラベル表示に使うpropertiesを整えるときは、まず地図を見る人を想定することが大切です。現地作業者が見るのか、管理者が確認するのか、発注者や関係者に説明するのかによって、必要な文字の粒度が変わります。現地作業者には地点番号や作業区分が重要になることが多く、管理者には施設名や管理番号が必要になる場合があります。説明用の地図では、専門的なコードよりも意味が分かる名称の方が適しています。

このように、propertiesは単にデータを保存する場所ではなく、地図の読みやすさを支える設計要素です。ラベル表示を後工程で無理に整えようとすると、個別修正が増え、表示のばらつきも起こりやすくなります。GeoJSONを作る段階で、どの属性をラベルに使うのか、どの属性を詳細確認に使うのか、どの属性を分類や検索に使うのかを分けておくことで、データ全体の扱いやすさが上がります。

また、propertiesのキー名は、短すぎても長すぎても扱いにくくなります。nやcdのように意味が分かりにくい名前は、作成者以外が見たときに判断しにくくなります。一方で、日本語の長い説明文をそのままキー名にすると、他の処理に渡すときや複数人で管理するときに扱いづらくなることがあります。英数字と区切り記号を使い、意味が推測できる程度の名前にしておくと、後から見返したときにも理解しやすくなります。

ラベル用のpropertiesを整えることは、見た目をきれいにするためだけの作業ではありません。表示の基準をそろえることで、点検漏れ、地点の取り違え、範囲の誤認、説明資料での表記ゆれを減らすことにつながります。GeoJSONを現場で使う場合、地図上のラベルは判断の入口になります。入口となる情報が安定していれば、その後の確認や共有も進めやすくなります。

表示名と管理用コードを分けて持たせる

GeoJSONのpropertiesでよく起きる問題の一つが、表示名と管理用コードを同じ項目で兼用してしまうことです。管理上は長い識別番号が必要でも、地図上のラベルとしては短い名称の方が見やすい場合があります。逆に、現場では短い通称で十分でも、台帳や報告書と突き合わせるには正式な管理番号が必要になる場合があります。この二つを一つの値にまとめると、どちらの用途にも中途半端になりやすくなります。

たとえば、ある設備を管理するために、地区番号、施設種別、連番、年度などを組み合わせた管理コードを使っているとします。このコードは一意性を保つうえで重要ですが、地図上にそのまま表示すると長すぎて読みにくくなることがあります。特に点が密集している場所では、長いラベルが重なり、肝心の位置関係が見えにくくなります。この場合、propertiesには管理用コードと表示用ラベルを別々に持たせる方が実務的です。

表示名と管理用コードを分けると、地図を使う目的に応じて見せ方を切り替えやすくなります。作業用の地図では短いラベルを表示し、詳細確認や検索では管理用コードを使うことができます。報告資料では正式名称を表示し、現地確認用では通称や地点番号を表示する、といった運用も可能になります。propertiesに複数の意味を分けて入れておけば、同じGeoJSONをさまざまな場面で使いやすくなります。

このとき注意したいのは、表示名を自由入力だけに頼りすぎないことです。自由入力は柔軟ですが、表記ゆれが起こりやすい形式です。たとえば「第1地点」「1地点」「地点1」「No.1」のように同じ意味の表記が混在すると、ラベル表示だけでなく検索や並べ替えにも影響します。現場ごとの事情で表記を変える必要がある場合でも、基本となる項目のルールを決めておくことが重要です。

表示名は、人が見てすぐ意味を理解できることを優先します。管理用コードは、台帳や他のデータと確実に照合できることを優先します。この二つは目的が違うため、propertiesでも別々の項目として扱う方が自然です。たとえば、label_textには短い表示名を入れ、asset_idやfeature_idには一意の管理番号を入れる、といった考え方です。正式名称が必要であればofficial_nameのような項目を別に設けることもできます。

線や面のデータでは、表示名と管理用コードの分離がさらに重要になります。道路区間、河川区間、敷地区画、作業範囲などは、同じ名称の中に複数の枝番や区間番号が含まれることがあります。地図上では「北側区間」や「搬入路」のように短く表示したい一方で、実際の管理では起点、終点、区間番号、版数などを確認する必要があります。表示名だけで管理しようとすると、後から同名の区間が増えたときに判別が難しくなります。

また、ラベルに使う表示名は、地図の縮尺によって適切な長さが変わります。広域で見るときは地区名や路線名だけでよく、詳細に見るときは地点番号や施設番号まで必要になる場合があります。このような使い分けを想定するなら、propertiesに短縮名、通常名、正式名のような段階を持たせる方法もあります。すべてを必ず用意する必要はありませんが、表示の切り替えが必要な業務では有効です。

表示名と管理用コードを分けることは、データの責任範囲を明確にすることにもつながります。表示名は見やすさのために調整される可能性がありますが、管理用コードは他の台帳や記録と結びつくため、安易に変更すべきではありません。この違いをpropertiesの項目で表しておけば、更新作業の際にどの値を変更してよいか判断しやすくなります。

さらに、表示名と管理用コードを分けておくと、複数人でデータを更新するときの混乱を減らせます。ある担当者がラベルを読みやすくするために値を変更した結果、別の担当者が照合に使っていたコードまで変わってしまうと、後工程で不整合が発生します。表示用の項目と照合用の項目を分離しておけば、それぞれの目的に合わせて安全に更新できます。

GeoJSONのpropertiesは自由度が高い反面、設計のルールがないと使い方が人によって変わります。ラベル表示を安定させるには、何を表示する項目なのか、何を管理する項目なのかを最初に分けることが大切です。表示名と管理用コードを分けて持たせるだけでも、ラベルの見やすさ、検索性、台帳との連携、将来の更新のしやすさが大きく変わります。

ラベルに出す値を短く読みやすく整える

ラベル表示で重要なのは、必要な情報をすべて見せることではなく、地図を見た人が迷わず対象を識別できることです。propertiesに多くの情報を入れられるからといって、それをそのままラベルに出すと、地図上の文字が増えすぎて読みづらくなります。特に点が近接している現場、道路沿いに設備が連続する現場、面が細かく分かれている区域では、ラベルの長さが地図の視認性に直結します。

ラベルに出す値は、短く、意味が分かり、ほかの地物と区別できることが理想です。長い正式名称や説明文は、詳細情報としてpropertiesに残し、地図上には短い表示用文字列を出す方が扱いやすくなります。たとえば、正式名称に所在地や工区名や設備種別まで含まれている場合でも、ラベルでは地点番号や施設略称だけにすることで、地図全体を見渡しやすくなります。

ただし、短くすることだけを優先しすぎると、意味が伝わらなくなる場合があります。現場内でしか通じない略称、担当者だけが知っている記号、似た記号が並ぶラベルは、共有時に誤解を招くことがあります。ラベルは、現場の作業者だけでなく、確認者、管理者、協力会社、発注者などが見る可能性があります。そのため、短さと分かりやすさのバランスを取ることが大切です。

propertiesにラベル用の値を入れるときは、表記の統一も重要です。同じ種類の地物であれば、記号の付け方、桁数、区切り方をそろえると、地図上で比較しやすくなります。たとえば地点番号を扱う場合、1、2、3とするのか、P01、P02、P03のようにそろえるのかを決めておくと、表示順や見た目が安定します。桁数や接頭語が混在すると、ラベルの並びや検索結果が直感に合わなくなることがあります。

日付や状態をラベルに含める場合も注意が必要です。点検日や撮影日を表示したい場合、年月日をすべて出すと長くなることがあります。一方で、日付を省略しすぎると、いつの情報なのか分からなくなります。常時表示するラベルには最低限の識別情報を入れ、日付や状態は詳細表示や色分けに回すと、地図が読みやすくなります。どうしてもラベルに含める場合は、値の形式をそろえ、不要な文字を入れすぎないようにします。

ラベルの読みやすさは、文字列の内容だけでなく、値の欠損にも左右されます。propertiesのラベル用項目が空の場合、利用する表示環境によっては、地図上で何も表示されなかったり、未定義の値がそのまま見えたりすることがあります。実務では、すべての地物にラベル用の値が入っているかを確認する工程が必要です。空欄があり得る場合は、代替表示に使える項目を用意しておくと安全です。たとえば、表示名が空なら管理番号を使う、といった考え方です。

また、ラベルに使う値には、改行、余分な空白、全角と半角の混在、不要な記号が入り込むことがあります。データを表計算形式や調査アプリの出力から変換した場合、見えない空白や表記ゆれが残ることがあります。これらは小さな問題に見えますが、地図上ではラベルの見え方や検索結果に影響することがあります。GeoJSONにする前、またはGeoJSONを出力した直後に、propertiesの文字列を確認して整えることが大切です。

ラベルに複数の値を組み合わせたい場合は、結合する順番と区切りを決めておきます。たとえば「地区名」と「地点番号」を組み合わせる場合、どちらを先に出すのか、区切りに何を使うのかを統一します。組み合わせ方がばらつくと、同じ意味のラベルでも見え方が変わり、確認作業に時間がかかります。ラベル用のpropertiesに、あらかじめ結合済みの文字列を入れておけば、表示側で複雑な処理をしなくても一定の見た目を保てます。

ただし、結合済みのラベルだけに頼ると、後から一部の要素だけを更新したいときに手間が増えます。そのため、元になる属性と、表示用に整えたラベルの両方を持たせる方法が有効です。たとえば、area_name、point_no、statusのような個別項目を持ちつつ、label_textに表示用の短い文字列を入れると、表示と管理を両立しやすくなります。

地図上のラベルは、情報量が多いほど親切になるとは限りません。むしろ、情報が多すぎると、見る人はどこに注目すればよいか分からなくなります。GeoJSONのpropertiesを整える際は、「ラベルに出す情報」と「選択時に見る情報」を分けることが重要です。ラベルは識別、詳細表示は確認、属性項目は検索や集計、という役割分担を意識すると、地図全体の使い勝手が向上します。

表示条件に使う属性をあらかじめ用意する

GeoJSONのラベル表示では、すべての地物に同じようにラベルを出せばよいとは限りません。現場の目的によっては、重要な地点だけラベルを表示したい場合や、異常があるものだけ目立たせたい場合があります。縮尺や表示範囲に応じてラベルを切り替えたいこともあります。このような表示条件を後から設定しやすくするには、propertiesに分類や状態を示す属性をあらかじめ用意しておくことが有効です。

表示条件に使う属性とは、地物を選別したり、表示方法を変えたりするための項目です。たとえば、種別、重要度、点検状態、公開可否、作業段階、表示対象フラグなどが該当します。これらの項目が整っていれば、地図表示の際に「重要度が高いものだけラベルを出す」「未確認の地点だけ表示する」「完了済みはラベルを薄くする」といった運用がしやすくなります。

ラベル表示をpropertiesで整えるうえでは、ラベルの文字列だけでなく、ラベルを出すかどうかを判断する属性も重要です。すべての点に名称が入っていても、地図上に全件表示すると重なって読めなくなることがあります。そのような場合、label_visibleのような表示対象を示す項目を設けておくと、必要な地物だけにラベルを出せます。これは、現地説明用の地図や点検進捗図で特に役立ちます。

重要度を示す属性も、ラベル表示と相性がよい項目です。たとえば、危険箇所、未対応箇所、優先確認箇所などは、地図上で識別しやすくする必要があります。重要度を文字列や段階で持たせておけば、表示条件や色分けに使えます。ラベルそのものに「重要」「注意」などの文字を入れる方法もありますが、状態が変わるたびにラベル文字列を修正する必要が出ます。状態は状態として別項目にしておく方が、更新や集計に向いています。

作業段階をpropertiesに持たせることも有効です。調査前、調査済み、確認中、修正済み、承認済みのような段階を属性として持っておけば、ラベル表示の対象を段階ごとに変えられます。作業中の地図では未対応の地点を目立たせ、報告用の地図では承認済みの地点だけを表示する、といった切り替えが可能になります。表示条件をpropertiesに寄せておくことで、地図の作り替えを減らせます。

ここで大切なのは、表示条件に使う値を自由な文章にしすぎないことです。状態欄に「確認済み」「済」「完了」「OK」などが混在すると、条件で抽出するときに漏れが出る可能性があります。人が読むには似た意味でも、データとしては別の値として扱われます。表示条件に使う属性は、あらかじめ決めた値の中から選ぶようにすると安定します。自由記述のメモ欄とは分けて管理する方が安全です。

また、属性の型にも注意が必要です。GeoJSONのpropertiesでは、文字列、数値、真偽値、nullなどJSONで扱える値を持たせることができますが、実務では変換の過程で数値が文字列になったり、空欄が混じったりすることがあります。表示条件に使う項目では、値の形式をそろえることが大切です。たとえば重要度を数値で扱うなら、すべての地物で同じ数値体系にする必要があります。文字列で扱うなら、表記を統一する必要があります。

ラベル表示の条件は、地図を使う場面によって変わります。現場では作業対象だけを見たいが、管理者は全体状況を見たいということがあります。これに対応するには、propertiesに複数の視点を持たせることが有効です。作業対象かどうか、公開してよいか、点検が必要か、優先度が高いか、といった項目を分けておくと、目的別の地図を作りやすくなります。一つの項目に複数の意味を詰め込むと、後から条件設定が難しくなります。

ラベルの表示条件を設計するときは、今すぐ必要な条件だけでなく、将来の運用も考えておくとよいです。最初は単に名称を表示するだけでも、後から「点検済みだけ」「未対応だけ」「特定の工区だけ」といった要望が出ることがあります。propertiesに最低限の分類項目があれば、こうした変更に対応しやすくなります。逆に、属性が不足していると、地図表示のために元データを作り直す必要が出ることがあります。

表示条件に使う属性を用意することは、ラベルを減らすためだけではありません。必要な情報を必要な場面で見せるための土台を作ることです。GeoJSONのpropertiesに分類、状態、重要度、表示対象などを整理して入れておけば、地図の見た目を状況に合わせて調整しやすくなります。実務では、全件を一度に見せるよりも、判断に必要な対象を絞って見せる方が有効な場面が多くあります。

更新しやすいproperties設計で運用ミスを減らす

GeoJSONは一度作って終わりではなく、現場の進捗や点検結果、修正内容に合わせて更新されることが多いデータです。ラベル表示をpropertiesで整える場合も、初回表示の見やすさだけでなく、更新しやすさを意識する必要があります。更新しにくいproperties設計では、値の修正漏れ、表記ゆれ、古いラベルの残存、管理番号との不一致が起きやすくなります。

更新しやすい設計にするためには、まず変わりにくい情報と変わりやすい情報を分けます。地物の一意な識別子や正式な管理番号は、できるだけ変えない情報です。一方で、点検状態、対応状況、表示用ラベル、メモ、担当者、更新日などは変わる可能性があります。これらを同じ項目に混ぜると、変更時にどこまで修正すべきか分かりにくくなります。

ラベル表示に使う値も、更新対象になる場合があります。たとえば仮番号で現地調査を始め、後から正式番号に置き換えることがあります。施設名称が変更されることもあります。作業段階に応じて「仮」「確認中」などの表現をラベルに含めたい場合もあります。このような運用では、ラベル用項目を明確にしておかないと、関連する属性を誤って変更してしまう可能性があります。

更新しやすさを考えるなら、ラベル用の表示文字列と、元になる属性を分けておくことが有効です。ラベル用の文字列だけを修正しても、元の管理番号や分類が変わらないようにしておけば、表示調整とデータ管理を切り分けられます。反対に、元データの値から毎回ラベルを生成する運用にする場合は、どの項目をどの順番で組み合わせるのかを明確にしておく必要があります。どちらの方法でも、ルールが重要です。

更新日や更新者に相当する情報をpropertiesに持たせることも、運用上は役立ちます。地図を見たときに、そのラベルや属性がいつの情報なのか分かれば、古いデータを誤って使うリスクを減らせます。ただし、個人情報や不要な内部情報を入れすぎると、共有時に扱いにくくなるため注意が必要です。外部に渡す可能性があるGeoJSONでは、共有してよい属性と内部管理用の属性を分けて考える必要があります。

複数人でGeoJSONを更新する場合は、propertiesの項目名と値のルールを簡単な仕様として残しておくと安全です。どの項目がラベル用か、どの項目が管理用か、どの項目が表示条件用かを共有しておけば、担当者が変わっても一定の品質を保ちやすくなります。GeoJSONはテキスト形式で中身を確認しやすい反面、自由に編集できるため、ルールがないと小さな違いが積み重なります。

更新時には、ラベル表示に影響する項目だけを確認するのではなく、関連する属性の整合も見る必要があります。たとえば、ラベルに地点番号を出している場合、地点番号と管理番号の対応が崩れていないかを確認します。状態によってラベル表示を切り替えている場合、状態の値が想定された範囲に収まっているかを確認します。表示名だけを見るのではなく、表示名を支えるproperties全体を見ることが大切です。

データの追加時にも注意が必要です。既存のGeoJSONに新しい地物を追加するとき、geometryは正しく入っていても、propertiesの一部が欠けていることがあります。ラベル用項目が空のまま追加されると、地図上で無名の地物として表示されたり、表示対象から漏れたりします。新規追加時には、必須とするpropertiesを決め、最低限の項目が入っているかを確認する運用が必要です。

ラベル表示の運用ミスを減らすには、項目の数を増やしすぎないことも大切です。細かく管理しようとしてpropertiesを増やしすぎると、入力漏れや意味の重複が起こりやすくなります。ラベル表示、検索、分類、更新管理に必要な項目を優先し、使わない項目は増やさない方が実務では扱いやすくなります。項目を増やす場合は、その項目を誰が、いつ、何のために使うのかを確認します。

また、古いラベル用項目が残ったまま新しい項目を追加すると、どちらを使うべきか分からなくなります。たとえば、name、label、label_text、display_nameが同じGeoJSON内に混在していると、表示設定のたびに迷いが生じます。移行期間で複数項目が必要な場合でも、最終的にどの項目を正とするのかを決めておくことが重要です。使わなくなった項目は、残す理由がない限り整理した方が安全です。

GeoJSONのproperties設計は、地図表示だけでなく、現場の情報管理そのものに関わります。更新しやすい設計にしておけば、ラベル修正のたびにデータ全体を見直す手間を減らせます。逆に、表示用と管理用が混ざったまま運用すると、後から修正するほど不整合が増えます。最初の段階で、変わらない情報、変わる情報、表示に使う情報、条件に使う情報を分けておくことが、長く使えるGeoJSONを作るための基本です。

まとめ

GeoJSONのラベル表示を整えるには、地図表示の設定だけを見直すのではなく、propertiesの設計から考えることが重要です。ラベルは地図上に出る短い文字ですが、その裏側には表示名、管理番号、分類、状態、更新情報などの属性が関係しています。propertiesが整理されていれば、ラベルは見やすくなり、検索や絞り込みもしやすくなり、複数人での更新にも対応しやすくなります。

まず、propertiesをラベル用の情報置き場として整理し、どの項目を地図上に表示するのかを明確にします。次に、表示名と管理用コードを分けて持たせることで、見やすさと照合性を両立します。さらに、ラベルに出す値を短く読みやすく整えることで、地図全体の視認性を高めます。加えて、表示条件に使う属性を用意しておけば、重要な地点だけを表示したり、状態に応じて見せ方を変えたりできます。最後に、更新しやすいproperties設計にすることで、運用中の修正漏れや表記ゆれを減らせます。

実務でGeoJSONを扱うときは、位置情報が正しいことに目が向きがちです。しかし、地図を実際に使う人にとっては、どの地点が何を意味するのか、どの範囲がどの作業に関係するのか、どの情報を優先して確認すべきかが分かることも同じくらい重要です。その意味で、propertiesは単なる付属情報ではなく、現場判断を支えるための情報設計の中心になります。

GeoJSONの使い方に慣れていない段階では、まず表示用のラベル項目を決め、管理用の識別子と分けるところから始めるとよいです。そのうえで、状態や分類、更新日などの項目を必要に応じて追加していけば、無理なく運用に合うデータへ育てられます。最初から完璧な設計を目指すよりも、表示、確認、更新の流れを意識しながら、無駄な項目を増やさずに整えていくことが大切です。

現地調査や点検記録を地図で共有する場面では、ラベルの見やすさがそのまま確認作業のしやすさにつながります。propertiesを丁寧に整えたGeoJSONは、地図上で対象を探しやすく、関係者間で同じ情報を見ながら話しやすくなります。スマートフォンで取得した位置情報や現場写真、点検メモを地図データとして活用していく場合にも、属性情報の整理は欠かせません。現場で取得した情報を分かりやすい地図表示につなげたい場合は、GeoJSONのproperties設計とあわせて、使用する記録方法や共有手順も見直すと、記録から確認までの流れを実務に合わせて整えやすくなります。

現場を3Dで残して、あとから測る。
実際の画面と動画で使い方を確認できます。

LRTK Phoneの使い方・実例を見る
資料請求導入相談
現場をスマホで3DスキャンLRTK Phone実例を見る