この記事は2020年6月30日付でSpatialiteについて調べたものについて記述しています。なので、情報が古いなと思ったら適当に調べてください。
Spatialiteとはなにか?
SpatialiteとはSQLite3に地理空間情報のカラムや検索機能などを追加するソフトウェア及びSQLite3の拡張機能です。
似たようなものではSQLite3に暗号化機能を追加するSQLCipherなどがあります。
Spatialiteの最後の安定版のリリースが2015年に出た4.3.0aで、現在は5.0に向けて開発が進められています。
各プラットフォームでの対応
ざっくりと調べた状況をまとめました。
Windows
Spatialiteの最後の安定版のリリースが2015年ということがあり、公式サイトで配布されているバイナリだとdllが古くてハマることがあるそうです。詳しくはググってください。
Visual Studioを使う場合には以下の選択肢があります。
- mod_spatialite
- NetTopologySuite.IO.SpatiaLite
なお、NetTopologySuite.IO.SpatiaLiteはmod_spatialiteのラッパーとして実装されています。
Linux
今回調査の対象外だけどたぶん普通に使える。
macOS
homebrewで使えます。
調べてわかったことや感想
- spatialite自体の開発がgitではなくfossilというものでやっていて、かつ開発者自体がgithubへ移行はしないと名言している
- fossilでどこで4.3.0aのタグが打たれたのかわからなくて詰んだ
- spatialite 4.3.0aだといくつかパッチを当てないとproj4 6系以上などが使えない。homebrewのパッチを使うと良さそう
- 4.1.0あたりではCocoapodsが作られてたりiOS対応したりする人がいたりするのに、なぜかそこらへんが継続されていない
- 全体的に対応がマチマチな感じがあるのでちゃんと取りまとめしたほうが良さそう
- fossliきつい...
- iOSやる気ない感じすごい