Страница 1 из 2
Отображение координат WGS84 на карте
Добавлено: 22 сен 2013, 12:15
folibis
Здравствуйте!
У меня есть несколько shape файлов и мне нужно отобразить из в своей программе.
Файл я загрузил, все координаты указаны в виде пар чисел (xxx.xxxxxx yyy.yyyyyy). Это, как я понимаю, широта и долгота точки. Но как мне отобразить эту точку? Мне то нужны декартовы координаты X, Y.
Допустим я так и должен отображать точку, с учетом, конечно, некоего масштабируещего коэффициента и учетом того что начало координат снизу слева. Тогда карта получается сплюснутой по высоте. Подключил библиотеку proj.4, преобразовываю из "+proj=latlong" в "+proj=merc +ellps=WGS84". Цифры получаются большие. Как я понимаю. это метры. Если отображать карту по преобразованным координатам то получается очень похоже. Но тут уже у меня возникают сомнения в правильности действий. Так ли надо делать?
И вообще, не хватает знаний практического плана. В теории я уже разобрался но вот как применить это на практикею Может кто то поделится ссылками?
Re: Отображение координат WGS84 на карте
Добавлено: 22 сен 2013, 17:11
Максим Дубинин
Re: Отображение координат WGS84 на карте
Добавлено: 22 сен 2013, 18:45
trir
лучше преобразовывать в
UTM
Re: Отображение координат WGS84 на карте
Добавлено: 23 сен 2013, 03:30
folibis
Да, спасибо, стало немного понятнее.
Но все равно, не совсем.
По proj.4, сейчас я преобразовываю угловые координаты WGS84 в метрические. так?
Почему Вы говорите преобразовывать именно в UTM? Чем это выгоднее?
Re: Отображение координат WGS84 на карте
Добавлено: 23 сен 2013, 09:37
trir
сейчас я преобразовываю угловые координаты WGS84 в метрические
Разве?
WGS84 в метрические
это синоним UTM
Re: Отображение координат WGS84 на карте
Добавлено: 23 сен 2013, 15:31
folibis
Вот не понимаю я до конца всю эту механику. Уже и перечитал кучу всего и вот все равно...
Вот конкретный пример:
Допустим у меня есть объект - квадрат, 4 точки в wgs84
55.7537039 37.6199847
55.7536321 37.6198724
55.7536983 37.619742
55.75377 37.619867
Если я перевожу их в UTM
из +proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs
в +proj=utm +zone=40 +ellps=WGS84 +datum=WGS84 +units=m +no_defs
то получаю вот что:
390014.072139;4164383.15185
390007.570039;4164370.77613
390013.220315;4164356.23044
390019.732303;4164370.01537
(Переводил вот тут:
http://cs2cs.mygeodata.eu/)
Если же я эти точки рисую, то прямоугольник получается сильно вытянут по высоте, вот такой -
http://www.geogebratube.org/material/show/id/50085
Что я делаю не так?
Re: Отображение координат WGS84 на карте
Добавлено: 23 сен 2013, 16:12
Александр Мурый
Объясните, пож-та, где квадрат в исходных данных?

- pts.png (4.39 КБ) 39534 просмотра
Re: Отображение координат WGS84 на карте
Добавлено: 23 сен 2013, 18:33
DevGis
лучше преобразовывать в UTM
а чем UTM лучше СК-42?
Re: Отображение координат WGS84 на карте
Добавлено: 23 сен 2013, 19:12
Александр Мурый
DevGis писал(а):
а чем UTM лучше СК-42?
В данном случае тем, что точки уже в WGS84. Зачем тогда менять датум просто так?
Re: Отображение координат WGS84 на карте
Добавлено: 24 сен 2013, 00:34
folibis
Александр Мурый писал(а):Объясните, пож-та, где квадрат в исходных данных?
pts.png
Я взял полигон от мавзолея на Красной площади. Он же, вроде как, квадратный.
Координаты брал с OSM
Re: Отображение координат WGS84 на карте
Добавлено: 24 сен 2013, 08:16
juffin_h
Очевидно. что пересчет неверный.
Мавзолей попадает в 37-ю зону UTM.
Примерные координаты в UTM зона 37: 6203359.0, 37265.9
Re: Отображение координат WGS84 на карте
Добавлено: 24 сен 2013, 08:44
folibis
Сделал так:
из +proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs
в +proj=utm +zone=37 +ellps=WGS84 +datum=WGS84 +units=m +no_defs
Координаты получились действительно другие: (переводил тут:
http://cs2cs.mygeodata.eu/)
1983712.43309;4298251.65585
1983708.34509;4298237.89155
1983716.93397;4298224.35991
1983720.75142;4298239.54612
Но квадрат все равно не квадратный:

- 1.png (33.52 КБ) 39452 просмотра
juffin_h писал(а):Очевидно. что пересчет неверный.
Мавзолей попадает в 37-ю зону UTM.
Примерные координаты в UTM зона 37: 6203359.0, 37265.9
Я вижу что мои цифры совсем другие. Но почему? Этот конвертер неверный? Но он использует proj4, нет смысла сомневаться в правильности этой библиотеки.
Re: Отображение координат WGS84 на карте
Добавлено: 24 сен 2013, 09:01
Александр Мурый
Если поменять местами X и Y (широта Москвы всё-таки не 37 град.

), то в UTM37 выходит вот что:

- 24.09.2013.png (46 КБ) 39444 просмотра
Квадрат угадывается, правда, всё равно это ближе к ромбу.
Re: Отображение координат WGS84 на карте
Добавлено: 24 сен 2013, 13:08
folibis
Ах, позор на мои седины! Это ж надо, перепутать координаты.
Господа, большое спасибо все ответившим, вы очень мне помогли разобраться!
Я хочу резюмировать немного, укажите, пожалуйста, если я где то ошибаюсь.
1. Изначально имеются данные в какой то системе координат (WGS84, СК-42, ПЗ-90, и.т.д)
2. Для того чтоб отобразить их на плоскости необходимо использовать одну из проекций. (Гаусса-Крюгера, UTM и т.д.)
Тут, я так понимаю, проекция должна быть та на которой основана система координат, Это так?
Ну, и несколько практических вопросов:
1. В UTM все поделено на зоны по 6 градусов. А что если мой объект находится частично в одной зоне, частично в другой? Так и переводить, каждую точку для своей зоны?
2. Выбор зоны UTM это просто подбор 1-6 первая зона, 6 - 12 вторая? или какие то хитрости?
3. есть ли какая то библиотека по переводу параметров проекции WKT в proj4?
Еще раз огромное всем спасибо! Я правда, много читал, искал, но просто все как то не укладывалось в голове.
Re: Отображение координат WGS84 на карте
Добавлено: 24 сен 2013, 13:58
Александр Мурый
folibis писал(а):
3. есть ли какая то библиотека по переводу параметров проекции WKT в proj4?
GDAL.
Вот пример на Питоне.