Программное преобразование по контрольным точкам

Кроме QGIS
Ответить
BrainDrain
Интересующийся
Сообщения: 18
Зарегистрирован: 15 сен 2005, 10:57
Репутация: 0

Программное преобразование по контрольным точкам

Сообщение BrainDrain » 08 июл 2010, 00:20

Всем привет.
Задача такая: есть векторные данные в некой локальной координатной системе (UTM, все параметры неизвестны), нужно преобразовать их в правильные данные в Spherical Mercator чтобы натягивать на них растры Google/Yandex map.
Есть координаты 6 точек в локальной системе и wgs84. Как сделать программное преобразование (хотя бы сначала в LL wgs84), какими средствами? Нужно именно программное (т.е. управляемое кодом), т.к. надо получить параметры и потом встроить его в пакетный экспорт. Смотрел GDAL OGR/Proj.Net/GeoApi/NTS/SharpMap/MapScript - но там просто преобразование cs->cs при всех известных параметрах. Даже просто афинное - не все десктопные системы могут (к примеру FME), в моем случае сделать т.к. тут метры не в метры переходят а в градусы. Пока попробую vector registration в geomedia сделать (там так можно), но мне это не очень удобно (хотя там можно с sdk помудрить, в крайнем случае, но оно тяжеловато и вообще платная софтина). Возможно надо в теорию углублятся (хитро вычислять параметры афинного преобразования/хелмерта) но не хочется велик изобретать. Подойдут любые компоненты для c++, .net, delphi, vb, python, командной строки. Как народ такие проблемы решает?

Аватара пользователя
Максим Дубинин
MindingMyOwnBusiness
Сообщения: 9128
Зарегистрирован: 06 окт 2003, 20:20
Репутация: 747
Ваше звание: NextGIS
Откуда: Москва
Контактная информация:

Re: Программное преобразование по контрольным точкам

Сообщение Максим Дубинин » 08 июл 2010, 00:57

ArcGIS\Arcview: http://gis-lab.info/qa/shapewarp.html

Аффинные/полиномиальные пересчеты: http://gis-lab.info/qa/polynom.html

Осталось только, чтобы кто-нибудь взял и написал кусок кода, который будет использовать OGR и пересчитывать координаты всех узлов. Вроде не так уж сложно.
пристегивайтесь, турбулентность прямо по курсу

BrainDrain
Интересующийся
Сообщения: 18
Зарегистрирован: 15 сен 2005, 10:57
Репутация: 0

Re: Программное преобразование по контрольным точкам

Сообщение BrainDrain » 08 июл 2010, 09:26

Про ArcView это понятно, а для афинного преобразования нужно чтобы исходные и конечные координаты были гомогенными. Я попробовал перегонять сначала (до афинного) все точки в spherical mercator (к примеру) - но на выходе пока бред.

BrainDrain
Интересующийся
Сообщения: 18
Зарегистрирован: 15 сен 2005, 10:57
Репутация: 0

Re: Программное преобразование по контрольным точкам

Сообщение BrainDrain » 08 июл 2010, 11:31

Победил вроде. Преобразую конечные точки LL сначала в исходную проекцию (частично известную, ее можно считать World Mercator), потом уже на их основе(и точек, которые были изначально в исходной проекции) делаю афинное преобразование. У меня просто еще косяк был в том, что надо было свопить x с y.

Ответить

Вернуться в «Свободные, бесплатные, открытые ГИС»

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

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