apb_spatial_utils.shapely_utils

 1#  coding=utf-8
 2#
 3#  Author: Ernesto Arredondo Martinez (ernestone@gmail.com)
 4#  Created: 7/6/19 18:23
 5#  Last modified: 7/6/19 12:42
 6#  Copyright (c) 2019
 7
 8from functools import partial
 9import pyproj
10from shapely.ops import transform
11
12
13def transform_shapely_geom(a_shp, from_espg_code, to_epsg_code):
14    """
15    Transforma una geometria shapely según los EPSG indicados
16
17    Args:
18        a_shp (shapely.geometry.geo): una geometria del tipo shapely
19        from_espg_code (int): codigo numérico del EPSG actual para la geometria
20        to_epsg_code (int): codigo numérico del EPSG al que se quiere transformar
21
22    Returns:
23        shapely.geometry.geo
24    """
25    project = partial(
26        pyproj.transform,
27        pyproj.Proj(init=f'epsg:{from_espg_code}'),  # source coordinate system
28        pyproj.Proj(init=f'epsg:{to_epsg_code}'))  # destination coordinate system
29
30    return transform(project, a_shp)
31
32
33if __name__ == '__main__':
34    import fire
35    fire.Fire()
def transform_shapely_geom(a_shp, from_espg_code, to_epsg_code):
14def transform_shapely_geom(a_shp, from_espg_code, to_epsg_code):
15    """
16    Transforma una geometria shapely según los EPSG indicados
17
18    Args:
19        a_shp (shapely.geometry.geo): una geometria del tipo shapely
20        from_espg_code (int): codigo numérico del EPSG actual para la geometria
21        to_epsg_code (int): codigo numérico del EPSG al que se quiere transformar
22
23    Returns:
24        shapely.geometry.geo
25    """
26    project = partial(
27        pyproj.transform,
28        pyproj.Proj(init=f'epsg:{from_espg_code}'),  # source coordinate system
29        pyproj.Proj(init=f'epsg:{to_epsg_code}'))  # destination coordinate system
30
31    return transform(project, a_shp)

Transforma una geometria shapely según los EPSG indicados

Arguments:
  • a_shp (shapely.geometry.geo): una geometria del tipo shapely
  • from_espg_code (int): codigo numérico del EPSG actual para la geometria
  • to_epsg_code (int): codigo numérico del EPSG al que se quiere transformar
Returns:

shapely.geometry.geo