2020年4月14日火曜日

近所の持ち帰りや配達してくれるお店マップについて

あまプロではOpenStreetMapを使って地図を描く事が有ります。
昨今の感染症の流行に対抗して、近所の持ち帰りや配達可能してくれるお店マップを作ってみたのであメログ。

  1. 先ず、Overpass Turboで近所の持ち帰りか配達が可能なお店をエクスポートする
    1. 地図上で地元を表示する
    2. 矩形範囲を手動で選択するアイコンを押下して、範囲を指定する
    3. ウィザードで抽出したいタグのkeyとvalueを設定する
      今回はお持ち帰り不可ではない"takeaway"~"[^no]"か
      配達不可ではない"delivery"~"[^no]"に一致する所を抽出する

      wiki
      ではOverpassクエリで否定の正規表現は出来ないと載っているが、何故か出来ます…
      クエリはこんな感じ
      /*
      This has been generated by the overpass-turbo wizard.
      The original search was:
      */
      [out:json][timeout:25];
      // gather results
      (
        node["takeaway"~"[^no]"]({{bbox}});
        way["takeaway"~"[^no]"]({{bbox}});
        relation["takeaway"~"[^no]"]({{bbox}});
        node["delivery"~"[^no]"]({{bbox}});
        way["delivery"~"[^no]"]({{bbox}});
        relation["delivery"~"[^no]"]({{bbox}});
        node["takeaway:covid19"~"[^no]"]({{bbox}});
        way["takeaway:covid19"~"[^no]"]({{bbox}});
        relation["takeaway:covid19"~"[^no]"]({{bbox}});
        node["delivery:covid19"~"[^no]"]({{bbox}});
        way["delivery:covid19"~"[^no]"]({{bbox}});
        relation["delivery:covid19"~"[^no]"]({{bbox}});
      );
      // print results
      out body;
      >;
      out skel qt;
    4. エクスポートする

      後述のインポートと形式を揃えれば何でも良いが、今回はOSM形式にしてコピー
  2. 次に、uMapで地元にお持ち帰りか配達が可能なお店のレイヤをインポートする
    1. 地図上で地元を表示する
    2. インポートでエキスポートしたデータを貼り付けて
      OSM形式を選択して

      インポートボタンを押下するとマーカがプロットされる
      インポートデータの修正等で、レイヤ内容を差し替えるにチェックを付けてインポートする
    3. インポートデータは矩形選択なので、恐らく地元外の市のお店も含まれる筈
      そのまま残しても構へんけど、消したい場合はマーカを右クリックで地物を削除する
    4. お好みでレイヤ管理で表示の設定を変更する

      個人的にはポップアップコンテントスタイルをテーブルにして、ラベル表示をホバー時にするのが好き
    5. 名前を付けて保存する

    後はURLをシェアするなり画像を印刷するなりして色々使えます。
    共有時の短縮URLはhttpしか出来へんけど、地図自体はhttps表示出来るので、シェアするなら短縮でないURLの方が良いです。

    ちなみに今回作成した地図はこちら

0 件のコメント:

コメントを投稿

つっこみ