Страница 1 из 1
.wld в .tab пакетно
Добавлено: 04 июл 2011, 23:28
Slinger
Вечер добрый. Встала такая вот тривиальная задача - пакетно перевести пачку файлов .world привязки (в моём случае .tfw) в MI'овский .tab файл привязки. По одному вручную переводить не вариант (либо через сам MapInfo, либо через тулзу GTT). Попытался разобрать GDAL-овские библиотеки, но файл привязки .tab там отсутствует. Ходила мысль написать скрипт для global mapper'a, но он опять же хочет экспортировать растр и только при экспорте создать .tab файл, что хоть и является вариантом, но не очень правильным, так как придётся пересохранять растр.
Вот такая вот задачка =)
Re: .wld в .tab пакетно
Добавлено: 04 июл 2011, 23:41
Александр Мурый
Нашёл здесь на форуме упоминание про некую утилиту
wld2tab .
Re: .wld в .tab пакетно
Добавлено: 05 июл 2011, 00:25
Slinger
Вы меня спасли, огромное спасибо! Надо будет для верности ещё обратный обработчик найти =)
Re: .wld в .tab пакетно
Добавлено: 05 июл 2011, 08:25
Mitrich
для тиффов можно использовать и GTT
http://www.npgc.pl/index.php/gtt/
у предыдущего модуля есть ограничение -не обрабатывает "повернутые" файлы привязки. т.е. те, в которых параметр поворота <>0
http://www.geofaq.ru/art/2wld.shtm#2
Re: .wld в .tab пакетно
Добавлено: 05 июл 2011, 08:30
Slinger
Спасибо за уточнение, у меня благо файлов с поворотом мало. Я кстати так понимаю, поддержка "повёрнутых" .world файл не была добавлена, так как по какому алгориму осуществляется поворот просто не разобрали ?
GTT не обрабатывает пакетно, я уже уточнил об этом в первом посте.
Re: .wld в .tab пакетно
Добавлено: 05 июл 2011, 08:49
Voltron
В свое время писал пакетный конвертор в обе стороны (wld->tab, tab->wld). Если надо, могу поискать архив. Только файлы с поворотом он тоже не обрабатывает, у нас таких не водилось.
Re: .wld в .tab пакетно
Добавлено: 05 июл 2011, 12:21
Slinger
Voltron писал(а):В свое время писал пакетный конвертор в обе стороны (wld->tab, tab->wld). Если надо, могу поискать архив. Только файлы с поворотом он тоже не обрабатывает, у нас таких не водилось.
Было бы замечательно

Re: .wld в .tab пакетно
Добавлено: 05 июл 2011, 13:08
Olga_@@@
а, зачем переводить? MI умеет читать .wld
Re: .wld в .tab пакетно
Добавлено: 05 июл 2011, 18:56
Slinger
а, зачем переводить? MI умеет читать .wld
1) читает на один раз - дальше в любом случае создаст .tab и будет информацию читать из него, так как приоритет выше
2) .wld плоский, а мне ещё и проекция нужна, которая опять же только в табе
Re: .wld в .tab пакетно
Добавлено: 05 июл 2011, 19:36
Voltron
Voltron писал(а):В свое время писал пакетный конвертор в обе стороны (wld->tab, tab->wld). Если надо, могу поискать архив. Только файлы с поворотом он тоже не обрабатывает, у нас таких не водилось.
Надо же... сохранился.
Re: .wld в .tab пакетно
Добавлено: 06 июл 2011, 12:19
Slinger
Voltron
Погонял Вашу утилиту из .w в .tab, есть один нюанс:
Код: Выделить всё
Definition Table
FILE "test.jpg"
Type "RASTER"
(7490631,5309318) (0,0) Label "A",
(7500013,5309318) (4096,0) Label "B",
(7490631,5299937) (0,4096) Label "C",
(7500013,5299937) (4096,4096) Label "D",
CoordSys NonEarth Units "m"
Units "m"
После Label "D" всегда ставится запятая, тем самым MapInfo ждём 5-ю точку для регистрации и не найдя её выкидывает ошибку. Запятой там быть не должно, соответственно. Можно конечно это всё поправить пакетно в обычном текстовом редакторе, однако... баг ?
Re: .wld в .tab пакетно
Добавлено: 20 июл 2011, 15:52
Olga_@@@
Slinger писал(а):а, зачем переводить? MI умеет читать .wld
1) читает на один раз - дальше в любом случае создаст .tab и будет информацию читать из него, так как приоритет выше
2) .wld плоский, а мне ещё и проекция нужна, которая опять же только в табе
Я чего-то не понимаю наверно, но мне казалось, что это и требовалось - один раз все прочитать и автоматически создать tab-ы. А, сведений о проекции у вас все равно в исходных данных нет, потому что это wld. Откуда конвертер проекцию возьмет, если нет данных?
Re: .wld в .tab пакетно
Добавлено: 21 июл 2011, 02:04
Boris
MapInfo умеет читать Wld привязку, более того последние версии умеют читать и PRJ файл, если он имеет то же самое имя, что растр и wld.
Есть одно неудобство можно выбрать много файлов wld, но открываться они будут все равно по одному - на каждый растр Mapinfo будет выдавать диалог "укажите параметры проекции или выполните регистрацию". Даже в том случае, если она нашла PRJ файл и правильно его преобразовала в свою строку проекции.
---
Тема вроде уже обсуждалась несколько раз и программы к ней выкладывались. Как-то раз даже GDAL припутывался к этой проблеме. Он точно умеет читать привязку Mapinfo, вот только уже не помню, как надо было указать, что бы он растр не переделывал, а только создал для него файл привязки.
Re: .wld в .tab пакетно
Добавлено: 17 мар 2012, 00:36
alma.azik
по поводу GTT. Пакетно не умеет, но в графическом интерфейсе можно выбрать очень много файликов.
по поводу МапИнфо. Для того чтоб каждый раз не указывать проекцию при открытии растров - укажите ее один раз перед конвертацией в настройки-режимы-окно карты-проекции-проекции по умолчанию.
Выберете в диалоге открытия таблиц много растров поставьте что нибудь тяжелое на клавишу энтер и идите пить чай))
Для ускорения процесса надо мапинфе запретить прорисовку растров - при открытии укажите"представление"-"скрыть"
По количеству открываемых файлов - есть ограничение, это общая длина строковых параметров приложений виндовс (32767 символов). Если привысить его - то МИ просто ничего не выполняет.