2015/01/31

opening_hours生成装置

opening_hoursの入力ルールをよく忘れてしまう自分用に作ったファイルです。
需要があるか分かりませんが、とりあえずDLできるようにしておきます。

xlsm(Excel)と ods(libreoffice)
2種類のファイルを用意してあります。

必要事項を入力後、マクロボタンを押すと
入力ルールに則った形に編集され、クリップボードにコピーされるので、
あとはOSMにペーストするだけです。


ファイルには記入例として、

平日 11:30~14:00 17:00~21:00
土日 昼のみ営業
定休日 火曜、第3日曜、祝日

と、現実的な感じで入力してあります。

OSMルールに則って記述すると こんな感じです。
Mo-Fr 11:30-14:00,17:00-21:00; Sa-Su 11:30-14:00; Tu,Su[3],PH off


※自分用なので、ちゃんと作ってません。痒い所に手が届かない仕様です。
※odsファイルはLibreOfficeで作成しました。AOOの動作確認はしていません。

以下よりDL出来ます。
opening_hours.xlsm
opening_hours.ods

2015/01/25

uMapの使い方(ポリゴン ノード変換)

さて前回、uMapの使用法を紹介しましたが、
多くの場合、データ抽出の段階で恐らくポリゴンとノード(ポイント)が混じってしまうと思われます。

必要最小限のスキルで作成するという方針だったため、この問題を放置しましたが
今回は、QGISを使用してポリゴンをポイントデータに変換する方法を説明します。

【例:稚内駅周辺飲食店MAP】

フルスクリーン表示

小規模な地図であれば、uMap上で
自分でマーカを置いて データテーブルの内容を転記した後、ポリゴンデータだけ消去という手法でも良いです。
ただ、データ数が多くなると手作業では辛くなると思います。

『GIS』と聞くと「難しそう、大変そう」と思われる人もいるかもしれませんが、
必要なデータを得るための最小限の設定・操作法だけ説明するので、下記に沿って操作をするだけで大丈夫なはずです。
(大丈夫じゃなければコメントください)


まず、データの抽出から
前回と同様【overpass turbo】を使います。
http://overpass-turbo.eu/
基本的な使い方は、以前の記事を参照
http://dohokugeo.blogspot.jp/2014/12/umap_25.html

ポリゴンとノード(ポイント)別にデータを抽出します。
【クエリウィザード】で下記のように入力すると、
amenity=restaurant and type:way
レストランのポリゴンデータだけ抽出できます。
同様に
amenity=restaurant and type:node
amenity=cafe and type:way
amenity=cafe and type:node
で抽出して4つのファイルをエクスポートします。

今回は、レストランと喫茶店を別レイヤに分けてみます。
分類する必要がなければ、
amenity=restaurant and type:way or cafe and type:way
amenity=restaurant and type:node or cafe and type:node
のように入力して抽出すれば、ファイルは2つで済みます。


さて、必要なデータを揃えたら、

QGISをダウンロードしてインストール
http://www.qgis.org/ja/site/
現在、バージョンは2.6.1です。
自分が使ってるのは2.0.1ですが、基本操作は変わってないと思うので多分大丈夫…

インストールすると色々なアイコンがデスクトップに並ぶかもしれませんが、
とりあえず使うのは【QGIS Desktop 2.~】だけです。
QGISを起動したら、まずプロジェクトのプロパティを開きます。

CRSタブを選択し、フィルターに【4326】と入力して
WGS84を選択して【OK】をクリック

【ベクタレイヤの追加】アイコンをクリック

【ベクタレイヤの追加】ウィンドウが開くので、エンコーディングは【UTF-8】を選択
ブラウズをクリックして、追加するファイルを選択します。

下画像のようにポリゴンデータがQGISに表示されるはずです
※背景地図は、OpenStreetMapの道路データです。

ポリゴンをポイントデータに変換します。
【ベクタ】→【ジオメトリツール】→【ポリゴンの重心】をクリック

【ポリゴンの中心点】ウィンドウが開くので、
【ブラウザ】から点を出力するシェープファイルを設定
※保存先・ファイル名は何でも良いです。

【OK】すると、『これを新しいレイヤとしてTOCに追加しますか?』と聞かれるので
【はい(Y)】をクリック
※【ポリゴンの中心点】ウィンドウが開きっぱなしになっているので、【閉じる】をクリック

ポリゴンの上にポイントが乗りましたね。

左側【レイヤ】のポイントレイヤを右クリックして、【名前をつけて保存】をクリック

下画像を参考に各種設定を行い【OK】をクリックして保存を行います。
形式は、【GeoJSON】
ブラウズから、保存先とファイル名を設定
エンコーディングは、【UTF-8】


以上で、ポリゴンからノード(ポイント)への変換は終了です。
同様に、喫茶店のポリゴンデータもノードに変換しましょう。


uMapに取り込んでいきます。
https://umap.openstreetmap.fr/ja/
まず、ノードで抽出したデータを取り込んで、

ポリゴンからノードに変換したデータを取り込む。
この時、先ほどと同じレイヤに取り込むようにしましょう。

次に、喫茶店のデータを取り込みますが、
新規レイヤにインポートします。
ポリゴンからノードに変換した喫茶店データも同様に取り込みましょう。

こうすることで、
レストランと喫茶店のアイコンを別々に設定したりすることができます。
鉛筆のアイコンから、レイヤの設定を行うことができるので、
色々と編集しつつ、見やすい・使いやすい地図を作ってみてください。

稚内駅周辺 飲食店MAP完成