Teniendo un .csv con nuestros datos crearemos una nueva capa con estas entidades, y utilizando el valor de sus columnas X e Y crearemos una geometría que asociaremos a cada entidad.
creaCapaCsvPuntosRecorrido.py:
from gvsig import * from commonsdialog import * from geom import * import csv import os.path def main(): """Crea Capa de puntos desde un CSV cogiendo como coordenadas las dos ultimas columnas X e Y """ #Introducir la direcci?n donde se encuentra el archivo .csv rpath = inputbox("Ruta del csv", "Seleccione Parth",QUESTION) if not rpath: msgbox("Introduzca la ruta al csv", "Error", FORBIDEN) return #Abre el fichero en modo de lectura input = open(rpath, 'r') #var reader coge los datos del .csv reader = csv.reader(input) #Variables auxiliares c = 2 indice = 0 #Creamos un esquema vacio para la capa, y valores necesarios # para crear la capa dentro del for schema = createSchema() crs = currentProject().getProjectionCode() capa = "csv_layer14.shp" ruta1 = "C:\gvsig\\" ruta = ruta1 + capa #For pasando por todas las lineas del csv. #Agrega a la capa nueva for row in reader: #Primera linea la coge como esquema (solo se ejecutar? una vez) if c == 2: #Añade todas las columnas for i in row: schema.append(i,"STRING", size=10, default=0) #Añadimos la geometria schema.append("GEOMETRY", "GEOMETRY") #Creamos la capa newLayer = createShape( schema, ruta, CRS = crs, geometryType = POINT ) c -= 1 #Preparamos los valores para el else # values = dict() esquema = schema.getCopy() #Lineas en adelante como datos else: #Añadimos los datos for i in row: values[indice]=i indice += 1 #Creamos la geometria para cada punto cogiendo las columnas #Las columnas X,Y son las dos ?ltimas, usaremos el indice. x = indice - 2 y = indice - 1 punto = createPoint(int(values[x]),int(values[y])) buf = float(values[4]) values[indice] = punto newLayer.append(values) indice = 0 #Añadimos y guardamos la capa. currentView().addLayer(newLayer) newLayer.commit() input.close()
Ejemplo de csv que utilizaremos en este ejemplo y en los siguientes:
tornados.csv
ID,CODIGO,NOMBRE,FECHA,INTENSIDAD,VELOCIDAD,X,Y 1,X159,Gelir,23/06/09,5,30,0,0 2,X295,Ferla,24/08/09,4,20,10,15 3,X820,Vurla,25/10/10,7,35,23,44 4,X810,Bastir,26/04/11,5,24,25,38 5,X890,Cerstart,27/06/12,"3.5",15,32,14 6,X183,Xer,28/06/11,"8.1",35,65,73 7,X105,Gagmor,01/09/10,"7.5",17,13,5 8,X109,Tristi,30/06/09,"6.4",28,98,15 9,X852,Marme,20/07/11,"5.3",20,83,45
Buenas, soy una estudiante de la uci que para la tesis tengo que hacer un componente que genere el área de influencia en un SIG, quisiera saber si me pueden dar alguna documentacion respecto a este tema, me sería de gran ayuda
Buenas,
Te recomiendo que sigas el curso de gvSIG que tenemos gratuito subido sobre gestion municipal (pero que es aplicable a diversos ámbitos).
https://blog.gvsig.org/2017/12/14/sig-aplicado-a-gestion-municipal-certificacion-y-enlaces-al-curso-completo/
En el módulo 12 puedes ver un ejemplo de áreas de influencia explicado en el video.
Espero te sirva de ayuda
Saludos
Muchas gracias, busqué ese curso pero necesito el enlace directo del video para poder descargarlo.