def transform_geom( src_crs, dst_crs, geom, antimeridian_cutting=False, antimeridian_offset=10.0, precision=-1): """Return transformed geometry.""" return _transform_geom( src_crs, dst_crs, geom, antimeridian_cutting, antimeridian_offset, precision)
def transform_geom(src_crs, dst_crs, geom, antimeridian_cutting=False, antimeridian_offset=10.0, precision=-1): """Transform geometry from source coordinate reference system into target. Parameters ------------ src_crs: CRS or dict Source coordinate reference system, in rasterio dict format. Example: CRS({'init': 'EPSG:4326'}) dst_crs: CRS or dict Target coordinate reference system. geom: GeoJSON like dict object antimeridian_cutting: bool, optional If True, cut geometries at the antimeridian, otherwise geometries will not be cut (default). antimeridian_offset: float Offset from the antimeridian in degrees (default: 10) within which any geometries will be split. precision: float If >= 0, geometry coordinates will be rounded to this number of decimal places after the transform operation, otherwise original coordinate values will be preserved (default). Returns --------- out: GeoJSON like dict object Transformed geometry in GeoJSON dict format """ return _transform_geom(src_crs, dst_crs, geom, antimeridian_cutting, antimeridian_offset, precision)
def transform_geom( src_crs, dst_crs, geom, antimeridian_cutting=False, antimeridian_offset=10.0, precision=-1): """Return transformed geometry.""" return _transform_geom( src_crs, dst_crs, geom, antimeridian_cutting, antimeridian_offset, precision)
def transform_geom( src_crs, dst_crs, geom, antimeridian_cutting=True, antimeridian_offset=10.0, precision=-1): """Transform geometry from source coordinate reference system into target. Parameters ------------ src_crs: CRS or dict Source coordinate reference system, in rasterio dict format. Example: CRS({'init': 'EPSG:4326'}) dst_crs: CRS or dict Target coordinate reference system. geom: GeoJSON like dict object antimeridian_cutting: bool, optional If True, cut geometries at the antimeridian, otherwise geometries will not be cut (default). If False and GDAL is 2.2.0 or newer an exception is raised. Antimeridian cutting is always on as of GDAL 2.2.0 but this could produce an unexpected geometry. antimeridian_offset: float Offset from the antimeridian in degrees (default: 10) within which any geometries will be split. precision: float If >= 0, geometry coordinates will be rounded to this number of decimal places after the transform operation, otherwise original coordinate values will be preserved (default). Returns --------- out: GeoJSON like dict object Transformed geometry in GeoJSON dict format """ loose_gdal_version = filter( lambda x: x.isdigit(), rasterio.__gdal_version__.split('.')) loose_gdal_version = tuple(map(int, loose_gdal_version)) if loose_gdal_version[:2] >= (2, 2) and not antimeridian_cutting: raise GDALBehaviorChangeException( "Antimeridian cutting is always enabled on GDAL 2.2.0 or " "newer, which could produce a different geometry than expected.") return _transform_geom( src_crs, dst_crs, geom, antimeridian_cutting, antimeridian_offset, precision)
def transform_geom( src_crs, dst_crs, geom, antimeridian_cutting=True, antimeridian_offset=10.0, precision=-1): """Transform geometry from source coordinate reference system into target. Parameters ------------ src_crs: CRS or dict Source coordinate reference system, in rasterio dict format. Example: CRS({'init': 'EPSG:4326'}) dst_crs: CRS or dict Target coordinate reference system. geom: GeoJSON like dict object or iterable of GeoJSON like objects. antimeridian_cutting: bool, optional If True, cut geometries at the antimeridian, otherwise geometries will not be cut (default). If False and GDAL is 2.2.0 or newer an exception is raised. Antimeridian cutting is always on as of GDAL 2.2.0 but this could produce an unexpected geometry. antimeridian_offset: float Offset from the antimeridian in degrees (default: 10) within which any geometries will be split. precision: float If >= 0, geometry coordinates will be rounded to this number of decimal places after the transform operation, otherwise original coordinate values will be preserved (default). Returns --------- out: GeoJSON like dict object or list of GeoJSON like objects. Transformed geometry(s) in GeoJSON dict format """ return _transform_geom( src_crs, dst_crs, geom, antimeridian_cutting, antimeridian_offset, precision)
def transform_geom( src_crs, dst_crs, geom, antimeridian_cutting=True, antimeridian_offset=10.0, precision=-1): """Transform geometry from source coordinate reference system into target. Parameters ------------ src_crs: CRS or dict Source coordinate reference system, in rasterio dict format. Example: CRS({'init': 'EPSG:4326'}) dst_crs: CRS or dict Target coordinate reference system. geom: GeoJSON like dict object antimeridian_cutting: bool, optional If True, cut geometries at the antimeridian, otherwise geometries will not be cut (default). If False and GDAL is 2.2.0 or newer an exception is raised. Antimeridian cutting is always on as of GDAL 2.2.0 but this could produce an unexpected geometry. antimeridian_offset: float Offset from the antimeridian in degrees (default: 10) within which any geometries will be split. precision: float If >= 0, geometry coordinates will be rounded to this number of decimal places after the transform operation, otherwise original coordinate values will be preserved (default). Returns --------- out: GeoJSON like dict object Transformed geometry in GeoJSON dict format """ return _transform_geom( src_crs, dst_crs, geom, antimeridian_cutting, antimeridian_offset, precision)