Софт для отображения карт

Вопросы общего характера по ГИС и дистанционному зондированию, не связанные с конкретным ПО.
Ответить
Vaicartana
Новоприбывший
Сообщения: 2
Зарегистрирован: 23 апр 2010, 05:09
Репутация: 0

Софт для отображения карт

Сообщение Vaicartana » 23 апр 2010, 05:34

Здравствуйте, уважаемые!

Пишу свою програму для отображения карты + трека с GPS-навигатора. Зачем пишу - ну надо и все.
Оно помимо отображения будет еще много чего делать.
Сейчас сделал компоненту которая занимается отрисовкой карты. Появилось несколько вопросов:

1. перерыв кучу формул, и запросов в гуугл, так и не смог найти нормальной формулы преобразования мировых координат(lat,lon) в плоскость. Пока остановился на тупой формуле
y=lat
x=lon*CosY
ну а дальше уже линейные преобразования на экран. Пока задачу выполняет, картинку кажит, но формула, мягко говоря... фиговая. Подскажите люди добрые, где нормальную формулу найти, чтоб оно Х,У в километрах выводило.
Т.е. нужно чтобы x1-x2 с учетом равенства y1=y2 давало расстояние в метрах(или км)

2. может я велосипед изобретаю, тут на форуме есть ссылки на открытые ГИС системы, подскажите можно ли их подключать в свой продукт? Хотелось бы что нибудь в виде компонент Дельфи или Билдера.

3. формат карт, который мне доступен - тектовый "Польский формат" .mp. Редактор, если можно так его назвать - MapEdit. Есть ли для этого формата нормальные редакторы, которые могут:
- Делать повороты, маштабирование объектов
- сохранять данные не с 5 занаками после запятой, а хотя бы 10, т.к. в МарЕдиторе все мелкие объекты из за этого кривые
- подставлять картинку или напрямую работать с гугле-мап(как вариант яндекс) с загрузкой вектора из него

Заранее спасибо за ответ

Voltron
Гуру
Сообщения: 2627
Зарегистрирован: 29 мар 2007, 14:12
Репутация: 34
Откуда: Ukraine

Re: Софт для отображения карт

Сообщение Voltron » 23 апр 2010, 08:48

Свободные ГИС можно использовать, при условии, что вы не будете нарушать лицензию. Так, если вы используете GPL код в своей программе, то и ваша программа должна быть под GPL

Готовых свободных компонент для интеграции в Delphi или С++ Builder не так уж и много. Посмотрите на MapWindow ActiveX Control.

Аватара пользователя
JEY
Активный участник
Сообщения: 228
Зарегистрирован: 17 июл 2008, 13:42
Репутация: 1

Re: Софт для отображения карт

Сообщение JEY » 23 апр 2010, 09:01

Приветствую! Ответ на первый вопрос здесь.

Vaicartana
Новоприбывший
Сообщения: 2
Зарегистрирован: 23 апр 2010, 05:09
Репутация: 0

Re: Софт для отображения карт

Сообщение Vaicartana » 26 апр 2010, 05:40

Voltron
Так, с опенсерсом все ясно, спасибо, с компонентами посмотрим, но уже на картинке понятно что возможности у нее слабоватые, ну значит не зря клаву топчу...

JEY
Я так понимаю это форула
Y = R * Latitude;
X = R * Longitude;
где R - большая полуось "а"
Насколько я понимаю R это просто коэффициент пропорциональности на сфере, особенности строения геоида эта форула не учитывает.
есть формула вычисляющая радиус кривизны первого вертикала на данной широте
R = a/sqrt(1-e2*sin(lat)*sin(lat));

я пробовал подставлять этот радиус в Вашу формулу, в результате вся геометрия поплыла, может я туплю и такое вычисление радиуса делать не нужно, но тогда не понимаю почему в формуле не учитывается широта, ведь для северных широт одно и то же изменения долготы должно давать меньший прирост по Х, чем для южных, т.е.
GetLen(Lat,Lon, Lat,Lon+1)>GetLen(Lat+1,Lon, Lat+1,Lon+1)
ведь длинна одного градуса долготы разная для разных широт.
Или я все же туплю?

Ответить

Вернуться в «Общие вопросы»

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

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