|
|
- import csv
- import simplekml
-
- def description(*argv):
- """Creates a description block with the arguments of the function"""
-
- block = ''
- check = 0
- for arg in argv:
- if arg == argv[0] and check == 0:
- block = block + arg
- check = 1
- else:
- block = block + '<BR>' + arg
-
- return block
-
- # Open the CSV file and read its contents
- with open(r'D:\aleja\Downloads\cosa\Sample CSV format.csv', 'r', enconding='UTF-8') as file:
- reader = csv.reader(file)
- headers = next(reader)
-
- # Create a KML document
- kml = simplekml.Kml()
-
- # Iterate over the rows in the CSV file
- for row in reader:
- # Extract the data for each field in the row
- name = row[1]
- pressure = "Sensor de presion: " + row[2] + " " + row[3]
- starter = "Arrancador: " + row[4] + " " + row[5]
- flow = "Caudalimetro: " + row[6] + " " + row[7]
- power = "Analizador de potencia: " + row[8] + " " + row[9]
- switch = "Interruptor de presion: " + row[10] + " " + row[11]
- rtu = "RTU: " + row[12] + " " + row[13]
- modem = "Modem: " + row[14] + " " + row[15]
- ID = "ID: " + row[18]
- level = "Sensor de nivel: " + row[19] + " " + row[20]
-
- latitude = float(row[16])
- longitude = float(row[17])
-
-
- # Added function, arguments are data to be placed in description box
- datos = description(name, ID, pressure, starter, flow, power, switch, rtu, modem, level)
-
- # Add a new point to the KML document
- point = kml.newpoint(name=name, description=datos, coords=[(longitude, latitude)])
- point.style.labelstyle.scale = 1
- point.style.iconstyle.icon.href = 'http://maps.google.com/mapfiles/kml/shapes/water.png'
-
-
- # Write the KML data to a file
- print(kml.kml())
- kml.save(r'D:\aleja\Downloads\cosa\Output.kml')
|