Aides à la JSON conversion géographique - Amazon Location Service

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Aides à la JSON conversion géographique

Les aides à la JSON conversion Amazon Location Geo fournissent des outils permettant de convertir les types de données Amazon Location Service vers et depuis le format Geo standard. JSON Geo JSON est utilisé, par exemple, pour MapLibre afficher des données géographiques sur la carte. Il s'agit d'une bibliothèque open source disponible sur GitHub, ici : https://github.com/aws-geospatial/amazon-location-utilities-datatypes-js.

Montage

Vous pouvez utiliser les bibliothèques avec une installation locale, comme Webpack, ou en incluant des JavaScript bundles prédéfinis avec des <script> balises dans votre code HTML.

  • Utilisez la commande suivante pour installer la bibliothèque, en utilisantNPM.

    npm install @aws/amazon-location-utilities-datatypes
  • Utilisez la commande suivante dans votre HTML fichier pour charger le script :

    <script src="https://unpkg.com/@aws/amazon-location-utilities-datatypes@1.x/dist/amazonLocationDataConverter.js"></script>

Importer

Pour utiliser une fonction spécifique dans votre JavaScript application, vous devez importer cette fonction. Le code suivant est utilisé pour importer la fonction placeToFeatureCollection dans votre application.

import { placeToFeatureCollection } from '@aws/amazon-location-utilities-datatypes';

Fonctions de JSON conversion géographique

Les aides à la JSON conversion Amazon Location Geo incluent les fonctions suivantes :

  • placeToFeatureCollection(place: GetPlaceResponse | searchPlaceIndexForPositionResponse | searchPlaceIndexForTextResponse, keepNull: boolean): Feature— Cette fonction convertit les réponses des fonctions de recherche de lieux en une zone géographique JSON FeatureCollection comportant un ou plusieurs points.

  • devicePositionToFeatureCollection(devicePositions: GetDevicePositionResponse | BatchGetDevicePositionResponse | GetDevicePositionHistoryResponse | ListDevicePositionsResponse, keepNull: boolean)— Cette fonction convertit les réponses provenant des fonctions de position de l'appareil de suivi en une JSON FeatureCollection géolocalisation dotée d'un ou plusieurs points.

  • routeToFeatureCollection(legs: CalculateRouteResponse): FeatureCollection— Cette fonction convertit les réponses de la fonction de calcul d'itinéraire en une Geo JSON FeatureCollection avec une seule MultiStringLine fonctionnalité. Chaque étape de l'itinéraire est représentée par une LineString entrée dans le MultiStringLine.

  • geofenceToFeatureCollection(geofences: GetGeofenceResponse | PutGeofenceRequest | BatchPutGeofenceRequest | ListGeofencesResponse): FeatureCollection— Cette fonction convertit la demande ou la réponse des fonctions de géofence en une géolocalisation JSON FeatureCollection avec des fonctionnalités polygonales. Il peut convertir les géofences à la fois dans la réponse et dans la demande, ce qui vous permet d'afficher les géofences sur une carte avant de les télécharger avec ou. PutGeofence BatchPutGeofence

    Cette fonction convertira une géofence circulaire en une entité dotée d'un polygone approximatif, mais comportera également des propriétés « centre » et « rayon » permettant de recréer la géofence circulaire, si nécessaire (voir la fonction suivante).

  • featureCollectionToGeofences(featureCollection: FeatureCollection): BatchPutGeofenceRequestEntry[]— Cette fonction convertit une zone géographique JSON FeatureCollection avec des entités polygonales en un tableau d' BatchPutGeofenceRequestEntry objets, de sorte que le résultat peut être utilisé pour créer une demande à. BatchPutGeofence

    Si une entité FeatureCollection présente les propriétés « centre » et « rayon », elle sera convertie en une entrée de demande de géofence circulaire, sans tenir compte de la géométrie du polygone.

Exemple : conversion des résultats de recherche en couche de points dans MapLibre

Cet exemple l'utilise AWS SDK pour la JavaScript v3.

import { placeToFeatureCollection } from '@aws/amazon-location-utility-datatypes'; ... let map; // map here is an initialized MapLibre instance const client = new LocationClient(config); const input = { your_input }; const command = new searchPlaceIndexForTextCommand(input); const response = await client.send(command); // calling utility function to convert the response to GeoJSON const featureCollection = placeToFeatureCollection(response); map.addSource("search-result", featureCollection); map.addLayer({ id: "search-result", type: "circle", source: "search-result", paint: { "circle-radius": 6, "circle-color": "#B42222", }, });