Страница 1 из 1
					
				Перепроецирование MapInfo
				Добавлено: 11 дек 2011, 15:22
				 DimonSpb
				Хочу задать СК (EPSG:28409) для файла MapInfo (исходная СК:  План-схема):
Код: Выделить всё
ogr2ogr -a_srs "EPSG:28409" -f "MapInfo file" "C:\110510_2.tab" "C:\110510.tab"
Получаю пустой файл. Что делаю не так?
 
			
					
				Re: Перепроецирование MapInfo
				Добавлено: 11 дек 2011, 15:57
				 Voltron
				Пример файла можно?
			 
			
					
				Re: Перепроецирование MapInfo
				Добавлено: 11 дек 2011, 16:23
				 DimonSpb
				
			 
			
					
				Re: Перепроецирование MapInfo
				Добавлено: 11 дек 2011, 16:50
				 Voltron
				Хм... У меня и оригинальный файл открывается не как слой, а как обычная таблица. Такое впечатление, что геометрии там нет.
			 
			
					
				Re: Перепроецирование MapInfo
				Добавлено: 11 дек 2011, 17:30
				 DimonSpb
				Voltron писал(а):геометрии там нет
Вы абсолютно правы.
Изначально пытаюсь получить из csv-файла файл в mapinfo. Согласно документации сsv-файл содержать "признак" СК данных не может, а с vrt-файлом не получилось, поэтому разбил задачу на 3:
1. получение из csv таблицы в mapinfo в СК "План-схема".
2. присвоение полученной таблице необходимой СК.
3. создание "графики".
ИМХО все три задачи можно решить с помощью ogr, но споткнулся уже на второй...
Исходный CSV.
 
			
					
				Re: Перепроецирование MapInfo
				Добавлено: 12 дек 2011, 22:50
				 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
Почитате 
статью, там достаточно подробно описано что и почему
 
			
					
				Re: Перепроецирование MapInfo
				Добавлено: 13 дек 2011, 08:24
				 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
Получаю пустые файлы.
 
			
					
				Re: Перепроецирование MapInfo
				Добавлено: 13 дек 2011, 11:25
				 Voltron
				Что-то я не пойму. Исходные данные у вас в EPSG:28409, так? Тогда зачем все эти пляски с назначением проекции, зачем зря усложнять? Просто в VRT впишите
и выполните
Код: Выделить всё
ogr2ogr -f "MapInfo File" 110510.tab 110510.vrt
 
			
					
				Re: Перепроецирование MapInfo
				Добавлено: 13 дек 2011, 17:52
				 DimonSpb
				Voltron писал(а):зачем все эти пляски с назначением проекции
Есть функция у оgr2ogr. У меня она не работает, законное желание узнать "почему". 
Этот вариант у меня не прокатывает. Как версия: для MapInfo не поддерживается "EPSG-кодификация" СК. 
 
 
Какие еще возможны варианты задания СК без формирования vrt-файла? Или что я делаю не так?