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

Не знаете, где задать вопрос? Задавайте здесь.
KassenovI
Интересующийся
Posts: 15
Joined: 19 Sep 2022, 08:41
Location: Kz

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

Post by KassenovI » 19 Sep 2022, 08:49

Добрый день,

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

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

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

trir
Гуру
Posts: 5264
Joined: 09 Apr 2010, 19:30
Ваше звание: просто мимо прохожу
Location: Ё-бург

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

Post by trir » 19 Sep 2022, 08:59


AlexRomantsov
Завсегдатай
Posts: 276
Joined: 24 Mar 2022, 05:54
Location: Томск

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

Post by AlexRomantsov » 19 Sep 2022, 09:03

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

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

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

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

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

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

KassenovI
Интересующийся
Posts: 15
Joined: 19 Sep 2022, 08:41
Location: Kz

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

Post by KassenovI » 19 Sep 2022, 09:24

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

AlexRomantsov
Завсегдатай
Posts: 276
Joined: 24 Mar 2022, 05:54
Location: Томск

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

Post by AlexRomantsov » 19 Sep 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
Завсегдатай
Posts: 276
Joined: 24 Mar 2022, 05:54
Location: Томск

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

Post by AlexRomantsov » 19 Sep 2022, 09:48

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

KassenovI
Интересующийся
Posts: 15
Joined: 19 Sep 2022, 08:41
Location: Kz

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

Post by KassenovI » 19 Sep 2022, 10:03

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

trir
Гуру
Posts: 5264
Joined: 09 Apr 2010, 19:30
Ваше звание: просто мимо прохожу
Location: Ё-бург

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

Post by trir » 19 Sep 2022, 10:05

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

AlexRomantsov
Завсегдатай
Posts: 276
Joined: 24 Mar 2022, 05:54
Location: Томск

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

Post by AlexRomantsov » 19 Sep 2022, 10:09

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

KassenovI
Интересующийся
Posts: 15
Joined: 19 Sep 2022, 08:41
Location: Kz

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

Post by KassenovI » 19 Sep 2022, 10:15

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

KassenovI
Интересующийся
Posts: 15
Joined: 19 Sep 2022, 08:41
Location: Kz

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

Post by KassenovI » 19 Sep 2022, 10:16

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

KassenovI
Интересующийся
Posts: 15
Joined: 19 Sep 2022, 08:41
Location: Kz

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

Post by KassenovI » 19 Sep 2022, 12:32

AlexRomantsov wrote:
19 Sep 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
Интересующийся
Posts: 15
Joined: 19 Sep 2022, 08:41
Location: Kz

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

Post by KassenovI » 19 Sep 2022, 12:37

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

AlexRomantsov
Завсегдатай
Posts: 276
Joined: 24 Mar 2022, 05:54
Location: Томск

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

Post by AlexRomantsov » 19 Sep 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
Интересующийся
Posts: 15
Joined: 19 Sep 2022, 08:41
Location: Kz

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

Post by KassenovI » 19 Sep 2022, 14:33

AlexRomantsov wrote:
19 Sep 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:

Post Reply

Return to “Я новичок!”

Who is online

Users browsing this forum: Amazon [Bot] and 4 guests