地図データを表示するプログラムがあります (Google マップを考えてみてください。ただし、対話性が高く、クライアント向けのカスタム レイヤーが用意されています)。
特定のフィールドに大量のデータを事前に入力する一連のコンボ ボックスを介してナビゲーションを行うことができます (例: 国: カナダ、州フィールドが入力されます。オンタリオを選択すると、郡/地域のリストが入力されます。郡/地域を選択します)。地域、市区町村が記入されているなど...)。
これにより正確な住所が保証されますが、番地や都市がどこにあるのか (つまり、キッチナーがいる郡/地域はどれか?) がわからない場合、ユーザーにとっては苦痛です。
そのため、自由形式のテキスト フィールドを使用してアドレス パーサーを実行しようとしています。
ユーザーは次のように入力できます (Google マップ、Bing マップなどと同様): 22 Main St, Kitchener, On
そして、それをセクションに区分し、データを検索して、彼らが探しているポイントにたどり着く (または代替案を提案する) ことができます。
これに関する問題は、どのように情報を適切に区分化するかということです。セクションを分割し、可能な一致を見つけるにはどうすればよいでしょうか? ユーザーが常に期待していた形式でデータを入力するという保証はないと思います (明らかに)。これに続くのは、完全一致が見つからない場合 (または複数の完全一致が見つかった場合、たとえば、異なる郡にある同じ通りの名前を持つ 2 つの都市) にデータを表示する方法です。
マッピング データ (主に mapinfo タブ形式) で利用できる大量のデータがあります。そのため、通りの名前、都市、州などをすばやくスキャンできます。しかし、この問題に取り組む最善の方法についてはわかりません。確かに、Google マップを使用するのは良いことですが、ほとんどのクライアントは外部からのアクセスが通常許可されていないネットワーク内に閉じこめられており、ほとんどのクライアントは Google マップに頼ろうとはしません (Google マップには必要な情報があまり含まれていないため)。 、カスタム マップ レイヤーなど)。もちろん、Google にアクセスして適切な場所を取得し、ソフトウェアに移動することもできますが、これには時間がかかり、プロセスの速度が非常に重要になる可能性があります。