Страница 1 из 1
Своя проекция?
Добавлено: 30 май 2012, 16:08
trueinsider
Здравствуйте, уважаемые форумчане!
Начну сразу с вопроса. Есть карта кампуса Стэнфордского университета. Карта, в свою очередь, является рендером 3D сцены. При создании и расположении зданий в сцене использовались векторные карты от Google в качестве "подложки". Отрендерено это все было с видом, близким к Aerial View (Google) / Bird's Eye (Bing).
Чтобы подытожить:
- Масштаб моделей зданий и расстояния между ними соответствуют оным на картах Google.
- Угол, под которым это все в итоге отображается, похож на оный у Google's Aerial View, но слегка отличается.
- Данных о проекции у нас нет.
Собственно, задача: привязать наш кусок карты к реальным географическим координатам.
Не имею представления с чего начать. Буду рад любой информации или помощи.
Если нужно посмотреть на саму карту - пожалуйста напишите в ЛС. Извините за неудобства, но т.к. проект еще не запущен, я не могу публиковать ссылку в открытом виде.
Re: Своя проекция?
Добавлено: 30 май 2012, 17:20
Максим Дубинин
Не совсем понял, что у вас на входе, но если растр - картинка, то берите QGIS, модуль "географическая привязка GDAL" и привязывайте картинку к координатам.
Re: Своя проекция?
Добавлено: 30 май 2012, 18:41
ericsson
Поскольку из изложенного совершенно не ясно, как именно будет использоваться данное творение, не ясно также, как давать ответ на вопрос.
Попробую, однако, перевести все на понятный язык, на столько, на сколько я это понял.
Есть трехмерная модель кампуса, которая была построена по спутниковым снимкам и каким-то еще соображениям (высоту зданий надо было откуда-то брать?). (Напомню, что это нарушает их лицензионное соглашение...)
Проекция "гугловских" снимков - Меркатор на сфере, она же - EPSG:900913 и так далее.
Далее - этот трехмерный план отрендерили в изометрической проекции (параллельность линий сохраняется, угол между непараллельными - нет, ну и так далее), при том сами забыли (следует из того, что сказано Угол, под которым это все в итоге отображается, похож на оный у Google's Aerial View, но слегка отличается) каковы углы осей X,Y плана относительно плоскости экрана.
Возможность отображения этого чисто картографическими средствами зависит от того, как именно развернуты оси. Если одна из осей, образующих плоскость земли, параллельна плоскости экрана (скажем, X) - достаточно подобрать масштабный коэффициент для "сжатия" по Y (не забыть еще, что высота точки над уровнем земли будет также участвовать как слагаемое, но уже без сжатия) и отображать все это безобразие в сплюснутом по вертикальной оси Меркаторе. А вот если оси развернуты - тут я уже не знаю, т.к. это уже не стандартная для собственно картографии ситуация.
Re: Своя проекция?
Добавлено: 30 май 2012, 19:16
trueinsider
> Поскольку из изложенного совершенно не ясно, как именно будет использоваться данное творение
Обычный веб-просмотрщик. При этом должна быть возможность взять некоторые географические координаты и показать соответствующее им место на карте.
Здания строились не по спутниковым снимкам и реальные данные об их высоте у нас присутствуют.
> Напомню, что это нарушает их лицензионное соглашение...
Поясните, что Вы имели в виду под "это" и "их".
Все углы мы знаем, более того, они зависят от камеры, установленной в сцене, настройки которой не меняются.
Написанное в последнем абзаце не очень понятно. С отображением у нас проблем никаких нет. Проблема с привязкой к географическим координатам.
Re: Своя проекция?
Добавлено: 30 май 2012, 20:00
ericsson
Из первого поста сложилось впечатление, что план строился по гугловским снимкам (столько раз они там были упомянуты), что было бы нарушением их соглашения на использование данных.
Если у вас уже есть просмотрщик и нужно отображать на нем точки, то вам всего лишь нужно написать формулы перехода от географических координат к экранным. Я там в последнем абзаце писал (из-за слов о привязке), исходя из того, что вы собрались свой план показывать поверх карты, совмещая ее с планом.
Если все проще, как вы описали, то не проблема: географические координаты точки преобразуются в геодезические (в UTM, например), далее - переход от одной декартовой системы (UTM) к другой (в условные координаты вашего плана - надеюсь, как переход от одной прямоугольной системы к другой делается, в Стенфорде еще учат?) А дальше - от трехмерных координат плана к плоским координатам на экране, с учетом наклона плоскости плана относительно плоскости экрана и поворота осей.
Сам план тоже можно привести к геодезическим координатам, пересчитав все координаты узлов в нем в соответствии с формулой, обратной переходу от UTM к вашим условным.
Re: Своя проекция?
Добавлено: 01 июн 2012, 14:36
trueinsider
Спасибо за ваши ответы.
Но есть еще вопрос. Как тут:
http://goo.gl/maps/4AMv (в данном конкретном случае) из 37.42984,-122.169463 получается адрес
https://khms1.google.com/kh?v=57&src=ap ... ileo°=0 (а именно координаты x=336887 и y=882090)?
Re: Своя проекция?
Добавлено: 01 июн 2012, 14:50
ericsson
https://developers.google.com/maps/docu ... reeImagery и далее по тексту (см. также "Координаты фрагментов")