Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.86
sirik2012
0 / 0 / 0
Регистрация: 13.05.2013
Сообщений: 45
#1

GPS + растровая карта - Программирование Android

21.08.2013, 15:57. Просмотров 1813. Ответов 9
Метки нет (Все метки)

Добрый день

Как привязать gps координаты к растровой карте? Карту сделал банально скриншотом из карт Гугл.
Я так думаю надо сделать минимум 2 контрольные точки, чтобы рассчитать масштаб. Но как банально перевести координаты gps к новым координатам на карте не имею представления(
Вот к примеру есть карта 800х800, начальный угол: 49.905000 029.123450 и какая не будь контрольная точка в центре карты: 55.000000 035.000000. Как перенести 3 точку с координатами: 51.000000 030.000000 на карту?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.08.2013, 15:57     GPS + растровая карта
Посмотрите здесь:

Не определение GPS координат - Программирование Android
ОФФТОП: В первоначальной версии все работу наладить удалось, но захотелось структурировать код. Сейчас задача вернуть все в...

Обмануть датчики GPS - Программирование Android
Добрый день! Подскажите, пожалуйста, можно ли (и пишет ли кто-то) программы для датчиков GPS, передающие на спутник "обманные" данные -...

Координаты gps (структура) - Программирование Android
создал в разделе про телефоны, может если есть лучший- не знаю. не нашел. вопрос такой: gps координаты видны в виде -широта долгота...

GPS. Слушатель LocationListener - Программирование Android
Изменения текущего местоположения сохраняю в файл, сохраняя время и координаты. Потом просматриваю его и выясняется, что записи...

GPS. Определение местонахождения - Программирование Android
Пытаюсь получить текущее местонахождение. На устройстве включил GPS. В манифесте прописл: <uses-permission...

GPS - Изменение местоположения - Программирование Android
Здравствуйте ув. Программисты. Как можно реализовать следующее: -Есть программа при запуске определяет местоположение и...

Подделать GPS координаты - Программирование Android
Только начал собирать инструкции по работе с GPS и возник вопрос по "отладке" программы. Теоретически программа должна отслеживать трек и...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Wenceslaus
Android Developer
130 / 130 / 4
Регистрация: 05.07.2013
Сообщений: 205
21.08.2013, 17:24     GPS + растровая карта #2
sirik2012, что ж, давайте рассуждать.
Дано: карта 800х800, левый верхний угол - 49.905000, 029.123450. Центр 55.000000, 035.000000 (хотя лучше брать правый нижний угол).
Найти положение точки 51.000000, 030.000000 на карте.
Решение:
Рассчитаем масштаб одного пикселя:
- высота пикселя (55.000000 - 49.905000) / 400 = 0,0127375.
- ширина пикселя (35.000000 - 29.123450) / 400 = 0,015.
но в полевых условиях пиксель будет квадратный, так что достаточно одной стороны.
Рассчитываем положение точки на карте:
- ось абсцисс (55.000000 - 51.000000) / 0,015 = 267.
- ось ордината (35.000000 - 30.000000) / 0,0127375 = 393.
Координаты есть, осталось нарисовать иконку.
Используем Canvas, рисуем относительно величины карты, учитывая размер самой иконки:
Java
1
Canvas.drawBitmap(bitmap, 267-width, 393-height, null);
, где bitmap - иконка; width - половина ширины иконки; height - половина высоты иконки.
Осталось добыть необходимые величины, вывести формулы и написать код.
Задача решена.
sirik2012
0 / 0 / 0
Регистрация: 13.05.2013
Сообщений: 45
22.08.2013, 12:55  [ТС]     GPS + растровая карта #3
Спасибо. Честно говоря я предполагал, что решение будет в этом направлении. Просто думал, что есть какая- не будь функция аналог VB'ной Scale. Ну ничего, буду так рассчитывать. Еще раз спасибо

Добавлено через 3 часа 46 минут
Есть еще вопрос по поводу многопоточности:
сейчас у меня в главном активити создается класс и в него передается управление (отображение карты и т.д.)
Надо создать поток, параллельно этому, который будет получаться координаты с GPS приемника и передавать их в этот. Но как не знаю.
Причем, 2 поток, тот что работает с GPS, должен работать всегда пока приложение активно
Tester64
395 / 356 / 43
Регистрация: 22.05.2013
Сообщений: 2,518
22.08.2013, 14:01     GPS + растровая карта #4
Просто думал, что есть какая- не будь функция аналог VB'ной Scale
Конечно есть! Ту формулу что Вам привели - это самый простой вариант!!! Учтите что карта должна быть небольшого маштаба - например город, область. Если больше, то карта вытягивается-сжимается по сложным формулам. Лень просто так искать, но где-то у меня в архивах лежали ссылки. Помню что связано с названием координатной сетки используемой гуглом.

По поводу потоков! Все не так просто. Вам нужен не поток, СЕРВИС. Только сервис (насколько я понял) может работать даже когда программа закрыта и запускаться в автозагрузке. Есть еще почитайте про receiver. Я еще плохо это все изучил, но как я понял имено через receiver можно получать координаты в потоке. Ну и еще подумать как все это связать...

Короче http://startandroid.ru/ru/uroki/vse-uroki-spiskom.html
92-100 уроки...
sirik2012
0 / 0 / 0
Регистрация: 13.05.2013
Сообщений: 45
22.08.2013, 14:12  [ТС]     GPS + растровая карта #5
Как раз те самые уроки и штудирую) На счет сервиса, подумаю, но мне надо не только получать данные из потока, но и передавать.
Tester64
395 / 356 / 43
Регистрация: 22.05.2013
Сообщений: 2,518
22.08.2013, 18:29     GPS + растровая карта #6
Не путайте поток и сервис!!! Это абсолютно разные понятия. Сервис больше похож на независимо-запущенную абсолютно отдельную программу... Общение между потоками очень простое - общие переменные с блокировкой против одновременного доступа. В сервисе похоже чуть сложнее... Больше напоминает общение двух программ.

