Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
こんにちわ
地図データの反映方法を教えて頂きたいです。
QlikSpaceのMapのところでは、都道府県番号のところまでのことは先があったのですが、
市町村や番地まで絞ったデータを表示するやり方を教えて頂きたいです。
郵便番号のデータはあるので、そこから地図データに起こせればと思います。
よろしくお願いいたします。
下記にデータがあるので、こちらを利用するのが一番早く対応可能と思います。
下記のようにGeoCodingでZipcodeから緯度経度を取得することもできますが、
古い記事なので仕様が変更されている可能性はあります。
もし仕様が変わっていない場合でも1日にダウンロードできるデータ数に制限があるので
留意してください。
各郵便番号に対応するグーグル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 郵便番号リスト,アドレスリスト;
Kawahata様
やはり途中で変換入れないといけないのですね。
一旦やってみます。ありがとうございます。
若松さん
スクリプトありがとうございます。
グーグル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'
利用されているのは、QlikSenceですね?
すみません、上記スクリプトはQlikViewで稼動します。
QlikSenceは詳しくないのでわからないですが、記述方法もしくは設定の仕方が違うと思います。
テーブルが存在するWebデータは取りこめたように思いますが、ひょっとすると、直接ソースへのアクセスは、できないかもしれません。
一度確認願います。