Добавьте карты и службы определения местоположения в свои приложения

Мы живем в глобальном и цифровом мире, где все и вся взаимосвязаны. Практически любое приложение, о котором вы только можете подумать, может быть дополнено картами и технологией определения местоположения. Клиенты требуют, чтобы службы доставки на дом были быстрыми и прозрачными. Все хотят иметь доступ к географической информации в режиме реального времени (например, выборы, стихийные бедствия, дорожное движение, COVID, карты войн и т.д.) Они хотят получать информацию о местах поблизости (рестораны, бары, гостиницы, банкоматы), а также удаленно исследовать места (найти дом, маршруты, магазины, изучить пункт назначения) или людей (знакомства, фрилансеры, подрядчики) с индивидуальным опытом. Предприятиям необходимо оптимизировать и масштабировать свои операции (маршрутизация транспортных средств, отслеживание перемещений внутри помещений, управление рабочей силой, оптимизация землепользования) устойчивым и инновационным способом. Для этих и многих других приложений ваши приложения выиграют от использования простых, доступных и мощных API для картографии и определения местоположения.

Вы можете создавать приложения для веб, мобильных, настольных компьютеров, IoT, а также для интеграции между системами. Многие из этих сервисов можно использовать как онлайн, так и офлайн, как в помещении, так и на улице.

В этом посте мы рассмотрим примеры кода на JavaScript, но вы можете разрабатывать на выбранном вами языке: ArcGIS APIs с JavaScript, TypeScript, Python, Swift, Kotlin, .NET, Qt, Java и REST, или APIs сторонних разработчиков с открытым исходным кодом, включая MapLibre, OpenLayers, Leaflet, CesiumJS и ArcGIS REST JS.

Службы определения местоположения

Службы определения местоположения ArcGIS — это веб-службы, размещенные в Esri, которые вы можете использовать для создания приложений картографии и пространственного анализа. Эти службы подразделяются на готовые к использованию, службы хостинга данных и службы управления контентом.

  • Готовые к использованию сервисы
    • служба базового слоя карты
    • геокодирование и поиск
    • маршрутизация
    • демографические данные
    • визуализация данных
  • хостинг данных
  • управление контентом

Недавно компания Esri представила ArcGIS Platform, платформу-как-услугу (PaaS), ориентированную на определение местоположения. Она предназначена для предоставления картографических услуг и услуг определения местоположения в виде набора независимых услуг, которые вы можете выбирать в той форме, которую вы ожидаете, с помощью простых в использовании API и отличного опыта разработчиков.

Служба базового слоя карты

Служба слоев базовой карты предоставляет глобальные слои базовой карты в различных стилях для использования в картографических приложениях. Слои базовых карт придают географический контекст карте или сцене, предоставляя статические плитки, содержащие географические справочные данные. Эти данные включают, в частности, топографические особенности, дорожную сеть, пешеходные дорожки, следы зданий, водные объекты, административные границы и метки.

Слои базовой карты включают множество различных стилей, в том числе:

  • Дневной и ночной стили навигации, полезные для вождения.
  • Светлые и темные стили улиц, полезные для городских районов.
  • Топографический стиль и стиль рельефа, полезный для сельской местности.
  • Изображения из спутниковых и воздушных источников, отображающие реальную географию.
  • Светло- и темно-серый холст для акцентирования наложенных данных.
  • Создавайте свои собственные стили слоев базовой карты с помощью редактора стилей векторной плитки ArcGIS.

Вы можете интегрировать вид карты в свое приложение с помощью всего нескольких строк кода:

    const mapView = new MapView({
      container: "viewDiv",
      map: new Map({
        basemap: "arcgis-navigation",
      }),
      center: [-15, 40],
      zoom: 9
    });
Вход в полноэкранный режим Выход из полноэкранного режима

Узнайте больше о базовых картах и быстро начните работу с выбранным вами API с помощью учебников по базовым картам.

Геокод и поиск

Поиск адреса или места, поиск совпадений и возврат полных адресов с указанием местоположения. Также поддерживается поиск конкретного названия предприятия на определенном расстоянии от места или поиск различных мест по названию категории, например, ресторанов, гостиниц, автовокзалов и многих других категорий.

Вы можете геокодировать адрес, сделав HTTPS-запрос к службе геокодирования findAddressCandidates или используя клиентские API. Укажите адрес, поля выходных данных и, по желанию, дополнительные параметры для уточнения поиска.

    const geocodingServiceUrl = "https://geocode-api.arcgis.com/arcgis/rest/services/World/GeocodeServer";
    const params = {
        address: {
            "address": "1600 Pennsylvania Ave NW, DC"
        }
    }
    locator.addressToLocations(geocodingServiceUrl, params).then((results) => {
        showResult(results);
    });
Вход в полноэкранный режим Выход из полноэкранного режима

Узнайте больше о службе геокодирования и быстро начните работу с выбранным вами API с помощью учебников по поиску.

Маршрутизация

Находите маршруты, направления и выполняйте расширенный анализ уличных сетей. Сервис может решать такие сетевые задачи, как создание оптимизированного маршрута для посещения многих пунктов назначения, поиск ближайшего аварийного автомобиля или объекта, определение зоны обслуживания вокруг местоположения или обслуживание набора заказов с помощью парка транспортных средств.

Например, маршрутизация позволяет найти наилучший путь от пункта отправления до пункта назначения в уличной сети. Маршрутизация учитывает множество различных параметров уличной сети, таких как ограничение скорости, количество полос движения и время суток. Маршрутизация также может учитывать другие данные реального времени, такие как дорожные условия, аварии и другие препятствия.

    const routeUrl = "https://route-api.arcgis.com/arcgis/rest/services/World/Route/NAServer/Route_World";
    const routeParams = new RouteParameters({
        stops: new FeatureSet({
            features: mapView.graphics.toArray()
        }),
        returnDirections: true,
        directionsLanguage: "es"
    });
    route.solve(routeUrl, routeParams)
    .then((serviceResponse) => {
        if (serviceResponse.routeResults.length > 0) {
            showRoute(serviceResponse.routeResults[0].route);
            showDirections(serviceResponse.routeResults[0].directions.features);
        }
    });
Вход в полноэкранный режим Выход из полноэкранного режима

Демография

Найдите факты и демографическую информацию о местности или регионе с помощью услуги GeoEnrichment. Выбирайте из более чем 15 000 переменных для анализа в более чем 130 странах и регионах, включая демографические показатели, сегментацию образа жизни, потребительские расходы и рыночный потенциал. Обогатите свои собственные данные контекстом, основанным на местоположении людей и мест в регионе. Анализируйте рынки и потребителей, выявляйте недостаточно обслуживаемые сообщества и формулируйте более эффективные деловые и политические решения.

Вы можете выполнять демографические запросы с помощью HTTPS-запроса к службе GeoEnrichment или с помощью клиентских API. Укажите x, y и, по желанию, дополнительные параметры для уточнения операции.

Отправка точки в службу является наиболее распространенным вариантом использования, и параметры по умолчанию создают буфер в 1 милю вокруг точки и возвращают факты из сбора данных по умолчанию. Для уточнения опций можно использовать такие параметры, как области исследования, коллекции данных, переменные анализа. Эти дополнительные параметры обеспечивают контроль над тем, как точка буферизируется и какие атрибуты возвращаются.

    arcgisRest.queryDemographicData({
        studyAreas: [{ "geometry": { "x": point.longitude, "y": point.latitude } }],
        authentication: authentication
    })
    .then((response) => {
        if (response.results[0].value.FeatureSet.length > 0 &&
        response.results[0].value.FeatureSet[0].features.length > 0) {
            const attributes = response.results[0].value.FeatureSet[0].features[0].attributes;
            showData(attributes, point);
        }
    });
Войти в полноэкранный режим Выход из полноэкранного режима

Узнайте больше о возможностях демографических служб и попробуйте воспользоваться учебными пособиями.

