скорее всего, используете русские буквы в путях к файлам, именах файлов или именах полей. Лучше этого никогда не делать.
- перепроверил пути, имена файлов и колонок - русских букв нет. А в ячейках табл. кириллица - присутствует в виде "����������� ���."
Действие происходит в питон-скрипте, запускаемом в "голой" виндовой консоли или в питон-консоли в wxGUI?
- сейчас все действия делаю в "Command console " интерфейса "wxGUI".
Со списком значений (Питон) - это я поторопился, прошу прощения (в будущем хотелось бы "обернуть код" в Питон, но пока не знаю как ((( ).
Изначально код выглядел так:
Код: Выделить всё
echo "UPDATE frpol_kostroma_region_z_38 SET area_rubki = 100 WHERE cat = 1" | db.execute
Появлялась ошибка:
ЋвЄ § ® ў ¤®бвгЇҐ. = Отказано в доступе.
Теперь данной ошибки - нет.
Операция завершается, но результатов обновления в атриб. таблице нет (((
Для интереса попробовал занести данные в табл. атриб. вручную. Вызвал менеджер таблиц -> выбрал запись для редактирования -> внес данные -> ячейка не обновилась, но появилась ошибка:
Traceback (most recent call last):
File "C:\OSGeo4W\apps\grass\grass-6.4.3\etc\wxpython\dbmgr
\manager.py", line 1502, in OnDataItemEdit
values = dlg.GetValues() # string
File "C:\OSGeo4W\apps\grass\grass-6.4.3\etc\wxpython\dbmgr
\dialogs.py", line 693, in GetValues
value = str(self.FindWindowById(valueId).GetValue())
UnicodeEncodeError
:
'ascii' codec can't encode characters in position 0-10:
ordinal not in range(128)
Ошибка с кодировками.
Действительно в атриб. табл. есть две колонки с кириллицей (и крякозябрами), но я же с ними не работаю. Моя задача только обновить числовые значения в новой колонке.
Приведите вывод следующих команд:
db.connect -p
driver:dbf
database:$GISDBASE/$LOCATION_NAME/$MAPSET/dbf/
schema:
group:
(Mon Mar 24 10:46:11 2014) Операция завершена (0 sec)
v.info -c frpol_kostroma_region_z_38
Отобразить типы/имена полей для связи БД со слоем 1:
INTEGER|cat
CHARACTER|OBL_NAME
INTEGER|ADM_CODE
CHARACTER|FR_NAME
CHARACTER|FR_CODE
CHARACTER|OIV_CODE
CHARACTER|CODE_FR
CHARACTER|UN_CODE_FR
CHARACTER|OIV_NAME
INTEGER|FR_YEAR
CHARACTER|NAME
DOUBLE PRECISION|AREA
DOUBLE PRECISION|PERIMETER
DOUBLE PRECISION|area_rubki
(Mon Mar 24 10:46:34 2014) Операция завершена (0 sec)
Traceback (most recent call last):
File "C:\OSGeo4W\apps\grass\grass-6.4.3\etc\wxpython\gui_c
ore\goutput.py", line 914, in OnCmdDone
display.GetWindow().UpdateMap(render = True)
File "C:\OSGeo4W\apps\grass\grass-6.4.3\etc\wxpython\mapdi
sp\mapwindow.py", line 575, in UpdateMap
windres = windres)
File "C:\OSGeo4W\apps\grass\grass-6.4.3\etc\wxpython\core\
render.py", line 875, in Render
os.environ["GRASS_REGION"] = self.SetRegion(windres)
File "C:\OSGeo4W\apps\grass\grass-6.4.3\etc\wxpython\core\
render.py", line 702, in SetRegion
region = self.AdjustRegion()
File "C:\OSGeo4W\apps\grass\grass-6.4.3\etc\wxpython\core\
render.py", line 488, in AdjustRegion
self.region["nsres"] = mapheight / self.height
ZeroDivisionError
:
float division by zero
v.db.connect -p frpol_kostroma_region_z_38
Векторный слой <frpol_kostroma_region_z_38@PERMANENT> присоединен к:
слой <1> таблица<frpol_kostroma_region_z_38> в базе данных <d:/grass\landsat8_pan\PERMANENT\dbf\> посредством драйвера <dbf> с ключем <cat>
(Mon Mar 24 10:47:15 2014) Операция завершена (0 sec)
Traceback (most recent call last):
File "C:\OSGeo4W\apps\grass\grass-6.4.3\etc\wxpython\gui_c
ore\goutput.py", line 914, in OnCmdDone
display.GetWindow().UpdateMap(render = True)
File "C:\OSGeo4W\apps\grass\grass-6.4.3\etc\wxpython\mapdi
sp\mapwindow.py", line 575, in UpdateMap
windres = windres)
File "C:\OSGeo4W\apps\grass\grass-6.4.3\etc\wxpython\core\
render.py", line 875, in Render
os.environ["GRASS_REGION"] = self.SetRegion(windres)
File "C:\OSGeo4W\apps\grass\grass-6.4.3\etc\wxpython\core\
render.py", line 702, in SetRegion
region = self.AdjustRegion()
File "C:\OSGeo4W\apps\grass\grass-6.4.3\etc\wxpython\core\
render.py", line 488, in AdjustRegion
self.region["nsres"] = mapheight / self.height
ZeroDivisionError
:
float division by zero