Мобильное ГИС приложение NextGIS Mobile: различия между версиями
(Новая страница: «{{Статья|Черновик}} {{Аннотация|Мобильная ГИС NextGIS Mobile - ПО для операционной системы Android по…») |
Нет описания правки |
||
(не показано 16 промежуточных версий 3 участников) | |||
Строка 1: | Строка 1: | ||
{{Статья| | {{Статья|Опубликована|nextgis-mobile}} | ||
{{Аннотация|Мобильная ГИС NextGIS Mobile | {{Аннотация|Мобильная ГИС NextGIS Mobile — это ПО для операционной системы Android, которое позволяет работать с геоданными «в поле».}} | ||
{{NextGIS}} | |||
= Назначение программы = | = Назначение программы = | ||
Мобильная ГИС NextGIS Mobile представляет собой программное обеспечение с открытым исходным кодом (лицензия GPL) для операционной системы Android. NextGIS Mobile может функционировать на смартфонах и планшетах, которые управляются этой операционной системой. | Мобильная ГИС NextGIS Mobile представляет собой программное обеспечение с открытым исходным кодом (лицензия GPL) для операционной системы Android. NextGIS Mobile может функционировать на смартфонах и планшетах, которые управляются этой операционной системой. | ||
Строка 7: | Строка 7: | ||
NextGIS Mobile позволяет: | NextGIS Mobile позволяет: | ||
*отображать карту и компас | *отображать карту и компас; | ||
*выполнять навигацию по карте (увеличение, уменьшение, перемещение) | *выполнять навигацию по карте (увеличение, уменьшение, перемещение); | ||
*вводить полевые данные (записываются координаты точки | *вводить полевые данные (записываются координаты точки с возможностью накопления статистики для более точного определения местоположения; описание из предопределенных категорий или произвольное; фотографии; ориентировка и дистанция до объекта, относительно точки; записывать примечание); | ||
*отображать вводимые точечные данные на карте | *отображать вводимые точечные данные на карте; | ||
*записывать треки | *записывать треки; | ||
*отображать координаты, скорость, высоту устройства на карте | *отображать координаты, скорость, высоту устройства на карте; | ||
*накапливать и передавать в фоновом режиме по сети Интернет (при наличии подключения) на сервер хранения данные о местоположении устройства | *накапливать и передавать в фоновом режиме по сети Интернет (при наличии подключения) на сервер хранения данные о местоположении устройства. | ||
= Получение и установка = | |||
Программа разработана NextGIS и доступна на [http://nextgis.ru/nextgis-mobile/ сайте компании]. | |||
Установить через [https://play.google.com/store/apps/details?id=com.nextgis.mobile Google Play] | |||
Исходный код программы размещен в [https://github.com/nextgis/nextgis_mobile репозитории]. | Исходный код программы размещен в [https://github.com/nextgis/nextgis_mobile репозитории на GitHub]. | ||
= Условия выполнения программы = | = Условия выполнения программы = | ||
Для выполнения программы необходимо устройство под управлением операционной системы Android версии 2.3 и выше. Желательно, что бы устройство было оснащено следующим оборудованием: | Для выполнения программы необходимо устройство под управлением операционной системы Android версии 2.3 и выше. Желательно, что бы устройство было оснащено следующим оборудованием: | ||
*датчик GPS и/или ГЛОНАСС | *датчик GPS и/или ГЛОНАСС; | ||
*цифровой компас | *цифровой компас; | ||
*модуль сотовой связи | *модуль сотовой связи; | ||
*тыловая фотокамера | *тыловая фотокамера. | ||
Если какое либо оборудование отсутствует | Если какое либо оборудование из перечисленного отсутствует в устройстве, то связанные функции будут не доступны. | ||
Программа не предъявляет специфических системных требований, однако, количество оперативной памяти и памяти для хранения данных может ограничивать размер загружаемых карт. | Программа не предъявляет специфических системных требований, однако, количество оперативной памяти и памяти для хранения данных может ограничивать размер загружаемых карт. | ||
= Выполнение программы = | = Выполнение программы = | ||
Программа устанавливается на устройство при помощи пакетного файла '''nextgismobile.apk'''. Для установки из пакетного файла необходимо в настройках устройства разрешить установку программ из неизвестных источников ( | Программа устанавливается на устройство при помощи пакетного файла '''nextgismobile.apk'''. Для установки из пакетного файла необходимо в настройках устройства разрешить установку программ из неизвестных источников («настройки/безопасность/неизвестные источники»). После установки программы возможность установки из неизвестных источников можно деактивировать. | ||
[[Image:Shortcut.png|thumb|Рис. 1. Ярлыки приложений (красным пунктиром выделен ярлык NextGIS Mobile).]] | Для запуска программы используется ярлык, автоматически создаваемый при ее установке (рис. 1). | ||
[[Image:Shortcut.png|300px|thumb|center|Рис. 1. Ярлыки приложений (красным пунктиром выделен ярлык NextGIS Mobile).]] | |||
= Порядок загрузки, запуска и завершения программы = | = Порядок загрузки, запуска и завершения программы = | ||
После установки программы ее можно использовать. Однако, рекомендуется провести ряд подготовительных операций: | После установки программы ее можно использовать. Однако, рекомендуется провести ряд подготовительных операций: | ||
*подготовить и загрузить на устройство файл категорий и подкатегорий для ввода точек | *подготовить и загрузить на устройство файл категорий и подкатегорий для ввода точек; | ||
*кэш тайлов карт для работы без доступа к сети Интернет | *кэш тайлов карт для работы без доступа к сети Интернет. | ||
== Файл категорий и подкатегорий == | == Файл категорий и подкатегорий == | ||
Файл категорий и подкатегорий служит для формирования диалога ввода точек. На первой вкладке диалога (см. рис. 2) пользователю предлагается ввести описание вводимой точки. | Файл категорий и подкатегорий служит для формирования диалога ввода точек. На первой вкладке диалога (см. рис. 2) пользователю предлагается ввести описание вводимой точки. | ||
[[Image:Input pt 1.png|thumb|Рис. 2. Диалог ввода точки (вкладка описание). 1 – категория, 2 – подкатегория, 3 – поле ввода пользовательских данных.]]Для повышения оперативности ввода точки и исключения печати на экранной клавиатуре используются выпадающие списки (категорий и подкатегорий). Значения в списке получаются из файла категорий и подкатегорий. При выборе в списке какой либо категории, в списке подкатегорий буду заполнены соответствующие этой категории значения и установлена первая подкатегория. После этого пользователь сможет выбрать необходимую подкатегорию. | [[Image:Input pt 1.png|300px|thumb|center|Рис. 2. Диалог ввода точки (вкладка описание). 1 – категория, 2 – подкатегория, 3 – поле ввода пользовательских данных.]] | ||
Для повышения оперативности ввода точки и исключения печати на экранной клавиатуре используются выпадающие списки (категорий и подкатегорий). Значения в списке получаются из файла категорий и подкатегорий. При выборе в списке какой либо категории, в списке подкатегорий буду заполнены соответствующие этой категории значения и установлена первая подкатегория. После этого пользователь сможет выбрать необходимую подкатегорию. | |||
При первом запуске в папке с данными программы будет сформирован шаблон файла категорий и подкатегорий. | При первом запуске в папке с данными программы будет сформирован шаблон файла категорий и подкатегорий. | ||
Файл располагается в папке с программой (обычно по следующему пути: Android/data/com.nextgis.mobile/files/categories.xml). Файл может быть скачан с устройства и отредактирован. '''Переименование файла и изменение его кодировки не допускается. '''После изменений | Файл располагается в папке с программой (обычно по следующему пути: Android/data/com.nextgis.mobile/files/categories.xml). Файл может быть скачан с устройства и отредактирован. '''Переименование файла и изменение его кодировки не допускается. '''После изменений файл необходимо скопировать обратно на устройство в папку с данными программы (Android/data/com.nextgis.mobile/files). | ||
Файл '''categories.xml''' имеет следующую структуру: | |||
: | |||
Файл включает в себя стандартный заголовок XML (<nowiki><?xml version="1.0" encoding="utf-8"?></nowiki>), далее следуют | <syntaxhighlight lang="xml"> | ||
<?xml version="1.0" encoding="utf-8"?> | |||
<categories> | |||
<category name="animals"> | |||
<subcategory name="marsupials"/> | |||
<subcategory name="carnivores"/> | |||
... | |||
</category> | |||
<category name="plants"> | |||
<subcategory name="Aconitum"/> | |||
<subcategory name="Datura"/> | |||
... | |||
</category> | |||
<!-- add button to add custom subcategory --> | |||
<category name="custom"/> | |||
</categories> | |||
</syntaxhighlight> | |||
Файл включает в себя стандартный заголовок XML (<nowiki><?xml version="1.0" encoding="utf-8"?></nowiki>), далее следуют тег набора категорий (<nowiki><categories> … </categories></nowiki>), внутри тега набора категорий идут теги отдельных категорий (<nowiki><category name="animals"> … </category></nowiki>), внутри тега категорий перечисляются подкатегории (<nowiki><subcategory name="Aconitum"/></nowiki>). При наличии тега <nowiki><category name="custom"/></nowiki> появляется возможность вводить пользовательские данные в отдельное поле ввода (см. рис. 2 п. 3), иначе поле деактивировано. | |||
Для задания необходимых значений, которые будут выводится в списках 1 и 2 диалога ввода точки (см. рис. 2) используется атрибут name="Aconitum". В кавычках указывается необходимое значение, которое появится в | Для задания необходимых значений, которые будут выводится в списках 1 и 2 диалога ввода точки (см. рис. 2), используется атрибут name="Aconitum". В кавычках указывается необходимое значение, которое появится в соответствующих списках. | ||
== Подготовка карт для работы без доступа к сети Интернет == | == Подготовка карт для работы без доступа к сети Интернет == | ||
При отображении карты в программе могут использоваться | При отображении карты в программе могут использоваться как источники из сети Интернет (OpenStreetMap), так и данные на самом устройстве. | ||
Для работы без доступа к сети Интернет необходимо сформировать один или несколько архивов с кэшем тайлов и загрузить их на устройство. | Для работы без доступа к сети Интернет необходимо сформировать один или несколько архивов с кэшем тайлов и загрузить их на устройство. | ||
Строка 98: | Строка 86: | ||
Для формирования архивов рекомендуется использовать настольную ГИС NextGIS QGIS совместно с модулем расширения [http://gis-lab.info/qa/qtiles.html QTiles] (см. рис. 3). | Для формирования архивов рекомендуется использовать настольную ГИС NextGIS QGIS совместно с модулем расширения [http://gis-lab.info/qa/qtiles.html QTiles] (см. рис. 3). | ||
[[Image:Qtiles-02.png|thumb|Рис. 3. Диалог конфигурирования экспорта тайлов из состава модуля QTiles.]] | [[Image:Qtiles-02.png|300px|thumb|center|Рис. 3. Диалог конфигурирования экспорта тайлов из состава модуля QTiles.]] | ||
Сформированные при помощи модуля QTiles архивы с кэшем тайлов следует загрузить на устройство в папку '''osmdroid''', которая обычно располагается в корне карточки памяти (SDCard) или в корне файловой системы устройства. Архивам можно присвоить любые названия. При выборе масштаба тайлов не рекомендуется ставить максимальный масштаб более 19 — карта не поддерживает зуммирование на большие уровни, а лишние тайлы занимают место в памяти устройства и приводят к задержкам при чтении содержимого архива. | |||
Кроме того, можно загрузить тайловый кэш не выполняя архивирование в директорию osmdroid/tiles. Это может значительно ускорить отрисовку карты. Однако, при подключении к сети Интернет, тайлы могут быть перезаписаны тайлами, полученными из OpenStreetMap. | Для ускорения работы программы рекомендуется держать в папке '''osmdroid''' только те архивы кэша тайлов, которые необходимы в текущий момент. Остальные архивы можно положить в отдельную папку и переносить в папку '''osmdroid''' по мере необходимости, а также возвращать обратно архивы, надобность в которых отпала. | ||
Кроме того, можно загрузить тайловый кэш, не выполняя архивирование в директорию '''osmdroid/tiles'''. Это может значительно ускорить отрисовку карты. Однако, при подключении к сети Интернет, тайлы могут быть перезаписаны тайлами, полученными из OpenStreetMap. | |||
= Описание функций = | = Описание функций = | ||
Главный экран программы представлен на рисунке 4. | Главный экран программы представлен на рисунке 4. | ||
[[Image:Main scr.png|thumb|Рис. 4. Главный экран программы.]] | [[Image:Main scr.png|300px|thumb|center|Рис. 4. Главный экран программы.]] | ||
На рисунке цифрами обозначено: | На рисунке цифрами обозначено: | ||
Строка 128: | Строка 118: | ||
Экран компаса представлен на рисунке 5. | Экран компаса представлен на рисунке 5. | ||
[[Image:Compass scr.png|thumb|Рис. 5. Экран компаса.]] | [[Image:Compass scr.png|300px|thumb|center|Рис. 5. Экран компаса.]] | ||
На рисунке цифрами обозначено: | На рисунке цифрами обозначено: | ||
#Кнопка возврата к предыдущему экрану. Работает аналогично аппаратной (или программной) кнопке | #Кнопка возврата к предыдущему экрану. Работает аналогично аппаратной (или программной) кнопке возврата. | ||
#Кнопка меню. | #Кнопка меню. | ||
#Циферблат компаса. Можно вращать для удобства определения азимута на цель. | #Циферблат компаса. Можно вращать для удобства определения азимута на цель. | ||
Строка 143: | Строка 133: | ||
На рисунке 6 представлен экран ввода описания точки. | На рисунке 6 представлен экран ввода описания точки. | ||
[[Image:Input 1 1.png|thumb|Рис. 6. Экран ввода описания точки.]] | [[Image:Input 1 1.png|300px|thumb|center|Рис. 6. Экран ввода описания точки.]] | ||
На рисунке цифрами обозначено: | На рисунке цифрами обозначено: | ||
# | #Открытый список категорий. | ||
#Перечень вкладок с экранами. Переход между вкладками можно выполнять нажатием на заголовок вкладки или перелистыванием. | #Перечень вкладок с экранами. Переход между вкладками можно выполнять нажатием на заголовок вкладки или перелистыванием. | ||
#Кнопка ввода точки. Кнопка присутствует на всех экранах. При ее нажатии данные записываются в файл. | #Кнопка ввода точки. Кнопка присутствует на всех экранах. При ее нажатии данные записываются в файл. | ||
Строка 158: | Строка 148: | ||
Экран ввода ориентировки представлен на рисунке 7. | Экран ввода ориентировки представлен на рисунке 7. | ||
[[Image:Input 2.png|thumb|Рис. 7. Экран ввода ориентировки.]] | [[Image:Input 2.png|300px|thumb|center|Рис. 7. Экран ввода ориентировки.]] | ||
На рисунке цифрами обозначено: | На рисунке цифрами обозначено: | ||
Строка 166: | Строка 156: | ||
#Поле ввода расстояния. | #Поле ввода расстояния. | ||
Каждой вводимой точки могут быть сопоставлены одна или несколько фотографий. Для съемки и ввода фотографий служит экран ввода фотографий (см. рис. 8). | |||
[[Image:Input 3.png|thumb|Рис. 8. Экран ввода фотографий.]] | [[Image:Input 3.png|300px|thumb|center|Рис. 8. Экран ввода фотографий.]] | ||
На рисунке цифрами обозначено: | На рисунке цифрами обозначено: | ||
#Кнопка для съемки фотографии. В стандартном приложении съемки фотографий нужно нажать кнопку ввода полученной фотографии | #Кнопка для съемки фотографии. В стандартном приложении съемки фотографий нужно нажать кнопку ввода полученной фотографии для того, чтобы она появилась в списке 2. | ||
#Список выполненных фотографий. Все фотографии сохраняются в папке с данными программы, в подпапке Pictures (например, путь может быть таким: Android/data/com.nextgis.mobile/files/Pictures). | #Список выполненных фотографий. Все фотографии сохраняются в папке с данными программы, в подпапке '''Pictures''' (например, путь может быть таким: '''Android/data/com.nextgis.mobile/files/Pictures)'''. | ||
Последний экран (см. рис. 9) служит для ввода примечания, а также отображает краткую сводку. | Последний экран (см. рис. 9) служит для ввода примечания, а также отображает краткую сводку. | ||
[[Image:Input 4.png|thumb|Рис. 9. Экран ввода примечания.]]После ввода точки в папке | [[Image:Input 4.png|300px|thumb|center|Рис. 9. Экран ввода примечания.]]После ввода точки в папке с данными программы будет создан файл '''points.csv''', куда будут записаны данные. Если файл уже создан, то данные будут записаны в конец файла. | ||
Файл points.csv имеет следующие поля (колонки): | Файл '''points.csv''' имеет следующие поля (колонки): | ||
#date_time – дата и время | #date_time – дата и время | ||
#lat – широта | #lat – широта | ||
#lon – долгота | #lon – долгота | ||
#acc – точность (данные о точности получаются либо из операционной системы | #acc – точность (данные о точности получаются либо из операционной системы, либо рассчитываются самостоятельно, в зависимости от настроек) | ||
#error_est – способ определения ошибки местоположения | #error_est – способ определения ошибки местоположения | ||
#h – высота | #h – высота | ||
#dir – направление движения в момент съемки координат | #dir – направление движения в момент съемки координат | ||
#src – источник позиционной информации (GPS, ,базовые станции, WiFi) | #src – источник позиционной информации (GPS, ,базовые станции, WiFi) | ||
#speed – скорость движения | #speed – скорость движения | ||
#gps_t – время GPS | #gps_t – время GPS | ||
#cat – категория | #cat – категория | ||
#subcut – подкатегория | #subcut – подкатегория | ||
#az – азимут указанный при помощи компаса | #az – азимут указанный при помощи компаса | ||
#len – расстояние указанное на экране ввода ориентировки | #len – расстояние указанное на экране ввода ориентировки | ||
#desc – описание | #desc – описание | ||
#photos – массив имен фотографий | #photos – массив имен фотографий | ||
#photos_az – массив азимутов соответствующих фотографиям | #photos_az – массив азимутов, соответствующих фотографиям | ||
Для записи треков служит кнопка 7 см. рис. 4. При нажатии кнопки стартует отдельный сервис записи. Программа может быть свернута в фон и запись не прервется. | Для записи треков служит кнопка 7 (см. рис. 4). При нажатии кнопки стартует отдельный сервис записи. Программа может быть свернута в фон и запись не прервется. | ||
Для контроля за состоянием записи треков в строке статуса операционной системы выводится иконка (см. рис. 10). При ее нажатии программа активируется. | Для контроля за состоянием записи треков в строке статуса операционной системы выводится иконка (см. рис. 10). При ее нажатии программа активируется. | ||
[[Image:Notify.png|thumb|Рис. 10. Иконка записи трека в строке статуса.]] | [[Image:Notify.png|300px|thumb|center|Рис. 10. Иконка записи трека в строке статуса.]] | ||
Запись трека ведется в стандартном формате GPX. Треки сохраняются при повторном нажатии на кнопку записи. При этом создается файл с расширение gpx в подпапке GPX папки | Запись трека ведется в стандартном формате GPX. Треки сохраняются при повторном нажатии на кнопку записи. При этом создается файл с расширение gpx в подпапке '''GPX''' папки с данными программы (например, '''Android/data/com.nextgis.mobile/files/gpx'''). | ||
На рисунках 11 и 12 представлены экраны настроек и сведений о программе соответственно. | На рисунках 11 и 12 представлены экраны настроек и сведений о программе соответственно. | ||
<center> | |||
{| style="border-spacing:0;" | {| style="border-spacing:0;" | ||
| style="border:none;padding:0.097cm;"| [[Image:Settings.png|thumb|Рис. 11. Экран настроек.]] | | style="border:none;padding:0.097cm;"| [[Image:Settings.png|300px|thumb|center|Рис. 11. Экран настроек.]] | ||
| style="border:none;padding:0.097cm;"| [[Image:About.png|thumb|Рис. 12. Экран сведений о программе.]] | | style="border:none;padding:0.097cm;"| [[Image:About.png|300px|thumb|center|Рис. 12. Экран сведений о программе.]] | ||
|} | |} | ||
</center> | |||
Настройки | == Настройки == | ||
Можно настраивать следующие параметры: | |||
#Основные установки: | #Основные установки: | ||
Строка 222: | Строка 214: | ||
#*запускать службу при старте системы – запускает фоновые службы отслеживания местоположения и отправки координат при старте системы. | #*запускать службу при старте системы – запускает фоновые службы отслеживания местоположения и отправки координат при старте системы. | ||
#Точность снятия координат: | #Точность снятия координат: | ||
#*отметка уточненного | #*отметка уточненного снятия координат – если стоит отметка, включается режим накопления координат и усреднения местоположения точки; | ||
#*количество измерений GPS координат – количество координат которые надо накопить для усреднения местоположения точки; | #*количество измерений GPS координат – количество координат, которые надо накопить для усреднения местоположения точки; | ||
#*радиус погрешности – способ расчета погрешности (CE50, CE90, CE95 и CE98). | #*радиус погрешности – способ расчета погрешности (CE50, CE90, CE95 и CE98). | ||
#Установки местоположения: | #Установки местоположения: | ||
#*формат ввода координат (ГГ-ММ-СС.СС, ГГ-ММ.ММ или ГГ.ГГГГ); | #*формат ввода координат (ГГ-ММ-СС.СС, ГГ-ММ.ММ или ГГ.ГГГГ); | ||
#*вибрация при касании компаса; | #*вибрация при касании компаса; | ||
#*не выключать экран когда активен компас; | #*не выключать экран, когда активен компас; | ||
#*показывать истинный полюс; | #*показывать истинный полюс; | ||
#*показывать магнитный полюс. | #*показывать магнитный полюс. | ||
#Установки передачи данных: | #Установки передачи данных: | ||
#*минимальное время между посылками местоположения – большая частота посылок местоположения может разряжать батарею устройства; | #*минимальное время между посылками местоположения – большая частота посылок местоположения может разряжать батарею устройства; | ||
#*выводить из режима сна для посылки местоположения – в операционной системе имеется планировщик, который пробуждает устройства для выполнения типовых операций (проверка почты, синхронизация и т. п.). Если будет активирована данная настройка, то | #*выводить из режима сна для посылки местоположения – в операционной системе имеется планировщик, который пробуждает устройства для выполнения типовых операций (проверка почты, синхронизация и т. п.). Если будет активирована данная настройка, то устройство будет пробуждаться чаще, что может быстрее разряжать батарею устройства; | ||
#*запуск/ | #*запуск/остановка службы передачи местоположения. | ||
#Установки трекера: | #Установки трекера: | ||
#*минимальное расстояние на котором будут фиксироваться точки трека; | #*минимальное расстояние, на котором будут фиксироваться точки трека; | ||
#*минимальное время через которое будут фиксироваться точки трека; | #*минимальное время, через которое будут фиксироваться точки трека; | ||
#*запуск/ | #*запуск/остановка службы трекера – при активировании будут записываться координаты для фоновой передачи на сервер хранения. | ||
Ниже приведен пример простого PHP-скрипта для записи информации о местоположении на сервере хранения. | |||
<syntaxhighlight lang="php"> | |||
<?php | |||
$uid = $_GET["uid"]; | |||
$acc = $_GET["acc"]; | |||
$alt = $_GET["alt"]; | |||
$dir = $_GET["dir"]; | |||
$lat = $_GET["lat"]; | |||
$lon = $_GET["lon"]; | |||
$prov = $_GET["prov"]; | |||
$speed = $_GET["speed"]; | |||
$time = $_GET["time"]; | |||
$time_utc = $_GET["time_utc"]; | |||
$str = $uid.";".$acc.";".$alt.";".$dir.";".$lat.";".$lon.";".$prov.";".$speed.";".$time.";".$time_utc.";\n"; | |||
$fhandle = fopen($uid.".csv",'a+'); | |||
fwrite($fhandle, $str); | |||
fclose($fhandle); | |||
?> | |||
</syntaxhighlight> | |||
= Сообщения | = Сообщения пользователю = | ||
{| class="wikitable" | {| class="wikitable" | ||
Строка 305: | Строка 287: | ||
*[http://nextgis.ru/nextgis-mobile/ сайт] | *[http://nextgis.ru/nextgis-mobile/ сайт] | ||
*[https://github.com/nextgis/nextgis_mobile исходники] | *[https://github.com/nextgis/nextgis_mobile исходники] | ||
*[https://play.google.com/store/apps/details?id=com.nextgis.mobile Google Play] |
Текущая версия от 09:27, 10 мая 2014
по адресу http://gis-lab.info/qa/nextgis-mobile.html
Мобильная ГИС NextGIS Mobile — это ПО для операционной системы Android, которое позволяет работать с геоданными «в поле».
Создано в | Веб ГИС для вашей организации по доступной цене |
Назначение программы
Мобильная ГИС NextGIS Mobile представляет собой программное обеспечение с открытым исходным кодом (лицензия GPL) для операционной системы Android. NextGIS Mobile может функционировать на смартфонах и планшетах, которые управляются этой операционной системой.
NextGIS Mobile позволяет:
- отображать карту и компас;
- выполнять навигацию по карте (увеличение, уменьшение, перемещение);
- вводить полевые данные (записываются координаты точки с возможностью накопления статистики для более точного определения местоположения; описание из предопределенных категорий или произвольное; фотографии; ориентировка и дистанция до объекта, относительно точки; записывать примечание);
- отображать вводимые точечные данные на карте;
- записывать треки;
- отображать координаты, скорость, высоту устройства на карте;
- накапливать и передавать в фоновом режиме по сети Интернет (при наличии подключения) на сервер хранения данные о местоположении устройства.
Получение и установка
Программа разработана NextGIS и доступна на сайте компании.
Установить через Google Play
Исходный код программы размещен в репозитории на GitHub.
Условия выполнения программы
Для выполнения программы необходимо устройство под управлением операционной системы Android версии 2.3 и выше. Желательно, что бы устройство было оснащено следующим оборудованием:
- датчик GPS и/или ГЛОНАСС;
- цифровой компас;
- модуль сотовой связи;
- тыловая фотокамера.
Если какое либо оборудование из перечисленного отсутствует в устройстве, то связанные функции будут не доступны.
Программа не предъявляет специфических системных требований, однако, количество оперативной памяти и памяти для хранения данных может ограничивать размер загружаемых карт.
Выполнение программы
Программа устанавливается на устройство при помощи пакетного файла nextgismobile.apk. Для установки из пакетного файла необходимо в настройках устройства разрешить установку программ из неизвестных источников («настройки/безопасность/неизвестные источники»). После установки программы возможность установки из неизвестных источников можно деактивировать.
Для запуска программы используется ярлык, автоматически создаваемый при ее установке (рис. 1).
Порядок загрузки, запуска и завершения программы
После установки программы ее можно использовать. Однако, рекомендуется провести ряд подготовительных операций:
- подготовить и загрузить на устройство файл категорий и подкатегорий для ввода точек;
- кэш тайлов карт для работы без доступа к сети Интернет.
Файл категорий и подкатегорий
Файл категорий и подкатегорий служит для формирования диалога ввода точек. На первой вкладке диалога (см. рис. 2) пользователю предлагается ввести описание вводимой точки.
Для повышения оперативности ввода точки и исключения печати на экранной клавиатуре используются выпадающие списки (категорий и подкатегорий). Значения в списке получаются из файла категорий и подкатегорий. При выборе в списке какой либо категории, в списке подкатегорий буду заполнены соответствующие этой категории значения и установлена первая подкатегория. После этого пользователь сможет выбрать необходимую подкатегорию.
При первом запуске в папке с данными программы будет сформирован шаблон файла категорий и подкатегорий.
Файл располагается в папке с программой (обычно по следующему пути: Android/data/com.nextgis.mobile/files/categories.xml). Файл может быть скачан с устройства и отредактирован. Переименование файла и изменение его кодировки не допускается. После изменений файл необходимо скопировать обратно на устройство в папку с данными программы (Android/data/com.nextgis.mobile/files).
Файл categories.xml имеет следующую структуру:
<?xml version="1.0" encoding="utf-8"?>
<categories>
<category name="animals">
<subcategory name="marsupials"/>
<subcategory name="carnivores"/>
...
</category>
<category name="plants">
<subcategory name="Aconitum"/>
<subcategory name="Datura"/>
...
</category>
<!-- add button to add custom subcategory -->
<category name="custom"/>
</categories>
Файл включает в себя стандартный заголовок XML (<?xml version="1.0" encoding="utf-8"?>), далее следуют тег набора категорий (<categories> … </categories>), внутри тега набора категорий идут теги отдельных категорий (<category name="animals"> … </category>), внутри тега категорий перечисляются подкатегории (<subcategory name="Aconitum"/>). При наличии тега <category name="custom"/> появляется возможность вводить пользовательские данные в отдельное поле ввода (см. рис. 2 п. 3), иначе поле деактивировано.
Для задания необходимых значений, которые будут выводится в списках 1 и 2 диалога ввода точки (см. рис. 2), используется атрибут name="Aconitum". В кавычках указывается необходимое значение, которое появится в соответствующих списках.
Подготовка карт для работы без доступа к сети Интернет
При отображении карты в программе могут использоваться как источники из сети Интернет (OpenStreetMap), так и данные на самом устройстве.
Для работы без доступа к сети Интернет необходимо сформировать один или несколько архивов с кэшем тайлов и загрузить их на устройство.
Для формирования архивов рекомендуется использовать настольную ГИС NextGIS QGIS совместно с модулем расширения QTiles (см. рис. 3).
Сформированные при помощи модуля QTiles архивы с кэшем тайлов следует загрузить на устройство в папку osmdroid, которая обычно располагается в корне карточки памяти (SDCard) или в корне файловой системы устройства. Архивам можно присвоить любые названия. При выборе масштаба тайлов не рекомендуется ставить максимальный масштаб более 19 — карта не поддерживает зуммирование на большие уровни, а лишние тайлы занимают место в памяти устройства и приводят к задержкам при чтении содержимого архива.
Для ускорения работы программы рекомендуется держать в папке osmdroid только те архивы кэша тайлов, которые необходимы в текущий момент. Остальные архивы можно положить в отдельную папку и переносить в папку osmdroid по мере необходимости, а также возвращать обратно архивы, надобность в которых отпала.
Кроме того, можно загрузить тайловый кэш, не выполняя архивирование в директорию osmdroid/tiles. Это может значительно ускорить отрисовку карты. Однако, при подключении к сети Интернет, тайлы могут быть перезаписаны тайлами, полученными из OpenStreetMap.
Описание функций
Главный экран программы представлен на рисунке 4.
На рисунке цифрами обозначено:
- Меню выбора экранов. Включает в себя пункты: "Карта" и "Компас".
- Карта.
- Кнопки увеличения и уменьшения карты.
- Кнопка меню.
- Кнопка центрирования карты в координатах, полученных от провайдера данных местоположения (GPS, Wi-Fi или по базовым станциям).
- Кнопка включения/отключения показа окна информации (скорость, координаты и высота).
- Кнопка включения/отключения записи GPS трека.
- Кнопка ввода точки.
- Кружок ошибки определения координат.
- Местоположение устройства на карте.
Кнопка меню показывается только на тех устройства, на которых нет аппаратной кнопки. В состав меню входят следующие пункты:
- Настройки
- О программе.
Экран компаса представлен на рисунке 5.
На рисунке цифрами обозначено:
- Кнопка возврата к предыдущему экрану. Работает аналогично аппаратной (или программной) кнопке возврата.
- Кнопка меню.
- Циферблат компаса. Можно вращать для удобства определения азимута на цель.
- Азимут направления (зависит от ориентации устройства).
- Стрелка С-Ю.
- Индикатор "горизонтального" расположения устройства для более точного получения направления на стороны света.
Ввод точек представляет собой пошаговый мастер (см. рис. 6 - 9). В диалоге можно перейти к любому шагу или сразу же нажать на кнопку ввода.
На рисунке 6 представлен экран ввода описания точки.
На рисунке цифрами обозначено:
- Открытый список категорий.
- Перечень вкладок с экранами. Переход между вкладками можно выполнять нажатием на заголовок вкладки или перелистыванием.
- Кнопка ввода точки. Кнопка присутствует на всех экранах. При ее нажатии данные записываются в файл.
- Кнопка отмены. При нажатии на кнопку закрывается диалог.
- Кнопка меню.
- Категория "custom" для ввода пользовательской информации.
После экрана ввода описания, следует экран ввода ориентировки. Если нет возможности подойти к точке, то можно указать ориентировку на нее. Для этого необходимо повернуть циферблат компаса, что бы красная стрелка указывала на необходимый объект и указать расстояние до него.
Экран ввода ориентировки представлен на рисунке 7.
На рисунке цифрами обозначено:
- Азимут направления на объект.
- Циферблат для указания направления.
- Поле ввода расстояния.
Каждой вводимой точки могут быть сопоставлены одна или несколько фотографий. Для съемки и ввода фотографий служит экран ввода фотографий (см. рис. 8).
На рисунке цифрами обозначено:
- Кнопка для съемки фотографии. В стандартном приложении съемки фотографий нужно нажать кнопку ввода полученной фотографии для того, чтобы она появилась в списке 2.
- Список выполненных фотографий. Все фотографии сохраняются в папке с данными программы, в подпапке Pictures (например, путь может быть таким: Android/data/com.nextgis.mobile/files/Pictures).
Последний экран (см. рис. 9) служит для ввода примечания, а также отображает краткую сводку.
После ввода точки в папке с данными программы будет создан файл points.csv, куда будут записаны данные. Если файл уже создан, то данные будут записаны в конец файла.
Файл points.csv имеет следующие поля (колонки):
- date_time – дата и время
- lat – широта
- lon – долгота
- acc – точность (данные о точности получаются либо из операционной системы, либо рассчитываются самостоятельно, в зависимости от настроек)
- error_est – способ определения ошибки местоположения
- h – высота
- dir – направление движения в момент съемки координат
- src – источник позиционной информации (GPS, ,базовые станции, WiFi)
- speed – скорость движения
- gps_t – время GPS
- cat – категория
- subcut – подкатегория
- az – азимут указанный при помощи компаса
- len – расстояние указанное на экране ввода ориентировки
- desc – описание
- photos – массив имен фотографий
- photos_az – массив азимутов, соответствующих фотографиям
Для записи треков служит кнопка 7 (см. рис. 4). При нажатии кнопки стартует отдельный сервис записи. Программа может быть свернута в фон и запись не прервется.
Для контроля за состоянием записи треков в строке статуса операционной системы выводится иконка (см. рис. 10). При ее нажатии программа активируется.
Запись трека ведется в стандартном формате GPX. Треки сохраняются при повторном нажатии на кнопку записи. При этом создается файл с расширение gpx в подпапке GPX папки с данными программы (например, Android/data/com.nextgis.mobile/files/gpx).
На рисунках 11 и 12 представлены экраны настроек и сведений о программе соответственно.
Настройки
Можно настраивать следующие параметры:
- Основные установки:
- идентификатор пользователя – идентификатор, который сопровождает данные о местоположении устройства, передаваемые на сервер;
- сервер хранения – путь до скрипта записи данных местоположения устройства;
- запускать службу при старте системы – запускает фоновые службы отслеживания местоположения и отправки координат при старте системы.
- Точность снятия координат:
- отметка уточненного снятия координат – если стоит отметка, включается режим накопления координат и усреднения местоположения точки;
- количество измерений GPS координат – количество координат, которые надо накопить для усреднения местоположения точки;
- радиус погрешности – способ расчета погрешности (CE50, CE90, CE95 и CE98).
- Установки местоположения:
- формат ввода координат (ГГ-ММ-СС.СС, ГГ-ММ.ММ или ГГ.ГГГГ);
- вибрация при касании компаса;
- не выключать экран, когда активен компас;
- показывать истинный полюс;
- показывать магнитный полюс.
- Установки передачи данных:
- минимальное время между посылками местоположения – большая частота посылок местоположения может разряжать батарею устройства;
- выводить из режима сна для посылки местоположения – в операционной системе имеется планировщик, который пробуждает устройства для выполнения типовых операций (проверка почты, синхронизация и т. п.). Если будет активирована данная настройка, то устройство будет пробуждаться чаще, что может быстрее разряжать батарею устройства;
- запуск/остановка службы передачи местоположения.
- Установки трекера:
- минимальное расстояние, на котором будут фиксироваться точки трека;
- минимальное время, через которое будут фиксироваться точки трека;
- запуск/остановка службы трекера – при активировании будут записываться координаты для фоновой передачи на сервер хранения.
Ниже приведен пример простого PHP-скрипта для записи информации о местоположении на сервере хранения.
<?php
$uid = $_GET["uid"];
$acc = $_GET["acc"];
$alt = $_GET["alt"];
$dir = $_GET["dir"];
$lat = $_GET["lat"];
$lon = $_GET["lon"];
$prov = $_GET["prov"];
$speed = $_GET["speed"];
$time = $_GET["time"];
$time_utc = $_GET["time_utc"];
$str = $uid.";".$acc.";".$alt.";".$dir.";".$lat.";".$lon.";".$prov.";".$speed.";".$time.";".$time_utc.";\n";
$fhandle = fopen($uid.".csv",'a+');
fwrite($fhandle, $str);
fclose($fhandle);
?>
Сообщения пользователю
1. | Служба трекера запущена | Всплывающее сообщение при старте службы записи местоположения для фоновой передачи. |
2. | Служба трекера остановлена | Всплывающее сообщение при остановке службы записи местоположения для фоновой передачи. |
3. | Служба передачи местоположения запущена | Всплывающее сообщение при старте службы передачи местоположения в фоновом режиме. |
4. | Служба передачи местоположения остановлена | Всплывающее сообщение при остановке службы передачи местоположения в фоновом режиме. |
5. | Ошибка определения координат | Всплывающее сообщение, если не удалось определить координаты по всем провайдерам местоположения. В основном возникает при попытке поставить точку до того как получены координаты местоположения. |