Frequently asked questions and answers
======================================

I installed shapely in a conda environment using pip. Why doesn't it work?
--------------------------------------------------------------------------

Shapely versions < 2.0 load a GEOS shared library using ctypes. It's not uncommon for users to have
multiple copies of GEOS libs on their system. Loading the correct one is complicated and shapely has
a number of platform-dependent GEOS library loading bugs. The project has particularly poor support
for finding the correct GEOS library for a shapely package installed from PyPI *into* a conda
environment. We recommend that conda users always get shapely from conda-forge.

Are there references for the algorithms used by shapely?
--------------------------------------------------------

Generally speaking, shapely's predicates and operations are derived from
methods of the same name from GEOS_ and the `JTS Topology Suite`_.  See the `JTS FAQ`_ for references
describing the JTS algorithms.

I used .buffer() on a geometry with Z coordinates. Where did the Z coordinates go?
----------------------------------------------------------------------------------

The buffer algorithm in GEOS_ is purely two-dimensional and discards any Z coordinates.
This is generally the case for the GEOS algorithms.


.. _GEOS: https://libgeos.org/
.. _JTS Topology Suite: https://locationtech.github.io/jts/
.. _JTS FAQ: https://locationtech.github.io/jts/jts-faq.html#E1
