У меня есть текстовый файл, который я пытаюсь обработать и содержащий два фрагмента данных, и поместил его в файл KML для использования в Google Earth.
В текстовом файле есть повторяющиеся элементы. строки, которые выглядят следующим образом:
302201300410005,$GPRMC,142003.800,V,4340.4448,N,07924.9643,W,0.00,187.31,060919,,,N,V*16
302201300410005,+CCI: 3022013,-32,99.9,32,412.3125,78,27,42,-68
Строка с $GPRMC — это выходные данные GPS-приемника, строка с +CCI — это выходные данные радиоприемника с различными параметрами, которые я пытаюсь зарегистрировать.
Цель состоит в том, чтобы создать файл KML, в котором каждая точка широты и долготы будет отмечена данными радиоприемника в описании точки.
Основная проблема, с которой я столкнулся, заключается в том, что я могу ни за что не получу сгенерированный файл KML. Я более или менее следую руководству по SimpleKML, используя:
kml.save=('file.kml')
Теперь я попробовал только имя файла и полный путь, но файл не был создан. Ошибок тоже нет, не знаю, что происходит.
Я использовал print(kml.kml()) и получил ожидаемый результат, не знаю, почему файл не сохраняется.
Я не программист, я использую Python, потому что мне (в целом) легко автоматизировать некоторые наиболее монотонные вещи.
Код:
#import LA_names
import os
import csv
import simplekml
ccilist = ("MNI","RSSI","BER","LA","Freq","C1","nLA","nC2","nRSSI")
latlong = False
data = False
desc = ''
fp=input('Enter file path: ')
check_fp = os.path.isfile(fp)
kml = simplekml.Kml(open=1)
single_point = kml.newpoint(name="World",coords=[(0.0,0.0)])
if check_fp == True:
with open(fp) as file_obj:
reader_obj = csv.reader(file_obj)
for row in reader_obj:
if '$GPRMC' in row:
latlong = False
lat = int(str(row[4])[:2])
lat_mm = float(str(row[4])[2:])
lat = lat + (lat_mm/60)
if row[5] == 'S':
lat = -abs(lat)
long = int(str(row[6])[:3])
long_mm = float(str(row[4])[2:])
long = long + (long_mm/60)
if row[7] == 'W':
long = -abs(long)
latlong = True
#print(f"LAT:{lat}\tLONG:{long}")
if '+CCI: 3022013' in row:
desc = f"RSSI:{row[2]}dBm\nLA:{row[4]}\nFreq:{row[5]}MHz\nC1:{row[6]}\nnLA:{row[7]}\nnC2:{row[8]}\nnRSSI:{row[9]}dBm"
data = True
if latlong == True and data == True:
pnt = kml.newpoint()
pnt.description = desc
pnt.coords = [(long, lat)]
pnt.shape = 'circle'
latlong = data = False
kml.save=('Test.kml')
#print (kml.kml())
else:
print ("File Not Found")
Подробнее здесь: https://stackoverflow.com/questions/792 ... ave-a-file
Модуль Python и simplekml не может сохранить файл ⇐ Python
Программы на Python
-
Anonymous
1732491177
Anonymous
У меня есть текстовый файл, который я пытаюсь обработать и содержащий два фрагмента данных, и поместил его в файл KML для использования в Google Earth.
В текстовом файле есть повторяющиеся элементы. строки, которые выглядят следующим образом:
302201300410005,$GPRMC,142003.800,V,4340.4448,N,07924.9643,W,0.00,187.31,060919,,,N,V*16
302201300410005,+CCI: 3022013,-32,99.9,32,412.3125,78,27,42,-68
Строка с $GPRMC — это выходные данные GPS-приемника, строка с +CCI — это выходные данные радиоприемника с различными параметрами, которые я пытаюсь зарегистрировать.
Цель состоит в том, чтобы создать файл KML, в котором каждая точка широты и долготы будет отмечена данными радиоприемника в описании точки.
Основная проблема, с которой я столкнулся, заключается в том, что я могу ни за что не получу сгенерированный файл KML. Я более или менее следую руководству по SimpleKML, используя:
kml.save=('file.kml')
Теперь я попробовал только имя файла и полный путь, но файл не был создан. Ошибок тоже нет, не знаю, что происходит.
Я использовал print(kml.kml()) и получил ожидаемый результат, не знаю, почему файл не сохраняется.
Я не программист, я использую Python, потому что мне (в целом) легко автоматизировать некоторые наиболее монотонные вещи.
Код:
#import LA_names
import os
import csv
import simplekml
ccilist = ("MNI","RSSI","BER","LA","Freq","C1","nLA","nC2","nRSSI")
latlong = False
data = False
desc = ''
fp=input('Enter file path: ')
check_fp = os.path.isfile(fp)
kml = simplekml.Kml(open=1)
single_point = kml.newpoint(name="World",coords=[(0.0,0.0)])
if check_fp == True:
with open(fp) as file_obj:
reader_obj = csv.reader(file_obj)
for row in reader_obj:
if '$GPRMC' in row:
latlong = False
lat = int(str(row[4])[:2])
lat_mm = float(str(row[4])[2:])
lat = lat + (lat_mm/60)
if row[5] == 'S':
lat = -abs(lat)
long = int(str(row[6])[:3])
long_mm = float(str(row[4])[2:])
long = long + (long_mm/60)
if row[7] == 'W':
long = -abs(long)
latlong = True
#print(f"LAT:{lat}\tLONG:{long}")
if '+CCI: 3022013' in row:
desc = f"RSSI:{row[2]}dBm\nLA:{row[4]}\nFreq:{row[5]}MHz\nC1:{row[6]}\nnLA:{row[7]}\nnC2:{row[8]}\nnRSSI:{row[9]}dBm"
data = True
if latlong == True and data == True:
pnt = kml.newpoint()
pnt.description = desc
pnt.coords = [(long, lat)]
pnt.shape = 'circle'
latlong = data = False
kml.save=('Test.kml')
#print (kml.kml())
else:
print ("File Not Found")
Подробнее здесь: [url]https://stackoverflow.com/questions/79216130/python-simplekml-module-cannot-save-a-file[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия