2017年04月16日

Palconの外壁塗装

P1020314.JPG
大成建設のPalconで家を建てて、早10年(住宅ローンは残っていますが)
10年目で外壁補償期間が過ぎると言うことで、外壁再塗装を行うことになりました

こう言うのって、いったい幾らかかるか分からない上に
放っておくと雨漏りの原因になるので、安心代といういみで必要なんですよね。

営業から話を聞くと、たしかに再塗装しなくてもしばらくは大丈夫だけど
万が一、雨漏りしてしまったら原状回復が大変ということ

雨漏りが気づくのは、当然室内が湿ってきて初めて気がつく
そうなると、外壁よりも室内側の補修に非常にお金がかかってしまう

天井壁紙張り替えとか、カビていたら掃除など・・・
ということで更に10年補償付きで純正メーカでの外壁塗装に頼ることとなりました

これが完成したら、また10年後に再塗装がやってきます



posted by トシ at 12:17| Comment(0) | 日記

2017年04月15日

Yahoo!ジオコーダをPerlで使う(プログラム編)

さて、Yahoo!ジオコーダをPerlで使うでなんとなくYahoo!ジオコーダAPIを使いのがよさげだと理解したのでYahoo!ジオコーダを使ったPerlでのプログラムを作った見た。

use strict;
use warnings;

use Jcode;

use LWP::Simple;
use URI::Escape;
use XML::Simple;
use Data::Dumper;

my $query = '東京都千代田区霞が関2-1-2';#調べたい住所
my $query_org = $query;

$query = Jcode->new($query, 'utf8')->utf8;
$query = uri_escape($query);

my $url = "https://map.yahooapis.jp/geocode/V1/geoCoder?output=xml&appid=__自分のアプリケーションID__&query=$query";

my $document = LWP::Simple::get($url) or die "cannot get content from $url";

print Jcode->new("$query_org\n")->sjis;#入力住所
print Jcode->new("$document\n")->sjis;#ジオコード出力

このまま走らせても動きませんよ。
appid=
以降に自分で設定したアプリケーションIDを入れてから動かしてください


うまく動うごけば(実際には改行は入っていませんので、分かりやすくタグ毎に改行を入れてお入ります)
-----------------以下出力-------------------------------------------
東京都千代田区霞が関2-1-2

<?xml version="1.0"?>
<YDF xmlns="http://olp.yahooapis.jp/ydf/1.0" totalResultsReturned="1" totalResultsAvailable="1" firstResultPosition="1">
<ResultInfo>
<Count>1</Count>
<Total>1</Total>
<Start>1</Start>
<Status>200</Status>
<Description>
</Description>
<Copyright>
</Copyright>
<Latency>0.067</Latency>
</ResultInfo>
<Feature>
<Id>13101.8.2.1.2</Id>
<Gid>
</Gid>
<Name>東京都千代田区霞が関2丁目1-2</Name>
<Geometry>
<Type>point</Type>
<Coordinates>139.75128165,35.67562090</Coordinates>
<BoundingBox>139.74783300,35.67319100 139.75346600,35.67803600</BoundingBox>
</Geometry>
<Category/>
<Description>
</Description>
<Style/>
<Property>
<Uid>f737cb7341331ded1c8cfe6dcc676271edd9eb08</Uid>
<CassetteId>b22fee69b0dcaf2c2fe2d6a27906dafc</CassetteId>
<Yomi>トウキョウトチヨダクカスミガセキ2チョウメ</Yomi>
<Country>
<Code>JP</Code>
<Name>日本</Name>
</Country>
<Address>東京都千代田区霞が関2丁目1-2</Address>
<GovernmentCode>13101</GovernmentCode>
<AddressMatchingLevel>6</AddressMatchingLevel>
<AddressType>地番・戸番</AddressType>
</Property>
</Feature>
</YDF>
<!-- xxxcache nohit 0.068, 0.001, 0.001 -->
------------------------------------------------------------------------------
というように、XML出力で画面に出ると思います

緯度経度は(<Coordinates>139.75128165,35.67562090</Coordinates>
で出てきますので
東京都千代田区霞が関2-1-2」の緯度経度は「139.75128165,35.67562090
と言うことが分かります

また便利なのは、住所で「東京都千代田区霞が関2-1-2」と入れても出力(<Address>)で「東京都千代田区霞が関2丁目1-2」というように正しい住所に変換されて出てきます

これを基本として、例えばCSVで保存されている住所群を、ここで作成したPerlのgeocoding機能を使えば連続して住所から緯度経度を入手することが出来ます



続きを読む
posted by トシ at 22:28| Comment(0) | 日記

Yahoo!ジオコーダをPerlで使う

仕事で

複数の住所から緯度経度を一括で取得したいことが多々有り、

なにか良い方法がないかと模索していたところ


Yahoo!ジオコーダで出来る事が分かったので備忘的な内容で記載しておく。

Geocoding - 住所から緯度経度を検索- 住所から緯度経度を検索

みたいに住所から座標を取得するようなサイトはいくつかありますけど、他の方が作成したサイトなので

使用条件がいろいろあり、大量の(数万件)の住所情報を緯度経度化するのは少々無理がありそうですし


疑うわけではないのですが、他の方のサイトに住所情報を流し込むというのは、ちょっと抵抗があるので

自力でジオコードしてみることにした


【原始的な方法】

2017-04-15_15-23-46.jpg

Googleなどで住所を検索して、GoogleMapで「この場所について」を選べば緯度・経度が表示されますので数件程度の検索であればこれで充分に使えますし簡単です。

しかし、「一万件の住所を調べる」となるといったい何日かかるか気が遠くなります


【ジオコードAPIを使う】

ジオコードAPIとは、GoogleとかYahooのサイトにプログラムから直接アクセスしてデータを取得する方法です

しかし、利用規約とか1日あたりのアクセス数とかが決まっていますので注意が必要です


【結果として】

後ほど、プログラムとか記載しようと思いますが私の場合Yahoo!ジオコーダAPIとPerlを使って、CSVに保存している住所情報をYahoo!ジオコーダAPIに流し込み、緯度経度を取得することが出来ました。


【注意】

Yahoo! JAPANが提供するWeb APIの利用の上限回数は通常、1アプリケーションIDごとに1日50000回です。ただし、Web APIによってはこれよりも少なく設定されていることがあります。この回数はWeb APIごとではなく、アプリケーションIDごとに計測される総リクエスト回数を基準にします。

・・・・とありますので、5万回/日はアクセス出来ますので、数万の住所ファイルでも2〜3日に分割して流し込めば緯度経度の取得が可能であると思います(まだやっていませんが)


当然、住所が誤っていたらエラーの緯度経度なしで報告されますのでそのクレンジングは必須ですけどね

posted by トシ at 15:34| Comment(0) | 日記