Skip to content

Commit

Permalink
update documents for openmaptiles and docker
Browse files Browse the repository at this point in the history
  • Loading branch information
smellman committed Jan 5, 2025
1 parent 2cb0415 commit 32a6a52
Show file tree
Hide file tree
Showing 2 changed files with 48 additions and 35 deletions.
56 changes: 31 additions & 25 deletions docs/generate_vector_tile/openmaptiles.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

## ターゲット

- OpenMapTiles v3.11
- OpenMapTiles v3.15

## ハードウェア

Expand All @@ -17,20 +17,20 @@
共通して必要なもの

- Docker
- Docker Compose
- Docker Compose V2プラグイン
- git
- make

`quickstart.sh`で利用されるもの

- bc
- md5sum (Ubuntuでは`coreutils`に、macOSのHomebrewでは`md5sha1sum`に含まれる)
- md5sum

## セットアップ

openmaptiles の `quickstart.sh` の実行に必要なコマンドをインストールします。

### Ubuntu
### Ubuntu or Debian

```bash
sudo apt install git make bc
Expand All @@ -41,27 +41,27 @@ sudo apt install git make bc
```bash
sudo xcode-select -s /Applications/Xcode.app
xcode-select --install
brew install md5sha1sum
brew install coreutils
```

なお、`xcode-select`はCommand Line Toolsをインストールするもので、直接xcodeを起動してた場合は必要ない可能性があります。また、アップデートはSoftware Updateで自動的に行われます。
なお、 `xcode-select` はCommand Line Toolsをインストールするもので、直接Xcodeを起動していた場合は必要ない可能性があります。また、アップデートはSoftware Updateで自動的に行われます。

また、md5sumは必須ではないが`quickstart.sh`を実行後に停止してしまうのでインストールを推奨。
また、 `md5sum` は必須ではないが `quickstart.sh` を実行後に停止してしまうのでインストールを推奨。

### openmaptiles

最初にopenmaptilesをgithubから`git clone`して、ターゲットとなるバージョンを指定します。
最初にopenmaptilesをgithubから `git clone` して、ターゲットとなるバージョンを指定します。

```bash
git clone https://github.com/openmaptiles/openmaptiles.git
cd ./openmaptiles
git checkout -b v3.11 refs/tags/v3.11
git checkout -b v3.15 refs/tags/v3.15
```

次に必要なdocker imageを取得します。

```bash
docker-compose pull
docker compose pull
```

あとは動作チェックのために、`quickstart.sh`を実行します。
Expand All @@ -76,13 +76,13 @@ docker-compose pull

openmaptilesでは`quickstart.sh`を通して以下の作業をします。

- インポート先となるPostgreSQLのインスタンスを起動
- インポート先となる PostgreSQL のインスタンスを起動
- OpenStreetMapのデータを[geofabrikのミラー](http://download.geofabrik.de)からダウンロード
- layersの定義に沿って[imposm3](https://github.com/omniscale/imposm3)を使ってOSMデータをインポート
- PostgreSQLでプロセッシング
- `Mapbox Vector Tile`を生成して `data/tiles.mbtiles` へ格納
- `Mapbox Vector Tile` を生成して `data/tiles.mbtiles` へ格納

また、デフォルトではズームレベル 7 のタイルまでしか作成しないため(注: v3.12から以下の作業が必要無くなる予定です)、事前に `.env` にある`QUICKSTART_MAX_ZOOM`の値を変更しておく必要があります。
また、デフォルトではズームレベル 7 のタイルまでしか作成しないため、事前に `.env` にある`QUICKSTART_MAX_ZOOM`の値を変更しておく必要があります。

```bash
vi .env
Expand All @@ -91,41 +91,47 @@ vi .env
ズームレベル14まで生成する場合は、差分は以下のようになります。

```diff
@@ -4,5 +4,5 @@
POSTGRES_HOST=postgres
POSTGRES_PORT=5432
QUICKSTART_MIN_ZOOM=0
-QUICKSTART_MAX_ZOOM=7
+QUICKSTART_MAX_ZOOM=14
DIFF_MODE=false
diff --git a/.env b/.env
index 0ef9a89..6fafc98 100644
--- a/.env
+++ b/.env
@@ -20,7 +20,7 @@ BBOX=-180.0,-85.0511,180.0,85.0511

# Which zooms to generate with make generate-tiles-pg
MIN_ZOOM=0
-MAX_ZOOM=7
+MAX_ZOOM=14

# `MID_ZOOM` setting only works with `make generate-tiles-pg` command. Make sure MID_ZOOM < MAX_ZOOM.
# See https://github.com/openmaptiles/openmaptiles-tools/pull/383
```

あとは `quickstart.sh` を使ってタイルを作成します。

```bash
./quickstart.sh {country_name}
./quickstart.sh {region}/{country_name}
```

日本のデータを作成する場合は以下のように行います。

```bash
./quickstart.sh japan
./quickstart.sh asia/japan
```

作成可能な国名の一覧(geofabrickのミラーの一覧)は以下のコマンドで取得できます。

```bash
make list
make list-geofabrik
```

また、`quickstart.sh`実行後には `data/tiles.mbtiles` というファイルが作成されます。
また、 `quickstart.sh` 実行後には `data/tiles.mbtiles` というファイルが作成されます。

### タイルの再作成

最新のデータを使ってタイルを再度作成する場合は一度作成したタイルや設定ファイルを削除する必要があります。

```bash
cd openmaptiles
rm -fr data
git clean -dfx
./quickstart.sh japan
```
27 changes: 17 additions & 10 deletions docs/prepare/docker.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
# Dockerのインストール

本ドキュメントでは多くの場面でDockerを使った処理を多く行います。
そのため、事前にDocker及びdocker-composeを入れておく必要があります。
なお、Raspberry Piについては現時点ではDockerのみで行います。
そのため、事前にDocker及び Docker Compose V2 を入れておく必要があります。

## Ubuntu
## Ubuntu or Debian

aptコマンドでdockerをインストールし、サービスを起動します。

Expand All @@ -31,12 +30,14 @@ sudo usermod -aG docker $USER
docker run hello-world
```

最後にdocker-composeをインストールします
最後に Docker Compose V2 をインストールします

```bash
sudo apt install curl
sudo curl -L "https://github.com/docker/compose/releases/download/1.25.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
DOCKER_CONFIG=${DOCKER_CONFIG:-$HOME/.docker}
mkdir -p $DOCKER_CONFIG/cli-plugins
curl -SL https://github.com/docker/compose/releases/download/v2.32.0/docker-compose-linux-x86_64 -o $DOCKER_CONFIG/cli-plugins/docker-compose
chmod +x $DOCKER_CONFIG/cli-plugins/docker-compose
```

## Mac
Expand All @@ -49,9 +50,9 @@ sudo chmod +x /usr/local/bin/docker-compose
docker run hello-world
```

docker-composeコマンドはDocker Desktopに含まれます。
Docker Compose V2 プラグインはDocker Desktopに含まれます。

## Raspberry Pi (Rasbian OS)
## [Raspberry Pi (Raspberry Pi OS)](https://www.raspberrypi.com/software/)

aptコマンドでdockerをインストールし、サービスを起動します。

Expand All @@ -60,6 +61,12 @@ sudo apt install docker.io
sudo service docker start
```

次にdocker自体が動作するかを確認します。

```bash
sudo docker run hello-world
```

## ディスクサイズ対策

クラウドなどの構成でrootデバイスに対して空き容量が足りない場合は、Dockerイメージを保存する場所を変更する必要があります。
Expand All @@ -80,7 +87,7 @@ sudo mkdir /mnt/docker

次に `/etc/docker/daemon.json` を作成します。
このファイルは基本となる設定から追加となる設定のみを記述します。
今回は `graph` という値を作成します。
今回は `data-root` という値を作成します。

```bash
sudo vim /etc/docker/daemon.json
Expand All @@ -89,7 +96,7 @@ cat /etc/docker/daemon.json

```json
{
"graph": "/mnt/docker"
"data-root": "/mnt/docker"
}
```

Expand Down

0 comments on commit 32a6a52

Please sign in to comment.