|
@ -1,55 +1,55 @@ |
|
|
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') 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()) |
|
|
|
|
|
|
|
|
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') |
|
|
kml.save(r'D:\aleja\Downloads\cosa\Output.kml') |