with_variable(
'distancia', sqrt(area(@geometry)*.155),
make_square(
make_point(
x(@geometry), y(@geometry)),
make_point(
x(@geometry)+ @distancia,
y(@geometry) + @distancia)
)
)Proceso de capas de lotificación proyecto Careyes
Origen de los polígonos
Los polígonos de la lotificación y caminos fueron provistos en un archivo autocad-pdf
Modificaciones
- El polígono del proyecto no debe incluir más que las zonas donde se trabajará: el archivo original dejaba un espacio muy variante entre los lotes y los caminos (Figura 1), por lo cual los límites de los lotes fueron ajustados (snap) a los caminos, para que la suma de las superficies fuera igual al área del polígono del proyecto
- Había lotes, accesos o desplantes que intersecaban con capas del SIGEIA (Liga geoserver sigeia ):
- Área núcleo (del SIGEIA, no de la capa de ANP de Conabio)
- ANPs Playa Teopa y Plata Cuitzamala
- Continuo de cuerpos de agua
Entonces se eliminaron estos traslapes del área del proyecto
El archivo se corrigió topológicamente
Manualmente, utilizando la herramienta de autoensamblado con la función de edición topológica se fueron ensamblando (snap) los polígonos de los lotes hacia los caminos; con la función “snap to layer” se garantizó que no hubiera vértices no compartidos en segmentos entre dos capas o dos geometrías (Figura 2), también se utilizó la función overlap analysis para constatar que no hubiera vacíos o traslapes.
Se hizo un código para generar todas las subcapas
Para generar las capas de lotes (consolidados), áreas de conservación (consolidadas), caminos nuevos y existentes, el archivo union_poligonal.sh.
Había polígonos de desplantes > 16% del área del lote
Se seleccionaron los lotes con desplantes > 16% y se uso la siguiente función en “geometry by expresion”
A continuación manualmente se cambiaron por los que estaban, con las herramientas de mover y rotar geometría, para que coincidieran con la capa de accesos y en la capa de lotes se agregó una columna de superficie de la capa de desplantes
round(
array_foreach(
overlay_intersects(
'desplantes_32613_977c3b4c_21ad_4d4c_8df0_3b5be96b5de5', @geometry),
area(@element)
)[0],2)Cálculo de volúmenes de extracción
A partir de los monitoreos de volúmenes vegetales por especie se generaron capas de interpolación para cada una de las 92 especies registradas en la zona; posteriormente se calcularon los volúmenes totales en cada desplante con la función de estadísticas zonales, usando las capas ya creadas con idws.py (Figura 3), el cual utiliza volúmenes por especie en cada sitio de muestreo, con el código zonales.py.
Cálculo de áreas
con el archivo supf_careyes.R se crea una tabla excel de superficies como la solicitada (Tabla 1):
| Descripción | Superficie |
|---|---|
| Área de lotificación | 564129.37 |
| Área de desplante | 80645.36 |
| Área para accesos a lotes | 9983.18 |
| Área de vialidades | 23086.9 |
| Área de conservación | 152360 |
| Supf. total a desarrollar (Lotificación + vialidades + áreas de conservación) | 739576.27 |
| Área total del predio | 739576.27 |
| Vialidades | |
| Fuera de lotes | |
| Existente | 12029.75 |
| Nueva | 11057.15 |
| Dentro de lotes | |
| Existente | 8747.88 |
| Conservación | |
| Humedal 1 | 82773.67 |
| Humedal 2 | 59201.98 |
| Reserva 1 | 6060.18 |
| Reserva 2 | 4324.17 |
Se quitó parte del lote que invadía terreno
Un lote invadía parte del terreno visible en la imagen del satélite de google, se recortó para no tener traslape (Figura 4)
Para ponerle el atributo de numero de lote a la capa de accesos, sin crear una capa nueva,
se utilizó la expresión:
aggregate(
layer:='cobertura_topo_32613_7f2fa0aa_5808_4432_90cd_81379fbd1ea7',
aggregate:= 'sum',
expression:= "numero_lot",
filter:= intersects(buffer($geometry, -1), geometry(@parent))
)Al usar intersects directamente también alcanza a los lotes que tocan al acceso, lo cual evitamos con el buffer negativo
Generar cadenamientos
Primero se tuvieron que preparar las capas de los ejes troncales de los caminos nuevos y los accesos, se utilizó la función v.voronoi.skeleton (para usarla es necesario generar una capa sin campo fid porque GRASS espera valores que no sean Int al parecer), con un valor smoothing de 0.08 (Figura 5), la cual queda con muchos vértices intermedios; después se pasa por Simplify y manualmente se corrigen los extremos (Figura 6)
Finalmente se generaron unas tablas con el script x_cadenamientos.R, que salen así (Tabla 2), con coordenadas en UTM y en grados decimales:
| CAMINO | CADENAMIENTO | X | Y | X_grados | Y_grados |
|---|---|---|---|---|---|
| 1 | 0 + 000.00 | 496781.3 | 2144049 | -105.0307 | 19.39062 |
| 1 | 0 + 100.00 | 496876.6 | 2144019 | -105.0297 | 19.39034 |
| 1 | 0 + 200.00 | 496900.3 | 2143947 | -105.0295 | 19.38969 |
| 1 | 0 + 300.00 | 496953.0 | 2143862 | -105.0290 | 19.38892 |
| 1 | 0 + 400.00 | 496965.2 | 2143764 | -105.0289 | 19.38804 |
| 1 | 0 + 464.13 | 496974.9 | 2143701 | -105.0288 | 19.38747 |