Привязка в MApInfo

MapInfo, MapBasic
Аватара пользователя
Игорь Белов
Гуру
Сообщения: 2241
Зарегистрирован: 04 янв 2011, 22:00
Репутация: 1514
Откуда: Казань

Re: Привязка в MApInfo

Сообщение Игорь Белов » 27 авг 2013, 12:09

Строка Transform должна выглядеть так:

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

Transform 0, 0, 3000000, 4900000
Однако trir прав, вопрос о координатных системах важен. Строка CoordSys должна соотвествовать той координатной системе, в которой Вы хотите увидеть координаты.
The purpose of computing is insight, not numbers

trubachev83
Новоприбывший
Сообщения: 7
Зарегистрирован: 27 авг 2013, 08:16
Репутация: 0

Re: Привязка в MApInfo

Сообщение trubachev83 » 28 авг 2013, 02:28

trir писал(а):А какие у вас СК?
Исходная не знаю, а надо сделать _63 год.

trubachev83
Новоприбывший
Сообщения: 7
Зарегистрирован: 27 авг 2013, 08:16
Репутация: 0

Re: Привязка в MApInfo

Сообщение trubachev83 » 28 авг 2013, 02:33

trubachev83 писал(а):
trir писал(а):А какие у вас СК?
Исходная не знаю, а надо сделать _63 год.
Исходная МСК-79

trir
Гуру
Сообщения: 5355
Зарегистрирован: 09 апр 2010, 19:30
Репутация: 1021
Ваше звание: просто мимо прохожу
Откуда: Ё-бург

Re: Привязка в MApInfo

Сообщение trir » 28 авг 2013, 06:39


Аватара пользователя
Игорь Белов
Гуру
Сообщения: 2241
Зарегистрирован: 04 янв 2011, 22:00
Репутация: 1514
Откуда: Казань

Re: Привязка в MApInfo

Сообщение Игорь Белов » 28 авг 2013, 08:19

Собственно, предложение Transform имеет смысл в том случае, когда исходная и нужная система координат заданы как План-схема. Тогда в строке CoordSys необходимо лишь подправить часть Bounds, чтобы карты влезали в заданные там пределы, т.е. увеличить их на те самые 3000000 и 4900000.
Если исходная и нужная системы координат заданы как картографические проекции, то упражнения с экспортом и импортом MIF/MID и предложением Transform совершенно не нужны.

Экспортируем одну из имеющихся таблиц в MIF и посмотрим на строку CoordSys. Допустим, там написано

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

CoordSys Earth Projection 8, 1001, "m", 133.7166666667, 0, 1, 2300000, -4916586.44 Bounds (-5949281.53901, -14918723.9378) (10549281.539, 5085551.05776)
К двум последним параметрам перед "Bounds" прибавляем 3000000 и 4900000 соответственно, формируем новую строку

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

"Нужная СК зона 5", 8, 1001, 7, 133.7166666667, 0, 1, 5300000, -16586.44
и добавляем её в файл MAPINFO.PRJ, что находится в папке, куда установлена MapInfo.
Если теперь нужен набор файлов, для которых нужная система является родной, просто сохраняем копии таблиц, указывая эту систему. Если же речь идёт о создании карт на Вашей стороне, достаточно указывать нужную проекцию для окна карты, перепроецировать таблицы не обязательно.
The purpose of computing is insight, not numbers

Аватара пользователя
Игорь Белов
Гуру
Сообщения: 2241
Зарегистрирован: 04 янв 2011, 22:00
Репутация: 1514
Откуда: Казань

Re: Привязка в MApInfo

Сообщение Игорь Белов » 28 авг 2013, 08:44

trir писал(а):Похоже зона J...
s/J/G
The purpose of computing is insight, not numbers

trubachev83
Новоприбывший
Сообщения: 7
Зарегистрирован: 27 авг 2013, 08:16
Репутация: 0

Re: Привязка в MApInfo

Сообщение trubachev83 » 30 авг 2013, 05:47

ErnieBoyd писал(а):Собственно, предложение Transform имеет смысл в том случае, когда исходная и нужная система координат заданы как План-схема. Тогда в строке CoordSys необходимо лишь подправить часть Bounds, чтобы карты влезали в заданные там пределы, т.е. увеличить их на те самые 3000000 и 4900000.
Если исходная и нужная системы координат заданы как картографические проекции, то упражнения с экспортом и импортом MIF/MID и предложением Transform совершенно не нужны.

