Создание контура - сканированного изображения (tiff) в ArcGis Desktop

Не знаете, где задать вопрос? Задавайте здесь.
KassenovI
Новоприбывший
Сообщения: 14
Зарегистрирован: 19 сен 2022, 08:41
Репутация: 0
Откуда: Kz

Создание контура - сканированного изображения (tiff) в ArcGis Desktop

Сообщение KassenovI » 19 сен 2022, 08:49

Добрый день,

Прошу помочь и/или посоветовать как решить проблему с созданием контура(границ) сканированного изображения.
Имеется более 10000 сканированных изображений различных карт, для лучшей навигации хотел бы создать для каждого контур в формате shape. К примеру я выделяю какую-то область в программе - и могу определить какие карты находятся там, за счет контуров.

Основная цель это упрощенная навигация по сканированным изображениям.

с уважением и без негатива)

trir
Гуру
Сообщения: 5125
Зарегистрирован: 09 апр 2010, 19:30
Статьи: 1
Репутация: 981
Ваше звание: просто мимо прохожу
Откуда: Ё-бург

Re: Создание контура - сканированного изображения (tiff) в ArcGis Desktop

Сообщение trir » 19 сен 2022, 08:59


AlexRomantsov
Активный участник
Сообщения: 134
Зарегистрирован: 24 мар 2022, 05:54
Репутация: 66
Откуда: Томск

Re: Создание контура - сканированного изображения (tiff) в ArcGis Desktop

Сообщение AlexRomantsov » 19 сен 2022, 09:03

В ArcGis не помню, и под рукой нет, а в QGIS можно так:

В QGIS, в "пустой" (без растров) карте,
Делаем раз:
Анализ данных - Инструмент работы со слоями - Извлечь охват слоя - Запускать как групповой процесс

Исходный слой - Автозаполнение - Выбрать файлы (Ваши растры с геопривязкой).

Охват (результат в шейп): Автозаполнение - Расчитать выражением (путь и имя шейпа)
'd:/.../shp/' + base_file_name( parameter( 'INPUT'))+'.shp'

Запускаем.
После завершения процедуры в указанном месте шейпы, по одному на каждый растр.

Делаем два:
Собрать шейпы в один и открыть его в карте: Вектор - Управление данными - Объеденить векторные слои (можно также из файлов на диске, а не слоев карты).
Получим один шейп со всеми границами растров, в атрибутах координаты углов и имя растра (путь и имя исходного шейпа). Последнее поле лучше допилить калькулятором полей, убрать из него путь, заменить *.shp на *.tif.
Последний раз редактировалось AlexRomantsov 21 сен 2022, 08:54, всего редактировалось 1 раз.

KassenovI
Новоприбывший
Сообщения: 14
Зарегистрирован: 19 сен 2022, 08:41
Репутация: 0
Откуда: Kz

Re: Создание контура - сканированного изображения (tiff) в ArcGis Desktop

Сообщение KassenovI » 19 сен 2022, 09:24

AlexRomantsov писал(а):
19 сен 2022, 09:03
Охват (результат в шейп): Автозаполнение - Расчитать выражением (путь и имя шейпа)
'd:/.../shp/' + base_file_name( parameter( 'INPUT'))+'.shp'
Не совсем понял эту часть, а точнее выражение.
Можете поподробнее, если можно?

AlexRomantsov
Активный участник
Сообщения: 134
Зарегистрирован: 24 мар 2022, 05:54
Репутация: 66
Откуда: Томск

Re: Создание контура - сканированного изображения (tiff) в ArcGis Desktop

Сообщение AlexRomantsov » 19 сен 2022, 09:38

При работе "Извлечь охват слоя" в групповом процессе необходимо заполнить и настроить параметры. Что бы не вписывать в поле каждой строки ручками, можно воспользоваться расчетом выражения. В примере - готовый прототип такого выражения, где "d:/.../shp/" - ваш путь на диске (измените его под себя), общий для всех полученных шейпов с охватами, а " base_file_name( parameter( 'INPUT'))+'.shp" - расчетная часть, использует имя текущего растра и стандартное раcширение shp.
Шейп на каждый растр списка получится примерно таким и по такому размещению: d:/tmp/shp/rastr12345.shp, при выражении 'd:/tmp/shp/' + base_file_name( parameter( 'INPUT'))+'.shp'

