Перепроецирование MapInfo

Ответить
DimonSpb
Интересующийся
Сообщения: 17
Зарегистрирован: 26 ноя 2008, 22:10
Репутация: 1

Перепроецирование MapInfo

Сообщение DimonSpb »

Хочу задать СК (EPSG:28409) для файла MapInfo (исходная СК: План-схема):

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

ogr2ogr -a_srs "EPSG:28409" -f "MapInfo file" "C:\110510_2.tab" "C:\110510.tab"
Получаю пустой файл. Что делаю не так?
Voltron
Гуру
Сообщения: 2627
Зарегистрирован: 29 мар 2007, 14:12
Репутация: 34
Откуда: Ukraine

Re: Перепроецирование MapInfo

Сообщение Voltron »

Пример файла можно?
DimonSpb
Интересующийся
Сообщения: 17
Зарегистрирован: 26 ноя 2008, 22:10
Репутация: 1

Re: Перепроецирование MapInfo

Сообщение DimonSpb »

Voltron
Гуру
Сообщения: 2627
Зарегистрирован: 29 мар 2007, 14:12
Репутация: 34
Откуда: Ukraine

Re: Перепроецирование MapInfo

Сообщение Voltron »

Хм... У меня и оригинальный файл открывается не как слой, а как обычная таблица. Такое впечатление, что геометрии там нет.
DimonSpb
Интересующийся
Сообщения: 17
Зарегистрирован: 26 ноя 2008, 22:10
Репутация: 1

Re: Перепроецирование MapInfo

Сообщение DimonSpb »

Voltron писал(а):геометрии там нет
Вы абсолютно правы.
Изначально пытаюсь получить из csv-файла файл в mapinfo. Согласно документации сsv-файл содержать "признак" СК данных не может, а с vrt-файлом не получилось, поэтому разбил задачу на 3:
1. получение из csv таблицы в mapinfo в СК "План-схема".
2. присвоение полученной таблице необходимой СК.
3. создание "графики".
ИМХО все три задачи можно решить с помощью ogr, но споткнулся уже на второй...
Исходный CSV.
Voltron
Гуру
Сообщения: 2627
Зарегистрирован: 29 мар 2007, 14:12
Репутация: 34
Откуда: Ukraine

Re: Перепроецирование MapInfo

Сообщение Voltron »

Вы пытаетесь назначить СК таблице без геометрии, поэтому у вас ничего и не получается. Чтобы получить желаемо нужно указать OGR, что в CSV есть геометрия. Это делается при помощи VRT.
Рядом с CSV cоздаете файл 110510.vrt

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

<OGRVRTDataSource>
    <OGRVRTLayer name="110510">
        <LayerSRS>WGS84</LayerSRS>
        <SrcDataSource>110510.csv</SrcDataSource>
        <GeometryType>wkbPoint</GeometryType>
        <GeometryField encoding="PointFromColumns" x="X" y="Y"/>
    </OGRVRTLayer>
</OGRVRTDataSource>
Потом в командной строке выполняете

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

ogr2ogr -a_srs EPSG:28409 -f "MapInfo File" 110510.tab 110510.vrt
Почитате статью, там достаточно подробно описано что и почему
DimonSpb
Интересующийся
Сообщения: 17
Зарегистрирован: 26 ноя 2008, 22:10
Репутация: 1

Re: Перепроецирование MapInfo

Сообщение DimonSpb »

С WGS84 в vrt файле у меня не получилось... Зато с параметрами 9 зоны получил файлы MapInfo в заданной СК.

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

<OGRVRTDataSource>
    <OGRVRTLayer name="110510">
        <LayerSRS>PROJCS["unnamed",
    GEOGCS["unnamed",
        DATUM["Pulkovo_1942",
            SPHEROID["Krassovsky",6378245,298.3],
            TOWGS84[24,-123,-94,0.02,-0.25,-0.13,1.1]],
        PRIMEM["Greenwich",0],
        UNIT["degree",0.0174532925199433]],
    PROJECTION["Transverse_Mercator"],
    PARAMETER["latitude_of_origin",0],
    PARAMETER["central_meridian",51],
    PARAMETER["scale_factor",1],
    PARAMETER["false_easting",9500000],
    PARAMETER["false_northing",0],
    UNIT["Meter",1.0]]</LayerSRS>
        <SrcDataSource>110510.csv</SrcDataSource>
        <GeometryType>wkbPoint</GeometryType>
        <GeometryField encoding="PointFromColumns" x="Y" y="X"/>
    </OGRVRTLayer>
</OGRVRTDataSource>
А вот изменить СК не получается (исходный файл содержит "графику" в СК 9 зона (Пулкова 1942)):

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

ogr2ogr -a_srs EPSG:28409 -f "MapInfo File" 110510_2.tab 110510.tab
Получаю пустые файлы.
Voltron
Гуру
Сообщения: 2627
Зарегистрирован: 29 мар 2007, 14:12
Репутация: 34
Откуда: Ukraine

Re: Перепроецирование MapInfo

Сообщение Voltron »

Что-то я не пойму. Исходные данные у вас в EPSG:28409, так? Тогда зачем все эти пляски с назначением проекции, зачем зря усложнять? Просто в VRT впишите

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

<LayerSRS>EPSG:28409</LayerSRS>
и выполните

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

ogr2ogr -f "MapInfo File" 110510.tab 110510.vrt
DimonSpb
Интересующийся
Сообщения: 17
Зарегистрирован: 26 ноя 2008, 22:10
Репутация: 1

Re: Перепроецирование MapInfo

Сообщение DimonSpb »

Voltron писал(а):зачем все эти пляски с назначением проекции
Есть функция у оgr2ogr. У меня она не работает, законное желание узнать "почему".

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

<LayerSRS>EPSG:28409</LayerSRS>
Этот вариант у меня не прокатывает. Как версия: для MapInfo не поддерживается "EPSG-кодификация" СК. :(
Какие еще возможны варианты задания СК без формирования vrt-файла? Или что я делаю не так?
Ответить

Вернуться в «GDAL/OGR»

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость