smellman's Broken Diary

クソみたいなもんです

2025/11/21の日記 - Debian sidのGDALでGeoParquetを読んでみる

Debian sidでGDALのバージョンが新しくなっているのには気づいていたんだけど、そういやGeoParquetの対応どうなんだろうと思ってテストしてみました。

$ gdal vector info /tmp/part-00000-86dc2aa2-7ee9-46c6-a622-72900195c069-c000.zstd.parquet
ERROR 1: libduckdb.so: cannot open shared object file: No such file or directory

libduckdb.soがないのでエラーなんだけど、っていうかlibduckdb.soだけ持ってくれば動くの?

というわけでテスト。

$ wget https://install.duckdb.org/v1.4.2/libduckdb-linux-amd64.zip
$ unzip libduckdb-linux-amd64.zip
$ sudo install libduckdb.so /usr/local/lib/
$ sudo ldconfig
$ gdal vector info /tmp/part-00000-86dc2aa2-7ee9-46c6-a622-72900195c069-c000.zstd.parquet
INFO: Open of `/tmp/part-00000-86dc2aa2-7ee9-46c6-a622-72900195c069-c000.zstd.parquet'
      using driver `ADBC' successful.

Layer name: part-00000-86dc2aa2-7ee9-46c6-a622-72900195c069-c000.zstd
Geometry: Point
Feature Count: 25914384
Extent: (-73.847827, -54.938042) - (-45.000011, -22.500002)
Layer SRS WKT:
GEOGCRS["WGS 84",
    ENSEMBLE["World Geodetic System 1984 ensemble",
        MEMBER["World Geodetic System 1984 (Transit)"],
        MEMBER["World Geodetic System 1984 (G730)"],
        MEMBER["World Geodetic System 1984 (G873)"],
        MEMBER["World Geodetic System 1984 (G1150)"],
        MEMBER["World Geodetic System 1984 (G1674)"],
        MEMBER["World Geodetic System 1984 (G1762)"],
        MEMBER["World Geodetic System 1984 (G2139)"],
        MEMBER["World Geodetic System 1984 (G2296)"],
        ELLIPSOID["WGS 84",6378137,298.257223563,
            LENGTHUNIT["metre",1]],
        ENSEMBLEACCURACY[2.0]],
    PRIMEM["Greenwich",0,
        ANGLEUNIT["degree",0.0174532925199433]],
    CS[ellipsoidal,2],
        AXIS["geodetic latitude (Lat)",north,
            ORDER[1],
            ANGLEUNIT["degree",0.0174532925199433]],
        AXIS["geodetic longitude (Lon)",east,
            ORDER[2],
            ANGLEUNIT["degree",0.0174532925199433]],
    USAGE[
        SCOPE["Horizontal component of 3D system."],
        AREA["World."],
        BBOX[-90,-180,90,180]],
    ID["EPSG",4326]]
Data axis to CRS axis mapping: 2,1
Geometry Column = geometry
id: String (0.0)
country: String (0.0)
postcode: String (0.0)
street: String (0.0)
number: String (0.0)
unit: String (0.0)
address_levels: String(JSON) (0.0)
postal_city: String (0.0)
version: Integer (0.0)
sources: String(JSON) (0.0)

うおおおおお!なんか開けた!!!!!ちょっと嬉しいかも。

ちなみにDebian sidのQGISでも開けたんだけど、CPU食い潰してOSごと落ちたのでまだまだ検証段階ですね!ってかリモートのサーバ落ちたよw

2025/08/23の日記 - overture-tilesのセットアップ

Overture Mapsをタイルにするためのoverture-tilesに必要な環境をDebian trixieにセットアップする手順をまとめました。

github.com

sudo su -
apt install -y wget apt-transport-https gpg
wget -qO - https://packages.adoptium.net/artifactory/api/gpg/key/public | gpg --dearmor | tee /etc/apt/trusted.gpg.d/adoptium.gpg > /dev/null
echo "deb https://packages.adoptium.net/artifactory/deb $(awk -F= '/^VERSION_CODENAME/{print$2}' /etc/os-release) main" | tee /etc/apt/sources.list.d/adoptium.list
apt update
apt install temurin-22-jdk
exit
sudo update-alternatives --config java # temurin-22-jdkを選択する
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install
rm -fr aws*
sudo apt-get install -y gcc g++ make libsqlite3-dev zlib1g-dev
git clone https://github.com/felt/tippecanoe.git
cd tippecanoe
make
sudo make install
cd ..
rm -fr tippecanoe
curl -L https://github.com/duckdb/duckdb/releases/download/v0.10.2/duckdb_cli-linux-amd64.zip -o duckdb_cli-linux.zip
unzip duckdb_cli-linux.zip
sudo install duckdb /usr/local/bin
duckdb -c "install httpfs; install spatial;"
rm -fr duckdb*
git clone https://github.com/OvertureMaps/overture-tiles.git
cd overture-tiles
mkdir overture
cd overture
aws s3 cp --no-sign-request --recursive s3://overturemaps-us-west-2/release/2025-07-23.0/ .
cd ..
java -cp planetiler.jar profiles/Base.java --data=overture
java -cp planetiler.jar profiles/Buildings.java --data=overture
java -cp planetiler.jar profiles/Transportation.java --data=overture
./scripts/2024-07-22/places.sh overture places.pmtiles
./scripts/2024-07-22/divisions.sh overture divisions.pmtiles