Кстати учитывая что у Вас сервис работает постоянно, советую сохранять его данные сразу в базу. А на карту выводить их запросом из базы.
Wenceslaus
Android Developer
130 / 130 / 4
Регистрация: 05.07.2013
Сообщений: 205
22.08.2013, 19:22     GPS + растровая карта #7
Цитата Сообщение от sirik2012 Посмотреть сообщение
Просто думал, что есть какая- не будь функция аналог VB'ной Scale.
Цитата Сообщение от Tester64 Посмотреть сообщение
Конечно есть!
Tester64, не сочтите за труд, просветите общественность, и меня в частности..
sirik2012
0 / 0 / 0
Регистрация: 13.05.2013
Сообщений: 45
23.08.2013, 12:15  [ТС]     GPS + растровая карта #8
Цитата Сообщение от Tester64 Посмотреть сообщение
Не путайте поток и сервис!!! Это абсолютно разные понятия. Сервис больше похож на независимо-запущенную абсолютно отдельную программу... Общение между потоками очень простое - общие переменные с блокировкой против одновременного доступа. В сервисе похоже чуть сложнее... Больше напоминает общение двух программ.

Кстати учитывая что у Вас сервис работает постоянно, советую сохранять его данные сразу в базу. А на карту выводить их запросом из базы.
Лучше и проще, имхо, все таки делать поток: он будет получать координаты, а на карте будет выводиться примерное раз в 2-3 минуты, посему не думаю что нужна база данных.
В будущем прикручу еще и модуль для передачи данных по wifi.

Весь прикол в том, что у меня уже написаны, или почти ), все 3 программы, но как их грамотно соединить...

Добавлено через 3 часа 4 минуты
В общем воспользовался этой статьей и сделал то что хотел. Правда немного подправил, но главное что работает!
Теперь осталось сделать чтобы GPS обновлялся по таймеру
Tester64
395 / 356 / 43
Регистрация: 22.05.2013
Сообщений: 2,518
23.08.2013, 22:41     GPS + растровая карта #9
не сочтите за труд, просветите общественность, и меня в частности..
Признаюсь - проект еще открыт (и слегка заброшен уже на 10-11 месяцев)... Сильно эту область не изучал - читал "по диагонали" "на потом", собирал в коллекцию ссылки (с кучей других нужных для проекта тем). Выкладываю ссылки помеченые как "полезные", но не уверен что это именно то:

Яндекс: получить расстояние между координатами
http://en.wikipedia.org/wiki/Great_circle_distance
http://forum.sources.ru/index.php?sh...1&view=showall
http://xpoint.ru/forums/misc/thread/14553.xhtml
http://geojason.info/demos/line-leng...oogle-maps-v3/
https://developers.google.com/maps/d...atrix?hl=ru-RU

Поможет для "общего развития". Формул там много. Вроде не очень сложные, но сложнее обычной пропорции по 2м ключевым диагональным точкам куска карты...
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.08.2013, 09:20     GPS + растровая карта
Еще ссылки по теме:

Поворот изображения (GPS) - Программирование Android
Добрый день Пытаюсь сделать вот что, на canvas рисую изображение относительно своих координат, которые беру с GPS. Хотелось бы...

Узнать позицию по GPS - Программирование Android
Как переделать код, чтобы он брал всегда новые позиции при открытии приложения? Он просто сейчас определяет твои координаты, но грузит...

GPS_PROVIDER и доступность GPS - Программирование Android
Имеется такой код запуска слушателей для провайдеров GPS_PROVIDER и NETWORK_PROVIDER: locationManager = (LocationManager)...

Включение gps на андройд - Программирование Android
Здравствуйте! Нуждаюсь в помощи, пытаюсь реализовать такое: автоматическое вкл. gps при старте устройства и его нельзя отключить, если...

Получить координаты GPS - Программирование Android
Привет. На андройде не проходит строчку locationManager = (LocationManager)activity.getSystemService(LOCATION_SERVICE); Вызывается...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
sirik2012
0 / 0 / 0
Регистрация: 13.05.2013
Сообщений: 45
27.08.2013, 09:20  [ТС]     GPS + растровая карта #10
Спасибо, но там формулы слишком сложные У меня карта небольшая, порядка 1км на 1км. Так чо я делаю как подсказал Wenceslaus.
Теперь у меня другая задача, вернее проблема, как лучше правильно реализовать многопоточность, если есть такой список задач:
1. работа с сетью: передача и получение UDP пакетов, проверка на доступность точки wifi;
2. работа с GPS: получение координат, проверка на доступность спутников;
3. работа с растровой картой, тут все просто: прокрутка картинки, отображение дополнительных объектов;
4. главный модуль, с которого будет осуществляться переход к настройкам и картинке.

Как-то так)
Yandex
Объявления
27.08.2013, 09:20     GPS + растровая карта
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru