Auxiliares de conversão GeoJSON
Os auxiliares de conversão GeoJSON do Amazon Location fornecem ferramentas para converter tipos de dados do Amazon Location Service de e para o formato GeoJSON
Instalação
Você pode usar as bibliotecas com uma instalação local, como o webpack, ou incluindo pacotes JavaScript pré-criados com tags <script>
em seu html.
-
Use o comando a seguir para instalar a biblioteca, usando NPM.
npm install @aws/amazon-location-utilities-datatypes
-
Use o comando a seguir em seu arquivo HTML para carregar o script:
<script src="https://unpkg.com/@aws/amazon-location-utilities-datatypes@1.x/dist/amazonLocationDataConverter.js"></script>
Importar
Para usar uma função específica em seu aplicativo JavaScript, você deve importar essa função. O código a seguir é usado para importar a função placeToFeatureCollection
para seu aplicativo.
import { placeToFeatureCollection } from '@aws/amazon-location-utilities-datatypes';
Funções de conversão GeoJSON
Os auxiliares de conversão GeoJSON do Amazon Location incluem as seguintes funções:
-
placeToFeatureCollection(place: GetPlaceResponse | searchPlaceIndexForPositionResponse | searchPlaceIndexForTextResponse, keepNull: boolean): Feature
: esta função converte respostas das funções de pesquisa de lugares em uma GeoJSON FeatureCollection (coleção de atributos) com um ou mais atributos do Point. -
devicePositionToFeatureCollection(devicePositions: GetDevicePositionResponse | BatchGetDevicePositionResponse | GetDevicePositionHistoryResponse | ListDevicePositionsResponse, keepNull: boolean)
: esta função converte respostas das funções de posição do dispositivo rastreador em uma GeoJSON FeatureCollection com um ou mais atributos do Point. -
routeToFeatureCollection(legs: CalculateRouteResponse): FeatureCollection
: esta função converte respostas da função calcular rota em uma GeoJSON FeatureCollection com um único atributo MultiStringLine. Cada trecho da rota é representado por uma entrada LineString no MultiStringLine. -
geofenceToFeatureCollection(geofences: GetGeofenceResponse | PutGeofenceRequest | BatchPutGeofenceRequest | ListGeofencesResponse): FeatureCollection
: esta função converte a solicitação ou a resposta das funções de geocercas em uma GeoJSON FeatureCollection com atributos Polygon. Ela pode converter geocercas tanto na resposta quanto na solicitação, permitindo que você mostre geocercas em um mapa antes de carregá-las com PutGeofence (colocar geocerca) ou BatchPutGeofence (colocar geocercas em lote).Essa função converterá uma geocerca circular em um atributo com um polígono aproximado, mas também terá propriedades de “centro” e “raio” para recriar a geocerca circular, se necessário (veja a próxima função).
-
featureCollectionToGeofences(featureCollection: FeatureCollection): BatchPutGeofenceRequestEntry[]
: esta função converte uma GeoJSON FeatureCollection com atributos Polygon em uma matriz de objetos BatchputGeofenceRequestEntry (entrada de solicitação de colocar geocercas em lote), para que o resultado possa ser usado para criar uma solicitação de BatchputGeofence.Se um atributo da FeatureCollection tiver propriedades de “centro” e “raio”, ele será convertido em uma entrada de solicitação de geocerca circular, ignorando a geometria do polígono.
Exemplo: converter resultados de pesquisa em uma camada de pontos no MapLibre
Este exemplo usa o AWS SDK v3 para JavaScript.
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", }, });