Визуализация данных

API и инструменты ArcGIS дают вам возможность стилизовать данные и создавать значимые визуализации для карт и сцен. Вы можете стилизовать слои basemap, которые состоят из векторных плиточных данных, или слои feature, которые состоят из характеристик. Стилизация позволяет рассказать историю о данных и помогает создавать более содержательные приложения.

Географические данные можно стилизовать на стороне клиента с помощью рендерера. Рендереры отвечают за использование значений атрибутов для применения соответствующего символа к каждой характеристике, когда слой рисуется на карте. Рендереры можно использовать с визуальными переменными и выражениями для создания более сложных, управляемых данными визуализаций. Это лишь краткий пример множества доступных методов визуализации.

    const dotDensityRenderer = new DotDensityRenderer({
        dotValue: 400,
        outline: null,
        referenceScale: 18489297, // 1:577,790 view scale
        legendOptions: {
            unit: "people"
        },
        blendDots: false,
        attributes: [
            {
                field: "NOHS_CY",
                color: "#ffa300",
                label: "No high school"
            },
            {
                field: "HSGRAD_CY",
                color: "#50e991",
                label: "High school diploma"
            },
            {
                field: "GRADDEG_CY",
                color: "#0bb4ff",
                label: "Graduate degree"
            }
        ].reverse()
    });
Вход в полноэкранный режим Выход из полноэкранного режима

Изучите больше вариантов визуализации в разделе Стили и визуализация данных.

Размещение данных

ArcGIS Platform позволяет хранить, управлять, запрашивать и обновлять географические данные в облаке. Вы можете использовать такие инструменты, как приборная панель разработчика, для импорта существующих данных, создания новых наборов данных или публикации данных в различных форматах. Все данные управляются и доступны как размещенный слой, а каждый слой работает на основе службы данных. После размещения вы можете легко получить доступ к службам данных с помощью приложений. Ваши данные остаются вашими данными, мы обеспечиваем конфиденциальность ваших данных, и вы всегда сохраняете полную собственность на свои данные, поскольку Esri не собирает никакой телеметрической информации.

    const trailheadsLayer = new FeatureLayer({
        url: "https://services3.arcgis.com/GVgbJbqm8hXASVYi/arcgis/rest/services/Trailheads_styled/FeatureServer/0"
    });
    map.add(trailheadsLayer);
Вход в полноэкранный режим Выход из полноэкранного режима

Узнайте о многочисленных способах размещения ваших данных, используйте онлайн-инструменты для управления вашими данными и попробуйте учебные пособия.

Управление контентом

С помощью ArcGIS Platform вы можете хранить и управлять контентом в облаке для своих приложений. Вы можете хранить геопространственный контент, такой как карты, сцены, слои и сервисы, конфигурации приложений для шаблонов и конструкторов, а также файлы, такие как документы Microsoft Word и PDF. Вы можете получить доступ к порталу с помощью интерактивных инструментов, таких как ArcGIS Online и панель разработчика, или создать пользовательские приложения, обращающиеся к службе портала. После хранения содержимого в облаке вы можете создавать приложения на основе содержимого, которые легко получают доступ и отображают 2D- и 3D-карты и данные из служб.

Для создания элементов и доступа к ним можно использовать интерактивные инструменты, клиентские API или REST API.

    const item = new PortalItem({
      id: "5a5147abe878444cbac68dea9f2f64e7",
      portal: "https://www.arcgis.com/sharing/rest"
    });
    item.load().then((response) => {
      ShowItemAttributes(response);
    });
Вход в полноэкранный режим Выход из полноэкранного режима

Узнайте, как начать работу с управлением контентом, и попробуйте воспользоваться учебными пособиями.

Резюме

Это был краткий обзор сервисов определения местоположения ArcGIS. Есть еще много интересного. Смешивайте и сочетайте эти службы определения местоположения с API по вашему выбору и создавайте нечто удивительное!

Оцените статью
Procodings.ru
Добавить комментарий