У меня есть электронная таблица Excel, которую я хочу преобразовать в файл форм ESRI программно. Это содержит координаты X и Y в двух столбцах, а также множество данных атрибута в других столбцах. Электронная таблица находится в формате excel 97 (т.е. не .xlsx).
Я хотел бы смочь преобразовать это в файл форм геометрии точки, с x каждой строки, y пара, представляющая точку. Идеально, я хотел бы иметь третий столбец, указывающий, что система координат x, y координатная пара, и иметь файл Excel содержит неоднородные системы координат.
Как я могу преобразовать эту электронную таблицу Excel (.xls) в файл форм программно? Предпочтительно в Python, но других реализациях будет принят.
что-то вроде этого?
import xlrd
book = xlrd_open_workbook("data.xls")
sheet = book.sheet_by_index(0)
data = [] #make a data store
for i in xrange(sheet.nrows):
row = sheet.row_values(i)
x=row[0]
y=row[1]
data.append(x,y)
import point_store
point_store.save('points-shifted.shp', [data], '+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs')
Здесь есть руководство Python по созданию шейп-файла с использованием GDAL:
http://invisibleroads.com/tutorials/gdal-shapefile-points-save.html
You ' Мне просто нужно заменить исходные данные точками из файла Excel - как указал Фабиан, существуют библиотеки для чтения файлов Excel (или сохранения их как DBF).
В качестве альтернативы, если у вас есть ArcMap от ESRI, сохраните Excel как файл DBF (я не могу вспомнить, читает ли ArcMap напрямую Excel), а затем добавьте этот DBF как «Уровень событий», используя поля X, Y для представления точки. ArcMap отобразит их как объекты, а затем вы сможете щелкнуть правой кнопкой мыши и экспортировать слой в шейп-файл.
xlrd - это модуль Python для чтения файлов Excel, я сам не использовал его.
Вы можете захотеть, чтобы библиотеки GDAL / OGR делали это с Python, и после того, как вы их установили, проще просто использовать утилиту ogr2ogr , как описано на http://nautilus.baruch.sc.edu/twiki_dmcc/bin/view/Main/OGR_example#Converting_from_CSV_to_shapefile .