Страница 1 из 1

ogr2ogr st_makevalid

Добавлено: 03 мар 2023, 15:43
spawner
Хочу исправить полигоны от самопересечений через ogr2ogr.
Вроде как в нем есть функция st_makevalid, но при запуске она выдает ошибку "ERROR 6: GEOS 3.8 or later needed for MakeValid"

Поискал в интернете - ничего не нашел о том, как обновить эту GEOS под виндовс.

Никто не сталкивался?

Или может можно как-то через ogr2ogr получить точки в которых самопересечения?

Re: ogr2ogr st_makevalid

Добавлено: 03 мар 2023, 16:16
drrrrr
spawner, стоило бы поподробней описать версию gdal и то, как вы пытаетесь воспользоваться sql функцией st_makevalid утилиты ogr2ogr.
Вообще в ogr2ogr предусмотрена опция -makevalid, вполне корректно работает с многими форматами, пример:

Код: Выделить всё

ogr2ogr -f "ESRI Shapefile" valid.shp -makevalid nonvalid.shp

Re: ogr2ogr st_makevalid

Добавлено: 03 мар 2023, 17:03
spawner
Версия GDAL 3.1.2, makevalid то же самое пишет, про старую версию GEOS.

А у вас какая версия? Под виндовс?

Re: ogr2ogr st_makevalid

Добавлено: 03 мар 2023, 17:35
drrrrr
Понятно. Актуальная версия gdal 3.6
Скачайте установщик osgeo для windows http://download.osgeo.org/osgeo4w/v2/x8 ... -2.tar.bz2, распакуйте, запустите исполняемый файл osgeo4w-setup.exe, режим расширенной установки, дойдите до выбора пакетов, в разделе Commandline_Utilities выберите установку gdal, необходимые зависимости выберутся автоматически, ну и далее установите и пользуйтесь.

Re: ogr2ogr st_makevalid

Добавлено: 03 мар 2023, 17:43
gamm
там в установщике на половине форм кракозябры вместо букв (из-за русского языка), непонятно, что выбирать. А нормального установщина на английском нет?

Re: ogr2ogr st_makevalid

Добавлено: 03 мар 2023, 17:51
drrrrr
Да, есть такое дело. Выберите верхний пункт во втором диалоге, дальше все понятно. Если хочется английского - нужна английская версия windows.

Вот этот злополучный диалог
Clipboard 1.png
Clipboard 1.png (17.87 КБ) 2396 просмотров

Re: ogr2ogr st_makevalid

Добавлено: 03 мар 2023, 18:18
gamm
спасибо, буду пробовать ... заработало. А можно как-то установить параметры среды в bat-файле, и запускать из него?
все, нашел установщик параметров среды call "%~dp0\bin\o4w_env.bat"