Hola Francisco buenos días
Francisco ya logre resolver ese problema, mira pero tengo otra consulta, ya que tu eres el experto y me puedes ayudar a resolver esto.
Mi consulta es que necesito meter una consulta de postgres en una función (If else o elif, son 5 puntos o consultas y en el punto 3 y 4, es donde tengo el mayor problema, es decir, creo un buffer de 25km, luego dentro de ese buffer buscar la estacion(punto) con el minimo valor de 0° a -20°C mas cercano a mi punto origen(de un predio), y sino lo encuentra que salte a buscar ese mismo rango de temperatura minima al segundo buffer de 50km y asi hasta el buffer de 100km y listo, bueno al final te traera los campos de interes y el codigo de la estacion.
Bueno esto yo creo que se puede hacer mediante clausulas de decision if - else.
Te compartire un link de la base de datos de postgres para las pruebas y en dicha carpeta esta el Query tambien.
Ahora bien Francias yo te contribuiria por tu colaboracion nose unos 50dolares o algo asi, ya he realizado envios a venezuela por medio de un amigo aqui en mexico que se dedica a eso. si me escribes a mi correo te lo agradezco (sanhove arroba yahuu pto com).
Francisco de comparto el link del archivo o carpeta de mi base de datos que se encuentra en postgres (C:\Program Files\PostgreSQL\12\data\base\16395)
link = https://drive.google.com/file/d/1RExuxpVN8SVNMVi8hSgdQsuC3zE9Iptf/view?usp=sharing
Te explico:
Capas implicadas:
SELECT * from b2_shp_zonas_ped_tmp_velv
SELECT * from c5_estaciones_smn5
- Punto 1, genero una interseccion me devuelve los campos de:
SELECT * from c6_pred_inters24
- Punto 2, genero la tabla con el punto de interes:
SELECT * FROM c14_pto_pred4
- Punto 3, dividido en (3a, 3b, 3c, 3d) genero los buffer de 25, 50, 75 y 100km:
SELECT * FROM c12_buffer25km
aqui es donde se pueden anidar los diferentes buffer, ya que los tengo separados
- Punto 4, genera la tabla con la estacion mas cercana con el minimo valor de temperatura, en funcion del buffer_25km y del campo que tiene los valores (tp_min_rgt), para hacer pruebas de los bufferes tendrias que editar este campo en ARCGIS o QGIS, y cambiar los valores, para asi probar la funcion de que busque en un buffer y si no encuentra valores de (0 a -20), que busque en el siguiente buffer.
SELECT * FROM val_min_buf25 = asi para cada buffers
- Punto 5, como en la consulta anterior me extrae el campo de la estacion mas cercana (id_estac), calculo la distancia que hay de mi punto de interes (SELECT * FROM c14_pto_pred4 o val_min_buf25) hasta dicha estacion (para ello extraigo su coordenadas). Este punto tiene dos formas de calcular la distancia.
- RESULTADO FINAL (AL LLAMARA A LA FUNCION DEVERA DAR COMO RESULTADO LOS CAMPOS DE LAS TABLAS SIGUIENTES)
a) SELECT * from c6_pred_inters24 = todos los campos de la interseccion
mas +
b) SELECT * FROM val_min_buf25 = todos los campos de la estaccion mas cercana
mas +
c) Solo añadir la distancia generada en el Punto 5, en el cual ahi no cree ninguna tabla.