だいたい1.5TBぐらいディスクが必要なので注意してください。

2025/08/16の日記 - Debian 13の/tmpの容量について

実家のマシンをDebian 13にしたんですが、特定のプロセスでディスクフルで落ちるようになりました。

dfで確認した所、/tmpが小さくなっていました。というか/を全て割り当ててるのに何故?と思ったところ、tmpfsが/tmpの領域をメモリの半分を割り当てるようになったようです。とりあえず/tmpを大きく割り当てるには以下のようにします。

sudo mount -o remount,size=128G /tmp

なお、手元のマシンはswapに500GBを割り当ててるので上記のような方法が有効です。

別途tmpfsが/tmpを処理しないようにするには以下のような手順でいけるかと思いますが、これは未検証です。

sudo systemctl unmask tmp.mount
sudo systemctl stop tmp.mount
sudo rm -rf /tmp/*
sudo mkdir /tmp
sudo chmod 1777 /tmp

まぁ、必要になったらやってみようと思います。

ではでは。

2025/07/19の日記 - OpenStreetMap Sound Demo VJ モード

OpenStreetMap Sound DemoにVJモードという機能を追加しました。

smellman.github.io

VJモードはLinuxならPipewire、macOSならLoopback.appなどを使って音を回す事で、任意の音楽で建物を揺らすことができるようになりました。

他にもいくつか修正を入れてます。

  • hashを有効にして任意を位置までジャンプできるようにした
  • tile.openstreetmap.jpを高負荷時でも対応できるようPMTilesの方を参照するようにした(nginxはちゃんと動いている)
  • volume controlを追加
  • smartphoneでの動作を改善

というわけで、VJモードも合わせて楽しんでください。

2025/07/09の日記 - OSM Sound Demoのアップデート

OSM Sound Demoのアップデートを行いました。

smellman.github.io

https://i.gyazo.com/53502e2d84978c7be4f27a86392f9c9c.jpg

これはOpenStreetMapのベクトルタイルを使って、音楽に合わせて建物を動かすというデモです。

以前(ジオ展)からのアップデートは以下の通り。

  • Otherman Recordsの全リリースを取得して再生可能にした。以前は三曲のみサポートだったので一気にサポートする音源が増えました。
  • WebAudio APIに対応し、ストリーミング再生を可能にしました。
  • Archive.orgでCORSが許可されていない楽曲が大半だったので、Proxyを実装しました。
  • ジャンプできる場所を複数追加、及び現在地へのジャンプを可能にした。
  • Aboutポップアップからソースコードの出典などを記載するようにした。

それ以外にも必要なくなったローカルのファイルを削除したりとかいろいろ整理しました。

問題点としてはOtherman RecordsのAPIが変更になったら動かなくなる点です。

あと、Proxyもできれば不要にしたいのだけど、こればっかりはレーベルオーナーに問い合わせなくてはならなくって、聞いてるけど返事がきてないw

とりあえず、Otherman Recordsの宣伝になればと思っているので、みんな楽しんでね!

2025/06/20の日記 - 位置情報を扱う人のための実践QGIS読了

秀和システムさんから明日発売の「位置情報を扱う人のための実践QGIS」(以下、実践QGIS本)を献本していただきました。

著者は「位置エン本」、「位置デブ本」でおなじみのMIERUNEの井口さんです。

「実践QGIS本」は実際にQGISプラグインの作成などを行っている井口さんの視点から、QGISについて解説をされている本です。
ただし、内容は初心者にわかりやすいように書かれていて、QGISを使い方を網羅するのに最適な一冊となっています。
QGISのモデルデザイナーとか存在すら知らなかったものも紹介されていて僕は大変学びが多かったです。もっとQGIS使わないと...

おそらく、喜多さんの「業務で使うQGIS」との棲み分けも出来てるかなと思います。
まずは井口さんの「実践QGIS本」でQGISを使い方のコツなどを掴んでから、もっと細かい処理を知りたいと言う人は「業務で使うQGIS」を読むとよいのではないでしょうか?
あ、僕はまだ「業務で使うQGIS」は読んでないというか買ってないです...(「林業で使う」の方は持ってたけど自炊してからまだそれすら未読です...)

QGISはQt6対応などでこれからも進化していきます。
「実践QGIS本」ではコミュニティの紹介などもされています。
是非最後まで読んでQGISを楽しんでもらえると嬉しいです。