Экспортируем одну из имеющихся таблиц в MIF и посмотрим на строку CoordSys. Допустим, там написано

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

CoordSys Earth Projection 8, 1001, "m", 133.7166666667, 0, 1, 2300000, -4916586.44 Bounds (-5949281.53901, -14918723.9378) (10549281.539, 5085551.05776)
К двум последним параметрам перед "Bounds" прибавляем 3000000 и 4900000 соответственно, формируем новую строку

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

"Нужная СК зона 5", 8, 1001, 7, 133.7166666667, 0, 1, 5300000, -16586.44
и добавляем её в файл MAPINFO.PRJ, что находится в папке, куда установлена MapInfo.
Если теперь нужен набор файлов, для которых нужная система является родной, просто сохраняем копии таблиц, указывая эту систему. Если же речь идёт о создании карт на Вашей стороне, достаточно указывать нужную проекцию для окна карты, перепроецировать таблицы не обязательно.
Вот мой mif:
Version 450
Charset "WindowsCyrillic"
Delimiter ","
CoordSys NonEarth Units "m" Bounds (2375834.633, 460667.57) (2380491.307, 468593.73)
Columns 4
Code Float
Номер_усл_знака Char(10)
Layer Char(50)
Собственное_название Char(50)
Data

Region 1
78
2376402.09 463965.96 и т.д.

Донецков
Гуру
Сообщения: 3058
Зарегистрирован: 19 май 2010, 19:44
Репутация: 189

Re: Привязка в MApInfo

Сообщение Донецков » 30 авг 2013, 08:09

У вас данные в План-схеме:
вариантов 3:
- перевести данные из план-схема в нужную и СК и далее пересчитать из исходной СК в новую СК
- добавлением Transform в mif с импортом в таблицу
- переместить послойно каждую таблицу командой "Переместить" на нужное смещение, только нужно следить, чтобы границы позволили такое смещение, иначе все объекты "сплющаться" ...

Аватара пользователя
Игорь Белов
Гуру
Сообщения: 2241
Зарегистрирован: 04 янв 2011, 22:00
Репутация: 1514
Откуда: Казань

Re: Привязка в MApInfo

Сообщение Игорь Белов » 30 авг 2013, 10:36

Итак, конвертируем план-схему в новую план-схему со смещением. CoordSys в экспортном MIF выглядит так:

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

CoordSys NonEarth Units "m" Bounds (2375834.633, 460667.57) (2380491.307, 468593.73)
Прибавим к значениям Bounds 3000000 и 4900000 соответственно и добавим строку Transform:

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

CoordSys NonEarth Units "m" Bounds (5375834.633, 5360667.57) (5380491.307, 5368593.73)
Transform 0, 0, 3000000, 4900000
Импортируем таблицу. Готово.

Комментарии к вариантам Донецкова. Во всех трёх случаях придётся экспортировать, редактировать MIF, импортировать обратно.
  • Работа с проекциями — идеально для привязки к Земле. Требует некоторых знаний (от топикстартера — хотя бы на какой территории этот объект находится). Не годится, если целевая проекция план-схема.
  • Добавление Transform — изложено выше.
  • Перемещение — неудачный вариант. Предварительно придётся редактировать Bounds так, чтобы влезали объекты как на старых положениях, так и на новых. Поскольку новый BBox будет намного шире, представление координат изменится на менее точное. Однако это мелочь рядом с тем, что после импорта придётся ещё и работать над каждой таблицей.
The purpose of computing is insight, not numbers

Slinger
Гуру
Сообщения: 879
Зарегистрирован: 17 июн 2010, 23:14
Репутация: 207
Откуда: Москва

Re: Привязка в MApInfo

Сообщение Slinger » 30 авг 2013, 11:18

trubachev83

Вы уверены что у Вас данные в МСК79 ? Действительно такие:
2376402.09 463965.96
Я к тому, что в ЕАО, проект по которой мы не так давно сдали, кадастр ведёт в СК63, блок G, зоны 4 и 5.

UPD:

а, всё понял. Просто координаты урезанные.

Донецков
Гуру
Сообщения: 3058
Зарегистрирован: 19 май 2010, 19:44
Репутация: 189

Re: Привязка в MApInfo

Сообщение Донецков » 30 авг 2013, 22:04

Во всех трёх случаях придётся экспортировать, редактировать MIF
ну можно и без этого, если испоьзовать утилиты переобразования ПС/СК, типа ReCalc, да и по изменению экстента есть утилиты..., так что только дерзайте и получится...

trubachev83
Новоприбывший
Сообщения: 7
Зарегистрирован: 27 авг 2013, 08:16
Репутация: 0

Re: Привязка в MApInfo

Сообщение trubachev83 » 02 сен 2013, 04:12

ErnieBoyd писал(а):Итак, конвертируем план-схему в новую план-схему со смещением. CoordSys в экспортном MIF выглядит так:

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

CoordSys NonEarth Units "m" Bounds (2375834.633, 460667.57) (2380491.307, 468593.73)
Прибавим к значениям Bounds 3000000 и 4900000 соответственно и добавим строку Transform:

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

CoordSys NonEarth Units "m" Bounds (5375834.633, 5360667.57) (5380491.307, 5368593.73)
Transform 0, 0, 3000000, 4900000
Импортируем таблицу. Готово.

Комментарии к вариантам Донецкова. Во всех трёх случаях придётся экспортировать, редактировать MIF, импортировать обратно.
  • Работа с проекциями — идеально для привязки к Земле. Требует некоторых знаний (от топикстартера — хотя бы на какой территории этот объект находится). Не годится, если целевая проекция план-схема.
  • Добавление Transform — изложено выше.
  • Перемещение — неудачный вариант. Предварительно придётся редактировать Bounds так, чтобы влезали объекты как на старых положениях, так и на новых. Поскольку новый BBox будет намного шире, представление координат изменится на менее точное. Однако это мелочь рядом с тем, что после импорта придётся ещё и работать над каждой таблицей.
Большое Спасибо, за помощь!!!
Перевел как вы написали, экспортом в mif, потом изменил координаты, дописал строку Transform 0, 0, 3000000, 4900000, и импорт обратно...Все получилось.
Вот только в четырех из 31 таблицы, игрик в первом значении был отрицательным, и во втором значении мало как то цифр чем в остальных таблицах? Но я к этим значениям так же прибавил 4900000 как вы и написали, и вроде все легло как надо...
Я думаю никаких смещений не должно быть!? Всем спасибо за помощь!

Донецков
Гуру
Сообщения: 3058
Зарегистрирован: 19 май 2010, 19:44
Репутация: 189

Re: Привязка в MApInfo

Сообщение Донецков » 02 сен 2013, 06:29

игрик в первом значении был отрицательным, и во втором значении мало как то цифр чем в остальных таблицах
странно, лечь не должны были, т.к. это могли быть данные в какой-то местной 9городской) СК или вообще не привяязанные данные (с минусами встречал, когда экспортировали из Corel)

trubachev83
Новоприбывший
Сообщения: 7
Зарегистрирован: 27 авг 2013, 08:16
Репутация: 0

Re: Привязка в MApInfo

Сообщение trubachev83 » 02 сен 2013, 06:39

Донецков писал(а):
игрик в первом значении был отрицательным, и во втором значении мало как то цифр чем в остальных таблицах
странно, лечь не должны были, т.к. это могли быть данные в какой-то местной 9городской) СК или вообще не привяязанные данные (с минусами встречал, когда экспортировали из Corel)
Вот mif:
Version 450
Charset "WindowsCyrillic"
Delimiter ","
Index 4
CoordSys NonEarth Units "m" Bounds (2314258.01937, -83194.2663237) (2823614.2166, 700297.305555)
Columns 4
Code Float
Номер_усл_зн Char(10)
Layer Char(100)
Характеристика_дорог Char(30)
Data

Region 1
170

trubachev83
Новоприбывший
Сообщения: 7
Зарегистрирован: 27 авг 2013, 08:16
Репутация: 0

Re: Привязка в MApInfo

Сообщение trubachev83 » 02 сен 2013, 06:41

Исправил на:
CoordSys NonEarth Units "m" Bounds (5314258.01937, 4816806.2663237) (5823614.2166, 5600297.305555)
Transform 0, 0, 3000000, 4900000

Ответить

Вернуться в «MapInfo»

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

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