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

Изменение файла привязки

Добавлено: 26 окт 2013, 19:12
zpo
Здравствуйте!
Подскажите, пожалуйста, каким образом можно решить следующую задачу:
Есть TAB-файлы привязки растров: например:
!table
!version 300
!charset WindowsCyrillic

Definition Table
File "2012-13.jpg"
Type "RASTER"
(1298210.8668235,377904.64177649998) (0,0) Label "Pt 1",
(1298496.0222815,377904.64177649998) (2786,0) Label "Pt 2",
(1298210.8668235,377687.85812250001) (0,2786) Label "Pt 3"
CoordSys NonEarth Units "m"
Units "m"

Есть TAB с прямоугольной сеткой, в таблице только названия листов.
Нужно заменить во всех (их большое количество) файлах привязки координаты трех углов в метрах на координаты углов соответствующих листов прямоугольной сетки.
Заранее хочу сказать, что если решение как-то связано с минимальным даже программированием, то большая просьба: как можно подробней описать, что нужно сделать, так как с программированием, к сожалению, совсем не дружу. :(
Заранее спасибо!

Re: Изменение файла привязки

Добавлено: 26 окт 2013, 20:18
Александр Мурый
А что здесь вообще можно предложить кроме работы руками или программирования? Написать скрипт, например, на Python с использованием библиотеки OGR (ну или на родном для MapInfo мапбэйсике). Проблема в том, что объяснить "в двух словах" не получится, надо работать над этой задачей.

Re: Изменение файла привязки

Добавлено: 26 окт 2013, 20:23
zpo
А для того, чтобы вытащить координаты трех углов листов сетки в таблицу, тоже без программирования не обойтись?
эх, если "да", то вероятней всего руками придется работать.

Re: Изменение файла привязки

Добавлено: 26 окт 2013, 22:22
Дмитрий Барышников
Выполните gdalinfo для одно из ваших растров. Это консольная утилита.
Команда: gdalinfo <путь до растра> и скиньте сюда ее вывод.
Сам gdalinfo можно взять здесь: http://trac.osgeo.org/gdal/wiki/DownloadingGdalBinaries

P.S. еще вывод версии gdalinfo.
Команда gdalinfo -v

Re: Изменение файла привязки

Добавлено: 27 окт 2013, 12:02
zpo
Дмитрий Барышников писал(а):Выполните gdalinfo для одно из ваших растров. Это консольная утилита.
Команда: gdalinfo <путь до растра> и скиньте сюда ее вывод.
Сам gdalinfo можно взять здесь: http://trac.osgeo.org/gdal/wiki/DownloadingGdalBinaries

P.S. еще вывод версии gdalinfo.
Команда gdalinfo -v
После gdalinfo <путь до растра> появилось много строк: имя файла, размер, координаты углов растра и т.д.
дальше ввожу gdalinfoПРОБЕЛ-v и ошибку пишет (см. вложение pic_1).
:( еще раз прошу простить мою безграмотность в программировании. что-то, видимо, не так поняла.

Re: Изменение файла привязки

Добавлено: 27 окт 2013, 13:55
Александр Мурый
Лучше выложите в заархивированном виде TAB с прямоугольной сеткой.

Re: Изменение файла привязки

Добавлено: 27 окт 2013, 14:03
zpo
сетка TAB

Re: Изменение файла привязки

Добавлено: 27 окт 2013, 17:01
Александр Мурый
Т.к. имени растра "2012-13.jpg" в таблице атрибутов сетки не нашёл, то приведу пример изменённого файла привязки для листа "1628-02" (в поле "pl2000" это ведь номера листов, так)?

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

!table
!version 300
!charset WindowsCyrillic

Definition Table
File "1628-02.jpg"
Type "RASTER"
(109000 64000) (0,0) Label "Pt 1",
(110000 64000) (2786,0) Label "Pt 2",
(109000 63000) (0,2786) Label "Pt 3"
CoordSys NonEarth Units "m"
Units "m"

Посмотрите, садится ли теперь растр "1628-02.jpg" в нужную ячейку сетки?

Re: Изменение файла привязки

Добавлено: 27 окт 2013, 17:11
Дмитрий Барышников
Прошу прощения - напутал.
Надо не -v а --version

gdalinfoПРОБЕЛ--version

Но это не принципиально, вы самое главное не дали - вывод gdalinfo путь до файла. Если сложно скопировать из консоли, можно перенаправить в файл следующим образом:
gdalinfo <путь до файла> > c:/log.txt

и приложить файл к сообщению.

P.S. если в выводе будут координаты, то вашу кучу файлов можно будет попробовать перепроецировать при помощи gdalwarp или gdalbuildvrt. Единственная сложность, которая пока видится, у вас система координат МСК. Но для начала нужен вывод.

Re: Изменение файла привязки

Добавлено: 28 окт 2013, 08:35
zpo
Александр Мурый писал(а):Т.к. имени растра "2012-13.jpg" в таблице атрибутов сетки не нашёл, то приведу пример изменённого файла привязки для листа "1628-02" (в поле "pl2000" это ведь номера листов, так)?

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

!table
!version 300
!charset WindowsCyrillic

Definition Table
File "1628-02.jpg"
Type "RASTER"
(109000 64000) (0,0) Label "Pt 1",
(110000 64000) (2786,0) Label "Pt 2",
(109000 63000) (0,2786) Label "Pt 3"
CoordSys NonEarth Units "m"
Units "m"

Посмотрите, садится ли теперь растр "1628-02.jpg" в нужную ячейку сетки?
Да, совершенно верно, "2012-13.jpg" нет в списке. Для примера (не было настоящих файлов под рукой) выдумала, но неудачно. Извините, пожалуйста. Да, в поле "pl2000" - номера листов.
Да, координаты углов листа метровые совпадают с координатами углов ячейки сетки.
Вот только разрешение реально (опять же моё упущение) 8333х8333. Поэтому вместо 2786 - 8333.

Re: Изменение файла привязки

Добавлено: 28 окт 2013, 08:50
Александр Мурый
Все листы, получается, должны иметь одинаковый размер и идентичную привязку по углам, так?
Типа такой, только с разными метровыми координатами привязки:

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

(0,0) Label "Pt 1",
(8333,0) Label "Pt 2",
(0,8333) Label "Pt 3"
Это может быть важно при автоматизации процесса.

Кстати, приведите всё-таки вывод <gdalinfo> для какого-нибудь растра (того же "1628-02.jpg"), как просил Дмитрий.

Re: Изменение файла привязки

Добавлено: 28 окт 2013, 09:16
zpo
Александр Мурый писал(а):Все листы, получается, должны иметь одинаковый размер и идентичную привязку по углам, так?
Типа такой, только с разными метровыми координатами привязки:

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

(0,0) Label "Pt 1",
(8333,0) Label "Pt 2",
(0,8333) Label "Pt 3"
Это может быть важно при автоматизации процесса.

Кстати, приведите всё-таки вывод <gdalinfo> для какого-нибудь растра (того же "1628-02.jpg"), как просил Дмитрий.
да, одинаковые пиксельные.
по поводу gdalinfo: через некоторое время. некоторая проблема - пустой текстовый почему-то создается файл.

Re: Изменение файла привязки

Добавлено: 28 окт 2013, 12:13
zpo
Дмитрий Барышников писал(а):Прошу прощения - напутал.
Надо не -v а --version

gdalinfoПРОБЕЛ--version

Но это не принципиально, вы самое главное не дали - вывод gdalinfo путь до файла. Если сложно скопировать из консоли, можно перенаправить в файл следующим образом:
gdalinfo <путь до файла> > c:/log.txt

и приложить файл к сообщению.

P.S. если в выводе будут координаты, то вашу кучу файлов можно будет попробовать перепроецировать при помощи gdalwarp или gdalbuildvrt. Единственная сложность, которая пока видится, у вас система координат МСК. Но для начала нужен вывод.
С горем пополам выгрузила в текстовый файл gdalinfo.
Когда вводила --version, мне выходила только версия программы GDAL 1.10.1 и т.д.
Долго создавался еще пустой txt, пока не перенесла папку с GDAL на диск C. (( тупила долго.

Re: Изменение файла привязки

Добавлено: 28 окт 2013, 12:21
zpo
Я еще хотела сказать, что буквально недавно как таковая производственная необходимость решения этой задачи исчезла. Но остался лишь мой интерес.
Так что, все откликнувшиеся, если это занимает время много и проч., не тратьте его. В любом случае, всем большое спасибо!