Google、ジオメトリライブラリ「S2 Library」をオープンソースで公開

 Googleは12月5日、ジオメトリライブラリ「S2 Library」をオープンソースとして公開したことを発表した。平面ジオメトリライブラリと同等の堅牢性、柔軟性、性能を目指す。

 S2 Libraryは地球上の位置や距離、面積などのデータを扱うためのライブラリ。2次元ではなく3次元的に位置データを投影、操作できるのが特徴。

 Googleは2011年に早期段階のコードを公開しているが、今回は今後もライブラリのメンテナンスを行うメジャーアップデートとして公開する。コードは活発に開発されており、将来も定期的に機能を加えるとしている。ライセンスはApache License 2.0。

 特徴としては、空間インデックスのサポート、堅牢な構成オペレーション、クエリなど。大規模な分散型空間インデックスを構築でき、ポイント、線(ポリライン)、面(ポリゴン)のコレクションの空間インデックスを高速に行うことができるという。幾何プリミティブ間の関係をテストしたりGoogleの地理データ上でテストする機能などもある。

 リファレンス実装はC++で実装されており、Go、Java、Python向けに機能の一部がポーティングされている。なお、Javaのポーティングは2011年のコードをベースとしており、最新のC++版と比べると堅牢性、性能、機能面で劣ると注意している。

S2 Library
https://s2geometry.io/