Работа с векторными данными при помощи OGR и Python

Обсуждение материалов сайта: вопросы, замечания, предложения
ilmir35
Интересующийся
Сообщения: 26
Зарегистрирован: 18 апр 2013, 11:24
Репутация: 0

Re: Работа с векторными данными при помощи OGR и Python

Сообщение ilmir35 » 22 апр 2013, 16:53

После ввода import osgeo.ogr as ogr
Выдает сообщение:
Traceback (most recent call last):
File "<stdin>", line 1, in ?
ImportError: No module named osgeo.ogr

А если ввести сразу ogrData = ogr.Open( "C:\Users\Ильмир\shape\boundary-polygon.shp", False )
То это пишет:
Traceback (most recent call last):
File "<stdin>", line 1, in ?
File "C:\PROGRA~1\FWTOOL~1.7\pymod\ogr.py", line 124, in Open
raise OGRError, 'Unable to open: ' + filename
ogr.OGRError: Unable to open: C:\Users\Ильмир\shapoundary-polygon.shp

ilmir35
Интересующийся
Сообщения: 26
Зарегистрирован: 18 апр 2013, 11:24
Репутация: 0

Re: Работа с векторными данными при помощи OGR и Python

Сообщение ilmir35 » 22 апр 2013, 17:11

Это я делал через FWTools Shell. Потом попробовал через OSGeo4W. После ввода
import osgeo.ogr as ogr
ogrData = ogr.Open( "C:\Users\Ильмир\shape\boundary-polygon.shp")
if ogrData is None:
print "ERROR: open failed"
Вывел ERROR: open failed

ilmir35
Интересующийся
Сообщения: 26
Зарегистрирован: 18 апр 2013, 11:24
Репутация: 0

Re: Работа с векторными данными при помощи OGR и Python

Сообщение ilmir35 » 24 апр 2013, 15:03

А могут быть проблемы с установкой, может что-то несовместимо? И ещё нужно ли изменять переменные среды?

Александр Мурый
Гуру
Сообщения: 5173
Зарегистрирован: 26 сен 2009, 16:26
Репутация: 793
Ваше звание: званий не имею
Откуда: Москва

Re: Работа с векторными данными при помощи OGR и Python

Сообщение Александр Мурый » 24 апр 2013, 15:13

ilmir35 писал(а):А могут быть проблемы с установкой, может что-то несовместимо? И ещё нужно ли изменять переменные среды?
Может быть всё, что угодно (как известно :)). Как я понял, у вас одновременно установлены и FWTools, и OSGeo4W?
Редактор материалов, модератор форума

ilmir35
Интересующийся
Сообщения: 26
Зарегистрирован: 18 апр 2013, 11:24
Репутация: 0

Re: Работа с векторными данными при помощи OGR и Python

Сообщение ilmir35 » 24 апр 2013, 15:52

Да, сначала я установил FWTools и пробовал работать с ним,но не получилось. Потом я наткнулся на эту статью и всё сделал как там.

ilmir35
Интересующийся
Сообщения: 26
Зарегистрирован: 18 апр 2013, 11:24
Репутация: 0

Re: Работа с векторными данными при помощи OGR и Python

Сообщение ilmir35 » 24 апр 2013, 15:54

А что насчёт
ilmir35 писал(а):И ещё нужно ли изменять переменные среды?

Александр Мурый
Гуру
Сообщения: 5173
Зарегистрирован: 26 сен 2009, 16:26
Репутация: 793
Ваше звание: званий не имею
Откуда: Москва

Re: Работа с векторными данными при помощи OGR и Python

Сообщение Александр Мурый » 24 апр 2013, 16:01

ilmir35 писал(а):А что насчёт
ilmir35 писал(а):И ещё нужно ли изменять переменные среды?
Смотря для каких целей… Давайте пойдём по 2-му кругу: попытайтесь повторить что-то из статьи, используя только OSGeo4W. Что получится?
Редактор материалов, модератор форума

ilmir35
Интересующийся
Сообщения: 26
Зарегистрирован: 18 апр 2013, 11:24
Репутация: 0

Re: Работа с векторными данными при помощи OGR и Python

Сообщение ilmir35 » 24 апр 2013, 16:07

Мне удалить все что установлено?

ilmir35
Интересующийся
Сообщения: 26
Зарегистрирован: 18 апр 2013, 11:24
Репутация: 0

Re: Работа с векторными данными при помощи OGR и Python

Сообщение ilmir35 » 24 апр 2013, 16:12

Если не удалять, то результат вначале этой страницы.

Александр Мурый
Гуру
Сообщения: 5173
Зарегистрирован: 26 сен 2009, 16:26
Репутация: 793
Ваше звание: званий не имею
Откуда: Москва

Re: Работа с векторными данными при помощи OGR и Python

Сообщение Александр Мурый » 24 апр 2013, 16:41

ilmir35 писал(а):Мне удалить все что установлено?
Можно, конечно, удалить FWTools и OSGeo4W, затем заново установить OSGeo4W и попробовать ещё раз проделать действия из статьи. Но будет ли в этом смысл, не понятно.
Редактор материалов, модератор форума

ilmir35
Интересующийся
Сообщения: 26
Зарегистрирован: 18 апр 2013, 11:24
Репутация: 0

Re: Работа с векторными данными при помощи OGR и Python

Сообщение ilmir35 » 24 апр 2013, 17:01

ок, спасибо вам)

ilmir35
Интересующийся
Сообщения: 26
Зарегистрирован: 18 апр 2013, 11:24
Репутация: 0

Re: Работа с векторными данными при помощи OGR и Python

Сообщение ilmir35 » 21 май 2013, 19:39

Всем привет. У меня небольшой вопрос. В статье показалось как вывести список полей объекта:
feat = layer.GetNextFeature()
featDef = layer.GetLayerDefn() # схема (таблица атрибутов) слоя
while feat is not None:
for i in range( featDef.GetFieldCount() ): # проходим по всем полям
fieldDef = featDef.GetFieldDefn( i ) # получаем i-тое поле
print "Field name", fieldDef.GetNameRef() # и выводим информацию
print "Field type", fieldDef.GetType()
print "Field value", feat.GetFieldAsString(i)
feat = layer.GetNextFeature() # переходим к следующему объекту

Я хотел вместо вывода на print записать эти поля в файл. Файл открыл так:
file = open('c:/data/1.txt', 'w')
Я изменил пример: file.write( "Field name", fieldDef.GetNameRef())
Но не записывает, не могли бы помочь мне?

Аватара пользователя
SS_Rebelious
Гуру
Сообщения: 1304
Зарегистрирован: 24 фев 2009, 16:51
Репутация: 99
Ваше звание: GIS pro-fan
Откуда: Lahti / Газ-ПУТИНбург
Контактная информация:

Re: Работа с векторными данными при помощи OGR и Python

Сообщение SS_Rebelious » 21 май 2013, 22:15

ilmir35 писал(а):Я хотел вместо вывода на print записать эти поля в файл. Файл открыл так:
file = open('c:/data/1.txt', 'w')
Я изменил пример: file.write( "Field name", fieldDef.GetNameRef())
Но не записывает, не могли бы помочь мне?
Во-первых, когда задаёте подобные вопросы, хотелось бы подробностей: например, выдаёт ли скрипт какую-либо ошибку, а также, уверены ли вы, что скрипт исправно работает до команды write?

Во-вторых, хорошим тоном считается прочтение мануалов перед тем, как задать вопрос. Гляньте вот сюда: буржуйским по белому написано, что команда write() принимает аргумент типа string, а вы что ему суёте? Что-то на меня напала вредность и корректный код приводить не буду - сами подумайте, что надо сделать. Вам это даже полезнее будет.
Look for something long enough, and you will find it. Look for something without understanding, and it will find you...
"All paid jobs absorb and degrade the mind." Aristotle
If you take 1 step towards freedom it'll take 2 steps towards you!

Ответить

Вернуться в «Материалы сайта»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 32 гостя