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