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

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

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

Сообщение DimonSpb » 11 дек 2011, 15:22

Хочу задать СК (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 » 11 дек 2011, 15:57

Пример файла можно?

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

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

Сообщение DimonSpb » 11 дек 2011, 16:23


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

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

Сообщение Voltron » 11 дек 2011, 16:50

Хм... У меня и оригинальный файл открывается не как слой, а как обычная таблица. Такое впечатление, что геометрии там нет.

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

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

Сообщение DimonSpb » 11 дек 2011, 17:30

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

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

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

Сообщение Voltron » 12 дек 2011, 22:50

Вы пытаетесь назначить СК таблице без геометрии, поэтому у вас ничего и не получается. Чтобы получить желаемо нужно указать 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 » 13 дек 2011, 08:24

С 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 » 13 дек 2011, 11:25

Что-то я не пойму. Исходные данные у вас в 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 » 13 дек 2011, 17:52

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

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

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

Ответить

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

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

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