Создание контура - сканированного изображения (tiff) в ArcGis Desktop
-
- Интересующийся
- Сообщения: 15
- Зарегистрирован: 19 сен 2022, 08:41
- Репутация: 0
- Откуда: Kz
Создание контура - сканированного изображения (tiff) в ArcGis Desktop
Добрый день,
Прошу помочь и/или посоветовать как решить проблему с созданием контура(границ) сканированного изображения.
Имеется более 10000 сканированных изображений различных карт, для лучшей навигации хотел бы создать для каждого контур в формате shape. К примеру я выделяю какую-то область в программе - и могу определить какие карты находятся там, за счет контуров.
Основная цель это упрощенная навигация по сканированным изображениям.
с уважением и без негатива)
Прошу помочь и/или посоветовать как решить проблему с созданием контура(границ) сканированного изображения.
Имеется более 10000 сканированных изображений различных карт, для лучшей навигации хотел бы создать для каждого контур в формате shape. К примеру я выделяю какую-то область в программе - и могу определить какие карты находятся там, за счет контуров.
Основная цель это упрощенная навигация по сканированным изображениям.
с уважением и без негатива)
-
- Гуру
- Сообщения: 5298
- Зарегистрирован: 09 апр 2010, 19:30
- Репутация: 1015
- Ваше звание: просто мимо прохожу
- Откуда: Ё-бург
-
- Завсегдатай
- Сообщения: 328
- Зарегистрирован: 24 мар 2022, 05:54
- Репутация: 141
- Ваше звание: хм, сам не знал
- Откуда: Томск
Re: Создание контура - сканированного изображения (tiff) в ArcGis Desktop
В ArcGis не помню, и под рукой нет, а в QGIS можно так:
В QGIS, в "пустой" (без растров) карте,
Делаем раз:
Анализ данных - Инструмент работы со слоями - Извлечь охват слоя - Запускать как групповой процесс
Исходный слой - Автозаполнение - Выбрать файлы (Ваши растры с геопривязкой).
Охват (результат в шейп): Автозаполнение - Расчитать выражением (путь и имя шейпа)
'd:/.../shp/' + base_file_name( parameter( 'INPUT'))+'.shp'
Запускаем.
После завершения процедуры в указанном месте шейпы, по одному на каждый растр.
Делаем два:
Собрать шейпы в один и открыть его в карте: Вектор - Управление данными - Объеденить векторные слои (можно также из файлов на диске, а не слоев карты).
Получим один шейп со всеми границами растров, в атрибутах координаты углов и имя растра (путь и имя исходного шейпа). Последнее поле лучше допилить калькулятором полей, убрать из него путь, заменить *.shp на *.tif.
В QGIS, в "пустой" (без растров) карте,
Делаем раз:
Анализ данных - Инструмент работы со слоями - Извлечь охват слоя - Запускать как групповой процесс
Исходный слой - Автозаполнение - Выбрать файлы (Ваши растры с геопривязкой).
Охват (результат в шейп): Автозаполнение - Расчитать выражением (путь и имя шейпа)
'd:/.../shp/' + base_file_name( parameter( 'INPUT'))+'.shp'
Запускаем.
После завершения процедуры в указанном месте шейпы, по одному на каждый растр.
Делаем два:
Собрать шейпы в один и открыть его в карте: Вектор - Управление данными - Объеденить векторные слои (можно также из файлов на диске, а не слоев карты).
Получим один шейп со всеми границами растров, в атрибутах координаты углов и имя растра (путь и имя исходного шейпа). Последнее поле лучше допилить калькулятором полей, убрать из него путь, заменить *.shp на *.tif.
Последний раз редактировалось AlexRomantsov 21 сен 2022, 08:54, всего редактировалось 1 раз.
-
- Интересующийся
- Сообщения: 15
- Зарегистрирован: 19 сен 2022, 08:41
- Репутация: 0
- Откуда: Kz
Re: Создание контура - сканированного изображения (tiff) в ArcGis Desktop
Не совсем понял эту часть, а точнее выражение.AlexRomantsov писал(а): ↑19 сен 2022, 09:03Охват (результат в шейп): Автозаполнение - Расчитать выражением (путь и имя шейпа)
'd:/.../shp/' + base_file_name( parameter( 'INPUT'))+'.shp'
Можете поподробнее, если можно?
-
- Завсегдатай
- Сообщения: 328
- Зарегистрирован: 24 мар 2022, 05:54
- Репутация: 141
- Ваше звание: хм, сам не знал
- Откуда: Томск
Re: Создание контура - сканированного изображения (tiff) в ArcGis Desktop
При работе "Извлечь охват слоя" в групповом процессе необходимо заполнить и настроить параметры. Что бы не вписывать в поле каждой строки ручками, можно воспользоваться расчетом выражения. В примере - готовый прототип такого выражения, где "d:/.../shp/" - ваш путь на диске (измените его под себя), общий для всех полученных шейпов с охватами, а " base_file_name( parameter( 'INPUT'))+'.shp" - расчетная часть, использует имя текущего растра и стандартное раcширение shp.
Шейп на каждый растр списка получится примерно таким и по такому размещению: d:/tmp/shp/rastr12345.shp, при выражении 'd:/tmp/shp/' + base_file_name( parameter( 'INPUT'))+'.shp'
Шейп на каждый растр списка получится примерно таким и по такому размещению: d:/tmp/shp/rastr12345.shp, при выражении 'd:/tmp/shp/' + base_file_name( parameter( 'INPUT'))+'.shp'
-
- Завсегдатай
- Сообщения: 328
- Зарегистрирован: 24 мар 2022, 05:54
- Репутация: 141
- Ваше звание: хм, сам не знал
- Откуда: Томск
Re: Создание контура - сканированного изображения (tiff) в ArcGis Desktop
В целом, полезная штука, которая позволяет в векторном слое выделить все растры (их векторные охваты) в нужной области, экспортировать этот список (названия растров) в csv/xls, и затем применить этот список как маску для выделения растров на диске (в ОС), ну например что бы скопировать их ...
-
- Интересующийся
- Сообщения: 15
- Зарегистрирован: 19 сен 2022, 08:41
- Репутация: 0
- Откуда: Kz
Re: Создание контура - сканированного изображения (tiff) в ArcGis Desktop
Благодарю за ответ.AlexRomantsov писал(а): ↑19 сен 2022, 09:48В целом, полезная штука, которая позволяет в векторном слое выделить все растры (их векторные охваты) в нужной области, экспортировать этот список (названия растров) в csv/xls, и затем применить этот список как маску для выделения растров на диске (в ОС), ну например что бы скопировать их ...
На единичном примере сработало.
Можно ли это выполнить на большем количестве?
-
- Гуру
- Сообщения: 5298
- Зарегистрирован: 09 апр 2010, 19:30
- Репутация: 1015
- Ваше звание: просто мимо прохожу
- Откуда: Ё-бург
Re: Создание контура - сканированного изображения (tiff) в ArcGis Desktop
gdaltindexМожно ли это выполнить на большем количестве?
-
- Завсегдатай
- Сообщения: 328
- Зарегистрирован: 24 мар 2022, 05:54
- Репутация: 141
- Ваше звание: хм, сам не знал
- Откуда: Томск
Re: Создание контура - сканированного изображения (tiff) в ArcGis Desktop
конечно, для этого и режим "Как групповой процесс":
-
- Интересующийся
- Сообщения: 15
- Зарегистрирован: 19 сен 2022, 08:41
- Репутация: 0
- Откуда: Kz
Re: Создание контура - сканированного изображения (tiff) в ArcGis Desktop
Да, но я выбрал функцию добавить файлы по шаблону с форматом .tif.
Т.к. много дополнительных файлов в разделе.
Благодарю за помощь. Хорошего дня! Ловите плюсы в карму)
-
- Интересующийся
- Сообщения: 15
- Зарегистрирован: 19 сен 2022, 08:41
- Репутация: 0
- Откуда: Kz
-
- Интересующийся
- Сообщения: 15
- Зарегистрирован: 19 сен 2022, 08:41
- Репутация: 0
- Откуда: Kz
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'
Можете помочь разобрать запрос на составляющие?
base_file_name - это название исходного файла
parameter - ??
INPUT - ??
+ - ??
.shp - ???
-
- Интересующийся
- Сообщения: 15
- Зарегистрирован: 19 сен 2022, 08:41
- Репутация: 0
- Откуда: Kz
Re: Создание контура - сканированного изображения (tiff) в ArcGis Desktop
Допустим мой название файла исходного файла "123.tif"
-
- Завсегдатай
- Сообщения: 328
- Зарегистрирован: 24 мар 2022, 05:54
- Репутация: 141
- Ваше звание: хм, сам не знал
- Откуда: Томск
Re: Создание контура - сканированного изображения (tiff) в ArcGis Desktop
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.
Т.е. выражение 'd:/tmp/shp/' + base_file_name( parameter( 'INPUT'))+'.shp'
берет 'd:/tmp/shp/',
добавляет к нему имя растра, полученное функцией base_file_name( parameter( 'INPUT')),
и добавляет к нему расширение '.shp' , заодно подсказывая процедуре вычесления охвата, в каком формате сохранить вектор.
Эта функция откинет путь к файлу, откинет расширение tiff, оставит только 123.
-
- Интересующийся
- Сообщения: 15
- Зарегистрирован: 19 сен 2022, 08:41
- Репутация: 0
- Откуда: Kz
Re: Создание контура - сканированного изображения (tiff) в ArcGis Desktop
Благодарю. Разобрался дело было в разницу между знаками \ и /.AlexRomantsov писал(а): ↑19 сен 2022, 12:47base_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 полигонов в контуры?
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость