Страница 1 из 1
Помогите привязать карту Китая
Добавлено: 26 июл 2013, 03:38
kazakov.gis
Привет всем. Люди добрые помогите выбрать проекцию для привязки тематической мелкомасштабной карты Китая.
Ссылка на карту
http://www.asia-business.ru/karta/.
перебрал все конические и равноугольные проекции в MapInfo не одна не дает корректной привязки. Как быть не знаю. Весь инет уже перерыл.
Re: Помогите привязать карту Китая
Добавлено: 26 июл 2013, 04:12
Sibit
Выбираете проекцию Долглта-Широта, вроде должно получиться. А что именно не так?
Re: Помогите привязать карту Китая
Добавлено: 26 июл 2013, 05:40
kazakov.gis
Карта при привязке по сетке не ложиться на исходные вектора, точнее ложиться но не так точно как хотелось бы. Как я понимаю Долгота Широта здесь не пойдет ведь это мелкомасштабная карта и здесь должна быть либо равноугольная либо коническая проекция. Минимальные искажения которых мне удалось добиться (20, 30, 40 пик в окне привязки MapInfo) как не странно получаются при привязке в равноугольной проекции США. Вот я ниче и не пойму. Как так!!
Re: Помогите привязать карту Китая
Добавлено: 26 июл 2013, 06:59
gamm
kazakov.gis писал(а):в окне привязки MapInfo
в Мапинфо лучше такие вещи не делать. Нужно снять сетку пересечений в градусах и единицах карты (хоть в пикселях, которыек по масштабу пересчитать в метры),и запустить скрипт по подбору проекции через PROG4 (например, в R), с шагом примерно градус - полградуса, и разными вариантами проекций. За часок найдете, средний меридиан похоже 100 или около. Минимизировать нужно дисперсию невязок, получите параметры с точностью до линейного сдвига, потом пересчитаете по одной точке.
Re: Помогите привязать карту Китая
Добавлено: 26 июл 2013, 11:53
rhot
gamm писал(а):Нужно снять сетку пересечений в градусах и единицах карты (хоть в пикселях, которыек по масштабу пересчитать в метры),и запустить скрипт по подбору проекции через PROG4 (например, в R), с шагом примерно градус - полградуса, и разными вариантами проекций. За часок найдете, средний меридиан похоже 100 или около. Минимизировать нужно дисперсию невязок, получите параметры с точностью до линейного сдвига, потом пересчитаете по одной точке.
Интересный подход. А подходит для векторных данных с неизвестной проекцией, если известно что система координат прямоугольная и имеются точные уже привязанные данные в таких же границах?
Re: Помогите привязать карту Китая
Добавлено: 26 июл 2013, 12:34
paleogis
Вы зачем-то создали
такой же топик в разделе координаты и привязка ( я его удалил

).Из раздела общие вопросы перенес этот топик в раздел координаты и привязка. По существу вопроса
см здесь. Привязывайте изображение как неизвестную проекцию, сажайте побольше точек на координатную сетку, гидрографию, береговые линии.
Re: Помогите привязать карту Китая
Добавлено: 26 июл 2013, 23:59
Игорь Белов
Раз есть координатная сетка, проекцию можно проанализировать.
Начинаете с привязки. В проекции "Долгота/Широта" регистрируете изображение по всем пересечениям меридианов и параллелей. Очень внимательно и аккуратно. На невязки не обращаете внимания.
Затем переходите собственно к анализу. Инструменты — математическая картография и вычислительные средства. Исходные данные — долготы/широты и координаты растра из файла привязки.
kazakov.gis писал(а):здесь должна быть либо равноугольная либо коническая проекция.
Анализ показывает, что проекция сразу и равноугольная, и коническая. А именно коническая равноугольная проекция Гаусса-Ламберта. Выходные данные анализа — параметры проекции: средний меридиан 102,21° и параллель касания 36,87°. MapInfo не умеет работать с параллелью касания, поэтому придётся подобрать эквивалентную пару стандартных параллелей. 24,49° и 48,59° — годный вариант. И вот готова строка проекции:
Код: Выделить всё
CoordSys Earth Projection 3, 1001, "m", 102.2140576355, 30, 24.4936967166, 48.5929519332, 0, 0
Заменим ею предложение CoordSys в файле привязки. Можно также добавить проекцию в файл MAPINFO.PRJ:
Код: Выделить всё
"Китай asia-business", 3, 1001, 7, 102.2140576355, 30, 24.4936967166, 48.5929519332, 0, 0
Карта сшита в фотошопе из сканов, и невязки достигают 8 пикселов. По хорошему её нужно трансформировать. Но это уже не к MapInfo.
Прилагаю файл привязки для собранного растра kitay.jpg 6750×5760 px.
Re: Помогите привязать карту Китая
Добавлено: 29 июл 2013, 17:23
kazakov.gis
Спасибо Вам огромное. А подскажите, что касается растра ( kitay.jpg 6750×5760 px) - это получается что бы заработал Ваш файл привязки мне свой надо так же назвать и подогнать под указанный размер. Ведь так???
Re: Помогите привязать карту Китая
Добавлено: 29 июл 2013, 18:37
Игорь Белов
kazakov.gis писал(а):что бы заработал Ваш файл привязки мне свой надо подогнать под указанный размер?
Я предполагаю, что Вы создаёте растр из тайлов без изменения их размеров. Это достигается средствами различных графических программ. Предположим распространённый случай с каким-нибудь фотошопом (GIMP годится). Изображение состоит из одинаковых тайлов 750×720 px, расположенных в виде матрицы 9×8. Вычисляем размер общего растрового поля: ширина 750 ⋅ 9 = 6750, высота 720 ⋅ 8 = 5760. Создаём новое полноцветное изображение размером 6750×5760 px, добавляем тайлы по одному встык, сплавляем слои, сохраняем JPEG.
Интересен вариант с ImageMagic: утилита montage сама вычисляет размеры конечного растра при сборке тайлов.
kazakov.gis писал(а):что бы заработал Ваш файл привязки мне свой надо так же назвать?
Да, это проще всего.
Впрочем, имя растра может быть любым. Оно даже не обязано совпадать с именем файла привязки. Более того, растр может быть вообще в другой папке. Если это Ваш случай, откройте файл привязки в текстовом редакторе, найдите имя растра и поменяйте его на правильный путь.
В качестве альтернативы можно создать для каждого тайла индивидуальный файл привязки.
Re: Помогите привязать карту Китая
Добавлено: 29 июл 2013, 19:05
gamm
rhot писал(а):Интересный подход. А подходит для векторных данных с неизвестной проекцией, если известно что система координат прямоугольная и имеются точные уже привязанные данные в таких же границах?
для всего подходит, работает как часы (я догадываюсь, о чем вы

).
Re: Помогите привязать карту Китая
Добавлено: 29 июл 2013, 19:39
rhot
gamm писал(а):rhot писал(а):Интересный подход. А подходит для векторных данных с неизвестной проекцией, если известно что система координат прямоугольная и имеются точные уже привязанные данные в таких же границах?
для всего подходит, работает как часы (я догадываюсь, о чем вы

).
поделитесь рецептом
Расхождение в с UTM/WGS84 по ординате около 6000 км на юг, а по абсциссе порядка 180 км на запад.
Re: Помогите привязать карту Китая
Добавлено: 29 июл 2013, 19:50
gamm
rhot писал(а):поделитесь рецептом
рецепта особого нет, целевая функция пишется под задачу, перебор тоже. Для оптимизации используется R, функция optim(). Проекция - пакет rgdal, функция spTransform(), что принципиально, иначе игнорируется датум.
Целевая примерно такая:
Код: Выделить всё
f.proj<- "+proj= ... далее по вскусу
prm - параметры проекции
my.fun1<-function(prm) {
s.proj<-sprintf(f.proj,prm[1],prm[2],prm[3],prm[4],prm[5])
p.m2<-spTransform(p.m1,CRS=CRS(s.proj))
sqrt(mean(rowSums((p.m2@coords-p.sk1)^2)))
}
смещение по X, Y вычисляется потом из преобразования с минимальной дисперсией
Re: Помогите привязать карту Китая
Добавлено: 29 июл 2013, 19:58
rhot
Спасибо большое! Пошёл пробовать

Re: Помогите привязать карту Китая
Добавлено: 30 июл 2013, 05:30
kazakov.gis
ErnieBoyd писал(а):Раз есть координатная сетка, проекцию можно проанализировать.
Спасибо Вам огромное. Следуя всем вашим советам все получилось!!!

Ну вот еще один вопрос остается не понятным как вы так четко смогли определить параметры проекции и саму проекцию??? Если нетрудно наставьте на путь познания !!! Посоветуйте какую литературу почитать??
