location#Addressから予報区への変換

参照:android.location.Addressの使い方 - 泥縄トラップ
Android用天気予報アプリ「Tenko」 - 泥縄トラップ

作ったDBの構造

別表第四(第四条、第十条及び第十二条関係)を加工したCSVを取り込んでテーブルを作成した。テキストエディター EmEditor - EmEditor Free正規表現置換おいしいです。

CREATE TABLE [yohoku] (
[PK_UID] INTEGER PRIMARY KEY,
[府県予報区] TEXT,
[一次細分区域] TEXT,
[二次細分区域] TEXT,
[区域] TEXT,
[限定] TEXT,
[細分区域除外] TEXT,
[区域除外] TEXT
)

SQL

select 一次細分区域 from yohoku			
where 府県予報区 = '?'	--AdminArea
and (区域 = '?' or 区域 = '?')	--SubAdminArea, Locality
and (限定 = '?' or 区域除外 not like '%?%' or 	--Locality, Locality
(限定 is NULL and 区域除外 is NULL)			
);

select 一次細分区域 from yohoku 
where 府県予報区 = '東京都' 
and (区域 = '' or 区域 = '千代田区')
and (限定 = '千代田区' or 区域除外 not like '%千代田区%' or 
(限定 is NULL and 区域除外 is NULL)
);