AlexRomantsov
Активный участник
Сообщения: 134
Зарегистрирован: 24 мар 2022, 05:54
Репутация: 66
Откуда: Томск

Re: Создание контура - сканированного изображения (tiff) в ArcGis Desktop

Сообщение AlexRomantsov » 19 сен 2022, 09:48

В целом, полезная штука, которая позволяет в векторном слое выделить все растры (их векторные охваты) в нужной области, экспортировать этот список (названия растров) в csv/xls, и затем применить этот список как маску для выделения растров на диске (в ОС), ну например что бы скопировать их ...

KassenovI
Новоприбывший
Сообщения: 14
Зарегистрирован: 19 сен 2022, 08:41
Репутация: 0
Откуда: Kz

Re: Создание контура - сканированного изображения (tiff) в ArcGis Desktop

Сообщение KassenovI » 19 сен 2022, 10:03

AlexRomantsov писал(а):
19 сен 2022, 09:48
В целом, полезная штука, которая позволяет в векторном слое выделить все растры (их векторные охваты) в нужной области, экспортировать этот список (названия растров) в csv/xls, и затем применить этот список как маску для выделения растров на диске (в ОС), ну например что бы скопировать их ...
Благодарю за ответ.
На единичном примере сработало.
Можно ли это выполнить на большем количестве?

trir
Гуру
Сообщения: 5125
Зарегистрирован: 09 апр 2010, 19:30
Статьи: 1
Репутация: 981
Ваше звание: просто мимо прохожу
Откуда: Ё-бург

Re: Создание контура - сканированного изображения (tiff) в ArcGis Desktop

Сообщение trir » 19 сен 2022, 10:05

Можно ли это выполнить на большем количестве?
gdaltindex

AlexRomantsov
Активный участник
Сообщения: 134
Зарегистрирован: 24 мар 2022, 05:54
Репутация: 66
Откуда: Томск

Re: Создание контура - сканированного изображения (tiff) в ArcGis Desktop

Сообщение AlexRomantsov » 19 сен 2022, 10:09

конечно, для этого и режим "Как групповой процесс":
выбор растров.jpg
выбор растров.jpg (23.97 КБ) 1021 просмотр

KassenovI
Новоприбывший
Сообщения: 14
Зарегистрирован: 19 сен 2022, 08:41
Репутация: 0
Откуда: Kz

Re: Создание контура - сканированного изображения (tiff) в ArcGis Desktop

Сообщение KassenovI » 19 сен 2022, 10:15

AlexRomantsov писал(а):
19 сен 2022, 10:09
конечно, для этого и режим "Как групповой процесс":
Да, но я выбрал функцию добавить файлы по шаблону с форматом .tif.
Т.к. много дополнительных файлов в разделе.
Благодарю за помощь. Хорошего дня! Ловите плюсы в карму) :D

KassenovI
Новоприбывший
Сообщения: 14
Зарегистрирован: 19 сен 2022, 08:41
Репутация: 0
Откуда: Kz

Re: Создание контура - сканированного изображения (tiff) в ArcGis Desktop

Сообщение KassenovI » 19 сен 2022, 10:16

trir писал(а):
19 сен 2022, 10:05
gdaltindex
Обязательно попробую и Ваш вариант.
Благодарю за помощь!

KassenovI
Новоприбывший
Сообщения: 14
Зарегистрирован: 19 сен 2022, 08:41
Репутация: 0
Откуда: Kz

Re: Создание контура - сканированного изображения (tiff) в ArcGis Desktop

Сообщение KassenovI » 19 сен 2022, 12:32

