A standard way for different geometry libraries in Python to be
interoperable is a `__geo_interface__` for the geometry (see the
specification: https://gist.github.com/sgillies/2217756). This
includes the shapely library, geometries from QGIS, and geometries in
Esri's arcpy libraries for ArcGIS desktop and ArcGIS pro.
To make it easier to generate a georss entry a simple method which
does the conversion (of the supported geometries only) and sets the
appropriate geometry type.
This includes a custom error for the geometry being incompatible and a
custom warning for a polygon with interior holes. This is done to
store the geometries on the exception / warning if required for
debugging.
Originally the georss entry only contained a simple point
specification. Update to include:
- other geometries (line, polygon and box)
- additional properties (featuretypetag, relationshiptag, featurename)
- elevation (elev, floor)
- radius (radius)
This also includes basic type checking with a value error for the
elev, floor and radius tags.