This repository is no longer maintained!
Please use one of the following forks instead:
This has the original developers exporting updates to Google's internal version of S2 for general consumption. See: https://s2geometry.io
Carries the patches I wrote for here. If you want to continue working on this branch of the previous open source code drop, then go here.
Old README for s2-geometry-library
- License: Apache 2.0 (see
- Upstream: https://code.google.com/archive/p/s2-geometry-library/ (unmaintained)
- With fixes from micolous, silicontrip and yjwong.
- Presentation: https://docs.google.com/presentation/d/1Hl4KapfAENAOf4gv-pSngKwvS_jwNVHRPZTTDzXXn6Q/view?pli=1
- Documentation: none provided by upstream, read the presentation; other ports have better documentation
This package has Python bindings which target Python 2.7. You can also use it as a C++ library.
In Python code,
You'll need the development (-dev or -devel) versions of these libraries in order to build the library.
- OpenSSL (used for BIGNUM functions)
You'll need these build-time dependencies:
- CMake 3.1 or later
- SWIG (must be
swigin your PATH)
A C++ compiler supporting C++11 (g++ 4.8 or later, clang 3.3 or later) is also required.
Mac OS X specific notes
Make sure you are using python.org Python, and that it is the default in your path (not Apple's Python or Macports Python).
Other dependencies will need to be installed with MacPorts using the
+universal build flag.
/Library/Frameworks/Python.framework/Versions/2.7/bin are not only listed in
$PATH, but also in
/usr/bin (otherwise Python bindings will fail to build).
The Linux From Scratch way (also for OSX)
cd geometry cmake . make -j3 sudo make install
Then to install Python 2.7 bindings:
cd python cmake . make sudo make install
As a Debian package
This is currently broken, and needs to be ported to cmake.
apt-get install python-dev debhelper libgflags-dev cdbs swig build-essential fakeroot autoconf libtool pkg-config ./autogen.sh pushd .. tar jcf s2_1.0.0.orig.tar.bz2 s2-geometry-library/ --exclude=.git popd dpkg-buildpackage -rfakeroot
Installing the Debian package
dpkg -i ../libs2*.deb ../python-s2*.deb
Running the tests (Python)