AlexRomantsov писал(а):
19 сен 2022, 09:38
При работе "Извлечь охват слоя" в групповом процессе необходимо заполнить и настроить параметры. Что бы не вписывать в поле каждой строки ручками, можно воспользоваться расчетом выражения. В примере - готовый прототип такого выражения, где "d:/.../shp/" - ваш путь на диске (измените его под себя), общий для всех полученных шейпов с охватами, а " base_file_name( parameter( 'INPUT'))+'.shp" - расчетная часть, использует имя текущего растра и стандартное раcширение shp.
Шейп на каждый растр списка получится примерно таким и по такому размещению: d:/tmp/shp/rastr12345.shp, при выражении 'd:/tmp/shp/' + base_file_name( parameter( 'INPUT'))+'.shp'
Кажется, я не достаточно корректно понял запрос.
Можете помочь разобрать запрос на составляющие?
base_file_name - это название исходного файла
parameter - ??
INPUT - ??
+ - ??
.shp - ???

KassenovI
Новоприбывший
Сообщения: 14
Зарегистрирован: 19 сен 2022, 08:41
Репутация: 0
Откуда: Kz

Re: Создание контура - сканированного изображения (tiff) в ArcGis Desktop

Сообщение KassenovI » 19 сен 2022, 12:37

Снимок экрана 2022-09-19 153046.png
Снимок экрана 2022-09-19 153046.png (59.09 КБ) 904 просмотра
Получается следующий запрос.
Допустим мой название файла исходного файла "123.tif"

AlexRomantsov
Активный участник
Сообщения: 134
Зарегистрирован: 24 мар 2022, 05:54
Репутация: 66
Откуда: Томск

Re: Создание контура - сканированного изображения (tiff) в ArcGis Desktop

Сообщение AlexRomantsov » 19 сен 2022, 12:47

base_file_name - некоторая функция, которая возвращает название файла на входе (параметр INPUT). Таких функций несколько, есть функции, которые вернут полное имя с расширением (file_name() ), есть и такие, которые вернут путь к файлу (file_puth() ). Нам в данном случае нужно было только название исходного растра, и конструктор, который превратит это имя в *.shp.
Т.е. выражение 'd:/tmp/shp/' + base_file_name( parameter( 'INPUT'))+'.shp'
берет 'd:/tmp/shp/',
добавляет к нему имя растра, полученное функцией base_file_name( parameter( 'INPUT')),
и добавляет к нему расширение '.shp' , заодно подсказывая процедуре вычесления охвата, в каком формате сохранить вектор.
Эта функция откинет путь к файлу, откинет расширение tiff, оставит только 123.

KassenovI
Новоприбывший
Сообщения: 14
Зарегистрирован: 19 сен 2022, 08:41
Репутация: 0
Откуда: Kz

Re: Создание контура - сканированного изображения (tiff) в ArcGis Desktop

Сообщение KassenovI » 19 сен 2022, 14:33

AlexRomantsov писал(а):
19 сен 2022, 12:47
base_file_name - некоторая функция, которая возвращает название файла на входе (параметр INPUT). Таких функций несколько, есть функции, которые вернут полное имя с расширением (file_name() ), есть и такие, которые вернут путь к файлу (file_puth() ). Нам в данном случае нужно было только название исходного растра, и конструктор, который превратит это имя в *.shp.
Т.е. выражение 'd:/tmp/shp/' + base_file_name( parameter( 'INPUT'))+'.shp'
берет 'd:/tmp/shp/',
добавляет к нему имя растра, полученное функцией base_file_name( parameter( 'INPUT')),
и добавляет к нему расширение '.shp' , заодно подсказывая процедуре вычесления охвата, в каком формате сохранить вектор.
Эта функция откинет путь к файлу, откинет расширение tiff, оставит только 123.
Благодарю. Разобрался дело было в разницу между знаками \ и /.
В нашем случае мы получаем полигоны, а не контуры. По моим предположениям 10 000 полигонов труднее технически отобразить на карте чем 10 000 контуров.
Можете направить меня или дать идею, как сконвертировать 10 000 полигонов в контуры? :idea:

Ответить

Вернуться в «Я новичок!»

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

Сейчас этот форум просматривают: Maka и 9 гостей