- Описание платформы
- Руководство администратора по установке и настройке
-
Руководство по созданию картографических приложений
- Введение
- Основные принципы работы в Конструкторе
- Настройка Каталога карт
- Папка
- Страница
- Ссылка
- Картографическое приложение
-
Правила SOE
- Назначение
- Управление возможностями SOE
- Плагины. Общие сведения.
- Редактирование объектов. Плагин Редактирование.
- Плагин ограничения на просмотр данных картографического сервиса
- Отслеживание истории изменений объектов
- Загрузка и выгрузка данных
- Галерея изображений
- Подсчет количества объектов в слое
- Расширенный поиск объектов. Гибкий поиск и ближайшие объекты.
- Приложение А. Макросы, используемые в настройках
-
Руководство по публикации ГИС-сервисов
- Введение
- Начало работы в CoGIS Server Manager
-
Каталог сервисов
- Общие принципы
- Просмотр сведений о сервисе или папке
- Изменение статуса сервиса
- Обновление сервиса из файла
- Выгрузка файла сервиса
- Редактирование имени сервиса
- Получение JSON-описания и адреса REST API для выбранного сервиса
- Навигация по каталогу
- Добавление новой папки
- Удаление и копирование сервиса или папки
- Поиск по каталогу
- Публикация картографических сервисов
- Публикация сервисов геокодирования
- Публикация сервисов геообработки
- Публикация сервисов сетевого анализа
- Публикация картографических сервисов мозаики
-
Руководство по созданию картографических проектов
- Введение
- Настройки подключения к базе данных
- Свойства QGS-проекта
- Слои и таблицы
- Свойства слоя
-
Настройки переменных
- Отслеживание изменений (Edit Tracker)
- Кластеризация
- Подтипы
- Полумасштабозависимость
- Отношение многие-ко-многим (many-to-many)
- Статичные подписи
- Представление на основе SQL-запроса (SQL-based view)
- Термокарты
- Тепловые карты
- Псевдо 3D
- Номера слоев
- Обрезка карты по слою (MaskLayer)
- Символ ЛЭП
- Подмена источника для отображения
- Фильтр на слой с возможностью использования макросов
- Диаграммы 3D
- Сортировка объектов слоя по полю для выдачи в запросе
- Выключение слоя из картографического сервиса
- Отображение видимой области с учётом рельефа
- Подпись узлов геометрии
- Проверка фильтров на слой по регулярному выражению
- Создание сервиса геокодирования
- Вложения (Attachments)
- История изменений
- Автообновляемость тайлов
- Шаболоны печати на основе макетов QGIS (формат qpt)
- Руководство по работе в мобильных приложениях
- Руководство по установке и настройке SOE for ArcGIS
API
Функции API могут быть использованы в виджете в JavaScript-плагине и в карточке объекта в элементе вызова JavaScript-кода.
Функции API включают:
-
Базовые функции работы с картой:
- createExtent(xmin,xmax,ymin,ymax,sr) – создание геометрии экстента;
- createPoint(x,y,sr) – создание геометрии точки;
- getCentroid(geometry) – получение центроида по геометрии;
- getSpatialReference(id) – получение СК по wkid или wkt;
- project(geometry, sr) – проецирование геометрии в нужную СК;
- goTo(geometry, maxScale, minScale, marginInPercent=20) - приближение к заданной геометрии, с возможностью задать необязательный минимальный и максимальный масштаб, и с заданием буфера вокруг геометрии перед приближением, чтобы искомая геометрия отображалась с отступами от края экрана, отступ задается в процентах;
- highlight(geometry, withLines=false) – подсветка геометрии с направляющими линиями и без них;
- showPushpin(geometry, icon=Иконка по умолчанию или заданная по URL) – отображение метки на карте, которая пропадает только после сдвига карты или изменения масштаба;
-
Логические функции проекта:
- getLayer(serviceUrl, layerId, existsIn=map/legend/search/attributeTable) – поиск слоя с использованием в JavaScript-плагине;
- searchInLayer(layer, whereClause, objectIds, geometry) – получение массива объектов (с геометрией и значением всех атрибутивных полей, если данные запросы разрешены настройками) по заданным условиям, objectIds и находящиеся в заданной геометрии в указанном слое, система координат соответствует системе координат карты;
- geocodeAddress(address, filters={prop1:value1,prop2:value2]}) – геокодирование по адресу для получения объектов по однострочному адресу и/или по дополнительным параметрам сервиса геокодирования. В случае, если в проекте используется несколько сервисов геокодирования, будет использоваться первый;
- addFilterToLayer(layer, criterion), removeFilterInLayer(layer, filter), clearAllFiltersInLayer(layer) – функция добавления/удаления заданных или всех фильтров слоя.
-
Визуальные функции карты:
- search(text) – вызов однострочного поиска в соответствии с настройками картографического проекта;
- openIdentify(feature, goTo=true, calloutOnly=false) – отображение карточки объекта для ранее найденного объекта;
- identify(geometry) – вызов идентификации объекта как имитация щелчка по координате;
- openAttributeTable(layer, panelHeight) – открытие атрибутивной таблицы с заданной высотой и выбор слоя. Высота может быть указана числом (в пикселах) или в процентах (строковое число со знаком % на конце);
- openWidget(name) – открытие указанного виджета.
- showAlert("Заголовок сообщения", "Сообщение") – отображение сообщения.
-
методы для вызова построения service area и find route и с выводом результата на карту:
-
api.constructServiceArea = function (points, cost, breaks, restrictions) – Построение зоны транспортной доступности.
пример: api.constructServiceArea([api.createPoint(82.9246, 55.0304, api.getSpatialReference(4326))], 'Geodesic_Length', [3, 6], ['Car'])
-
api.findRoute = function (points, cost, restrictions) – Построение маршрута.
пример: api.findRoute([api.createPoint(82.9246, 55.0304, api.getSpatialReference(4326)), api.createPoint(82.9546, 55.4304, api.getSpatialReference(4326))], 'Geodesic_Length', ['Car'])
- api.addGraphic = function (geometryInWGS84, symbol) – Добавление графического объекта на карту.
- api.deleteGraphic = function (graphic) – Удаление созданного графического объекта.
-
api.createColor = function (red, green, blue, alpha) – Определение цвета для дальнейшего использования для графического объекта на карте.
пример: api.createColor(255, 2, 2, 0.5)
- api.createSimplePointSymbol = function (color, size, outline, type) – Создание простого точечного символа (цвет, размер, тип) для раскраски точечного графического объекта.пример: api.createSimplePointSymbol(api.createColor(255, 2, 2), 10);
- api.createPicturePointSymbol = function (icon, iconSize, locationX, locationY) – Создание точечного символа в виде иконки (растровой картинки) для раскраски точечного графического объекта.
- api.createSimpleLineSymbol = function (color, width, type) – Создание простого линейного символа (цвет, ширина, тип) для раскраски линейного графического объекта.
- api.createSimpleLineSymbol = function (color, width, type) – Создание простого линейного символа (цвет, ширина, тип) для раскраски линейного графического объекта.
- api.createSimpleFillSymbol = function (color, outline, type) – Создание простого площадного символа (цвет, обводка, тип) для раскраски площадного графического объекта.
- Чтобы очистить маршрут или зоны транспортной доступности, нужно вызвать соответствующую функцию с пустым массивом точек.
Примеры:
-
api.constructServiceArea = function (points, cost, breaks, restrictions) – Построение зоны транспортной доступности.
-
Открытие атрибутивной таблицы:
<script>
api.openAttributeTable(api.getLayer("https://.../MapServer", 0),300);
</script>
-
Открытие карточки объекта:
<script>
var point = api.createPoint(7414817.879000001, 1.0027362619900003E7, api.getSpatialReference(3857));
api.goTo(point);
api.identify(point);
</script>
-
Вызов поиска:
<script>
api.search('Администрация');
</script>
-
Фильтрация объектов:
<div>
<div>Введите статус (например, 'Строящийся') и нажмите enter</div>
<input id='filtrationExample' style="width: 300px;margin-bottom: 10px;" type="text" data-bind="
event: {
keypress: function (data, event) {
if (event.keyCode == 13) {
api.addAttributeFilterToLayer(
api.getLayer('https://.../MapServer' , 0),
'status',
[$($element).val()],
'Equal');
return false;
}
return true;
}
}" />
</div>
<button class='action' data-bind="click: function() {
var layer = api.getLayer('https://.../MapServer' , 0);
api.removeAttributeFilterToLayer(layer,
'status',
[$('#filtrationExample').val()],
'Equal')
}">Удалить фильтр</button>
- Генерация отчета:
<script>
api.generateReport("simple.xlsx", {serviceUrl: "https://.../MapServer", layerId: 4, whereClause:"", orderBy:""}, {Caption: "test"});
</script>