Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
rockhill
Contributor II
Contributor II

郵便番号から地図データに反映したい

こんにちわ

地図データの反映方法を教えて頂きたいです。


QlikSpaceのMapのところでは、都道府県番号のところまでのことは先があったのですが、

市町村や番地まで絞ったデータを表示するやり方を教えて頂きたいです。

郵便番号のデータはあるので、そこから地図データに起こせればと思います。


よろしくお願いいたします。

5 Replies
hka
Employee
Employee

下記にデータがあるので、こちらを利用するのが一番早く対応可能と思います。

Zip Code map

下記のようにGeoCodingでZipcodeから緯度経度を取得することもできますが、

古い記事なので仕様が変更されている可能性はあります。

もし仕様が変わっていない場合でも1日にダウンロードできるデータ数に制限があるので

留意してください。

住所からGeoCodingで緯度経度取得する方法

kentaroWakamatsu
Creator II
Creator II

各郵便番号に対応するグーグルMAPのアドレスを作成し、各ページのソースから緯度経度情報を取得するようにすればどうでしょうか?

住所の場合は検索結果が1つでない場合もあるので、もう少しスクリプトは複雑になりますが、郵便番号であれば以下の方法で取得可能です。

【スクリプト】

郵便番号リスト:
LOAD * INLINE [
    郵便番号
    1001701
    1960025
    1970804
];

アドレスリスト:
LOAD Concat(chr(39)&chr(91)&'https://www.google.co.jp/maps/search/'&郵便番号&chr(93)&chr(39),chr(44)) as Add_List
Resident 郵便番号リスト;

LET V_Add_List = Peek('Add_List',0,'アドレスリスト');

FOR Each V_Add in $(V_Add_List)
緯度経度:
LOAD
      SubField(SubField([@1:n],chr(93),1),chr(44),2) as 経度,
      SubField(SubField([@1:n],chr(93),1),chr(44),3) as 緯度,
      SubField(FilePath(),chr(47),6) as 郵便番号
FROM $(V_Add)
(fix, utf8, no eof)
Where Left([@1:n],13)='cacheResponse';
NEXT


DROP Tables 郵便番号リスト,アドレスリスト;

rockhill
Contributor II
Contributor II
Author

Kawahata様


やはり途中で変換入れないといけないのですね。

一旦やってみます。ありがとうございます。

rockhill
Contributor II
Contributor II
Author

若松さん

スクリプトありがとうございます。

グーグルMAPから取得してしまえばいいのですね。


頂いたスクリプトをそのまま実行すると下記エラーが出てしまいます。

簡単な編集スキルしかないので対応できないんですが、どうすればいいでしょうか?

以下のエラーが発生しました:

This statement only works with lib:// paths in this script mode

ここでエラーが発生しました:

緯度経度: LOAD SubField(SubField([@1:n],chr(93),1),chr(44),2) as 経度, SubField(SubField([@1:n],chr(93),1),chr(44),3) as 緯度, SubField(FilePath(),chr(47),6) as 郵便番号 FROM [https://www.google.co.jp/maps/search/1001701] (fix, utf8, no eof) Where Left([@1:n],13)='cacheResponse'

kentaroWakamatsu
Creator II
Creator II

利用されているのは、QlikSenceですね?

すみません、上記スクリプトはQlikViewで稼動します。

QlikSenceは詳しくないのでわからないですが、記述方法もしくは設定の仕方が違うと思います。

テーブルが存在するWebデータは取りこめたように思いますが、ひょっとすると、直接ソースへのアクセスは、できないかもしれません。

一度確認願います。