[pyar] Data Geo

Hernan Olivera lholivera en gmail.com
Jue Oct 25 12:20:14 -03 2018


Hola Augusto

Te recomendaría usar bibliotecas existentes como:
https://pcjericks.github.io/py-gdalogr-cookbook/geometry.html o
https://geos.osgeo.org/doxygen/classgeos_1_1algorithm_1_1Centroid.html o
https://www.gdal.org/classOGRGeometry.html#aab625f452bfbb60e517273c3b0e90ad6
que ya tienen esas funciones implementadas y testeadas. Sobretodo tene
especial cuidado porque al trabajar con coordenadas geográficas, estás
trabajando sobre la superficie de una esfera, no un plano, y las cosas
funcionan un poco diferente. Es mejor usar un gis, y en especial que se
pueda scriptear en python. Por ejemplo QGIS
https://stackoverflow.com/questions/39897203/get-a-centroid-in-qgis-via-python
.

No me queda claro que tipo de analisis quisieras hacer con distintos
métodos, si buscás eficiencia o precisión. Fijate que como se define el
centroide es algo bien definido, por la partición triangular del polígono,
calculando el promedio ponderado por las superficies de los triangulos. Hay
implementaciones que por eficiencia primero chequean que el 'rectángulo'
que contiene a una geometría se solape con el 'rectangulo' de la otra, y si
eso da ok, recien ahi se calculan con precisión las intersecciones. Tambien
en algunos casos he visto usar los falsos centroides como el centro del box
o rectangulo que contiene la geometría. Eso depende de que es lo que te
esta interesando detectar, que no me queda claro leyendo tus comentarios.
Pero sin dudas usaría una biblioteca geografica bien definida.

Aca tenes un ejemplo publicado en el que el tema de las coordenadas da
distintos resultados:
https://gis.stackexchange.com/questions/82697/shapely-linestring-and-polygon-intersect

ojo que eso es crítico, tenés que estar seguro que están usando el mismo
sistema de coordenadas de referencia. El gis es un mundo.

saludos

El jue., 25 oct. 2018 a las 11:28, Augusto Tononi (<adtononi en gmail.com>)
escribió:

> Muchas gracias Juan, desconocía de geopandas.
>
> Andrés, la idea es buscar otra alternativa a la obtención del centroide.
> Posteriormente se estudia si el usuario está o no contenido dentro del
> miso, pero busco diferentes maneras de generar el centroide primero. Me
> gustaría hacer un análisis con distintos métodos.
>
> Saludos!
>
> El jue., 25 oct. 2018 a las 11:19, Andrés Ramírez (<
> andres.ramirez.miori en gmail.com>) escribió:
>
>> A mi no me quedo en claro si realmente solo querías comparar con el
>> centroide del polígono o saber si el usuario paso por dentro del mismo, en
>> cuyo caso deberías mirar si el punto o los puntos del usuario estan
>> contenidos en el polígono
>> Pero dentro de las opciones que ya pasaron, seguro está
>>
>>
>> On Thu, Oct 25, 2018 at 10:53 AM Juan Carlos Abdala <tonisgo en gmail.com>
>> wrote:
>>
>>> Mírate un poco esta lib, tiene muchísimas cosas y como todo pandas te
>>> ayuda a manejaros en grupo.
>>>
>>> http://geopandas.org/
>>>
>>> Saludos
>>>
>>> El jue., 25 de oct. de 2018 a la(s) 09:47, Augusto Tononi (
>>> adtononi en gmail.com) escribió:
>>>
>>>> Buenas Carlos, gracias por la respuesta.
>>>>
>>>> Me pareció interesante el enlace donde se indica que el centroide puede
>>>> caer fuera de la figura y por lo tanto se propone usar un " representative
>>>> point".
>>>>
>>>> Gracias por la ayuda, saludos!
>>>>
>>>> El mié., 24 oct. 2018 a las 22:28, carlos hernandez (<
>>>> carlitoshernandez20 en gmail.com>) escribió:
>>>>
>>>>> Hola Augusto
>>>>> No se en que formato de archivo te pasan los datos (yo con los que mas
>>>>> he trabajado ha sido Shape de ESRI (shp) y Kml) y si las coordenadas que
>>>>> manejas están en un sistema de coordenadas geográficas o con un sistema de
>>>>> coordenadas proyectadas, pero lo mas sencillo que hice para obtener los
>>>>> centroides de un polígono fue con la librería Shapely
>>>>>
>>>>> Acá hay alguna referencias:
>>>>>
>>>>> https://stackoverflow.com/questions/23583649/how-to-compute-the-centroid-of-a-polygon-in-python
>>>>>
>>>>> http://pyhyd.blogspot.com/2017/08/calculate-centroid-of-polygon-with.html
>>>>>
>>>>> https://gis.stackexchange.com/questions/166820/geopandas-return-lat-and-long-of-a-centroid-point
>>>>>
>>>>> https://gis.stackexchange.com/questions/43384/python-find-a-method-to-calculate-the-inner-centroid-also-known-as-labelpoin
>>>>>
>>>>> https://gis.stackexchange.com/questions/216788/convert-polygon-feature-centroid-to-points-using-python
>>>>>
>>>>> Saludos
>>>>>
>>>>> El mié., 24 oct. 2018 a las 22:07, Augusto Tononi (<adtononi en gmail.com>)
>>>>> escribió:
>>>>>
>>>>>> Buenas grupo, les quería hacer una consulta.
>>>>>>
>>>>>> En el laburo estamos trabajando con data Geo, tenemos una base de
>>>>>> coordenadas y nos mandan otras, y tenemos que matchear usuarios de nuestra
>>>>>> base que hayan pasado por esos puntos.
>>>>>>
>>>>>> Vi que en algunos casos nos pasan poligonos, y para hacer la
>>>>>> comparativa se obtiene el centroide de cada uno. Y acá viene la pregunta:
>>>>>>
>>>>>> Qué maneras hay de obtener el centroide? Actualmente lo que estamos
>>>>>> haciendo es primero redondear las coordenadas, sumarlas y sacar el promedio
>>>>>> (latitudes y longitudes por separado, obvio).
>>>>>> Hay alguna librería que me calcule el centroide? Como funciona? Que
>>>>>> diferencia hay? Se pueden ir modificando parámetros para obtener distintos
>>>>>> resultados?
>>>>>> Qué herramienta puedo utilizar para comparar el método actual con el
>>>>>> propuesto? (Algún tipo de chart, o algún análisis)
>>>>>>
>>>>>> Recién arranco con esto así que si no fui claro sepan disculpar y
>>>>>> digan que tratare de expresarme mejor. Estoy buscando aprender más sobre el
>>>>>> tema
>>>>>>
>>>>>> Saludos!
>>>>>> _______________________________________________
>>>>>> Lista de Correo de PyAr - Python Argentina - pyar en python.org.ar
>>>>>> Sitio web: http://www.python.org.ar/
>>>>>>
>>>>>> Para administrar la lista (o desuscribirse) entrar a
>>>>>> http://listas.python.org.ar/listinfo/pyar
>>>>>>
>>>>>> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre
>>>>>> de Argentina - http://www.usla.org.ar
>>>>>
>>>>> _______________________________________________
>>>>> Lista de Correo de PyAr - Python Argentina - pyar en python.org.ar
>>>>> Sitio web: http://www.python.org.ar/
>>>>>
>>>>> Para administrar la lista (o desuscribirse) entrar a
>>>>> http://listas.python.org.ar/listinfo/pyar
>>>>>
>>>>> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
>>>>> Argentina - http://www.usla.org.ar
>>>>
>>>> _______________________________________________
>>>> Lista de Correo de PyAr - Python Argentina - pyar en python.org.ar
>>>> Sitio web: http://www.python.org.ar/
>>>>
>>>> Para administrar la lista (o desuscribirse) entrar a
>>>> http://listas.python.org.ar/listinfo/pyar
>>>>
>>>> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
>>>> Argentina - http://www.usla.org.ar
>>>
>>>
>>>
>>> --
>>> May the Force be with you
>>>
>>> Toni Abdala
>>> @toniabdala
>>>
>>> _______________________________________________
>>> Lista de Correo de PyAr - Python Argentina - pyar en python.org.ar
>>> Sitio web: http://www.python.org.ar/
>>>
>>> Para administrar la lista (o desuscribirse) entrar a
>>> http://listas.python.org.ar/listinfo/pyar
>>>
>>> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
>>> Argentina - http://www.usla.org.ar
>>
>> _______________________________________________
>> Lista de Correo de PyAr - Python Argentina - pyar en python.org.ar
>> Sitio web: http://www.python.org.ar/
>>
>> Para administrar la lista (o desuscribirse) entrar a
>> http://listas.python.org.ar/listinfo/pyar
>>
>> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
>> Argentina - http://www.usla.org.ar
>
> _______________________________________________
> Lista de Correo de PyAr - Python Argentina - pyar en python.org.ar
> Sitio web: http://www.python.org.ar/
>
> Para administrar la lista (o desuscribirse) entrar a
> http://listas.python.org.ar/listinfo/pyar
>
> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
> Argentina - http://www.usla.org.ar



-- 
Hernan Olivera
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20181025/96f095b6/attachment.html>


Más información sobre la lista de distribución pyar