[ トップページ ]

« WASS 試行サービス開始への準備 | メイン | WASS のプログラムのつくり »

プログラムの構造とデータ生成法

WASS における地名データベースの生成

WASS の地域軸検索を実現するために,地名データベースをつかっている. Web 上で利用可能な地名の情報をもとにしてそれをつくっている. 検索サービス公開前にはあまり興味をひかないとはおもうが,あらかじめ WASS における地名データベースの生成法について書いておくことにする.

HTML テキストから地名を抽出する際には,つぎの 2 種類の地名データベースを使用している.

地方公共団体コード (日本)
日本地名のデータベース (area-parent.txt) を生成するために LASDEC (財団法人 地方自治情報センター,http://www.lasdec.nippon-net.ne.jp/cms/1,0,14.html) の地方公共団体コードのデータベースを使用している. LASDEC は JIS X 0401, 0402 によってさだめられたコードを拡張して,日本全国の地方公共団体のコード表を提供している. このコードにおいては,全国の地名がほぼ北から南へ整列されていて,検索結果を整列させるのに適切なコード体系となっている. このデータベースを使用して,現在有効な都道府県名および市町村名とそれらが存在する郡名 (コードは付与されていないのでコードをわりあてている) とをデータベース化している. すなわち area-list-japan.pl というプログラムによって,上記の Web サイトからえたデータを wifss_gen.pl が入力するファイルの形式に変換している.
GeoNames (海外)
海外地名のデータベース (area-parent-world.txt) を生成するために GeoNames (http://www.geonames.org/) が提供する地名データベースを使用している. 海外地名に対しては ISO 3166-2 によってコードがわりあてられているが,その形式は国ごとにちがっていて,地名を整列するのに適当な形式ではない. より検索・整列に適した地名データベースは GeoNames (http://www.geonames.org/) によって提供されている. GeoNames はさまざまなデータベースを提供していて,そのなかには日本語の情報もふくまれている. しかし,日本語の情報は比較的かぎられているため,現在は世界の主要 1000 都市のデータ (cities1000.txt) を使用している. しかし,GeoNames のコードは地理的な位置や関係によるものではなく,整列のために使用するのはかならずしも適切ではない. そのため,代案の検討が必要だとかんがえられる.

日本地名のデータベース (area-parent.txt) を生成するには,c:\wikipedia\areacode-jp というディレクトリにおいて市町村名のリスト (AllJapan.txt) とともに都道府県名のリスト (prefectures.txt) を使用し,area-list-japan.pl というプログラムを使用して地名とその上位地名との対応表 (area-parent-japan.txt) を生成する. つぎのコマンドを実行することによって,この表が生成される.

run.bat

この表においては,たとえば南部町という地名に対してはつぎのようなレコードがあたえられている.

  • 南部町:青森県.三戸郡:なんぶちょう:024457
  • 南部町:山梨県.南巨摩郡:なんぶちょう:193666
  • 南部町:鳥取県.西伯郡:なんぶちょう:313891

これは,南部町の上位地名として 「青森県.三戸郡」,「山梨県.南巨摩郡」,「鳥取県.西伯郡」 の 3 つがあり,よみはいずれも 「なんぶちょう」であり,コードが 015458, 193666, 313891 であることをあらわしている. 世界地名のデータベース (area-parent-world.txt) を生成するには,c:\wikipedia\areacode というディレクトリにおいて主要 1000 都市のデータ (cities1000.txt) とともに国名とコードのリスト (country-Code.txt) を使用し,area-list-world.pl というプログラムを使用して地名とその完全地名 (上位地名 + その地名) との対応表 (area-parent-world.txt) を生成する. すなわち,つぎのコマンドを入力することによって area-parent-world.txt を生成することができる.

run.bat

生成された表においては,たとえばフィラデルフィアという地名に対してはつぎのようなレコードがあたえられている.

フィラデルフィア:アメリカ合衆国.ペンシルベニア州.フィラデルフィア:-Philadelphia:39.952335,-75.163789:4560349

これは,フィラデルフィアの上位地名が 「フィラデルフィア:アメリカ合衆国.ペンシルベニア州」 であり,つづりが Philadelphia,緯度, 経度が 39.952335, -75.163789 であり,コードが 4560349 であることをあらわしている.

キーワード:

トラックバック

このエントリーのトラックバックURL:
http://www.kanadas.com/mt/mt-tb.cgi/4308

コメントを投稿


メインページアーカイブページも見てください.

Powered by
Movable Type 3.36