v2023
Integrarea datelor geospațiale. ArcGIS JavaScript API
Pentru a folosi API-urile ArcGIS, aveți nevoie de un API KEY generat pe contul ArcGIS Developer.
JavaScript este un limbaj de programare aparent simplu (se poate face rapid o aplicație simplă, rulează în browser, nu necesită un toolkit avansat) dar în același timp complex (programare asincronă, multi-paradigmă). Există numeroase framework-uri de JavaScript pentru dezvoltarea aplicațiilor web, atât pe partea de front end (Angular, Vue, React), cât și de back end (Node.js).
Pentru acest laborator, vom realiza o aplicație simplă în browser, folosind API-ul de JavaScript pentru ArcGIS, și un tutorial pas cu pas. Nu sunt necesare cunoștințe avansate de JavaScript, dar pentru o mai bună înțelegere a limbajului de programare și a modului de organizare a unei aplicații web, puteți consulta tutoriale disponibile online:
API-ul ArcGIS are la bază toolkit-ul Dojo și este construit pe bază de module ce suportă încărcare modulară dinamică (AMD) prin require.js.
Pentru a începe lucrul cu JavaScript API, găsiți aici un setup minimal pentru a afișa o hartă: Display a map
Structura aplicației ArcGIS are la bază sistemul modular bazat pe Dojo:
require([ "esri/config", "esri/Map", "esri/views/MapView" ], function(esriConfig, Map, MapView) {
Pentru a vă putea testa codul puteți folosi Sandbox-ul codepen.io Pentru a salva proiectele realizate în CodePen este necesar să vă creați un cont gratuit.
În proiecte mai complexe, separarea fișierelor (.html, .css, .js) permite o mai bună organizare a aplicației, și facilități de formatare și verificare a sintaxei în cazul folosirii unui IDE (de ex. Visual Studio Code).
ArcGIS pune la dispoziție o multitudine de servicii interactive ce pot fi integrate în aplicații web folosind JavaScript API: Mapping APIs and location services
Se poate folosi serviciul de rutare pentru calcularea rutelor și afișarea indicațiilor de navigație (este necesar contul de developer și API key-ul generat) Routing service
Testați serviciul de rutare în CodePen, folosind API key-ul generat în laboratorul anterior.
Pentru căutarea locațiilor dintr-o arie geografică se poate folosi serviciul Place search. Acesta poate returna locații după categorie (ex. cafenea), nume (ex. Starbucks), adresă, sau coordonate (lat, lng).
Inițializați aplicația și afișați harta folosind API-ul de JavaScript:
https://developers.arcgis.com/javascript/latest/display-a-map/
Adăugați modulul esri/widgets/Locate
pentru a integra funcția de localizare și urmărire prin geolocație:
https://developers.arcgis.com/javascript/latest/display-your-location/
Se pot adăuga elemente grafice definite prin coordonate geografice (latitudine, longitudine). Aceste elemente definesc un layer grafic, ce poate fi gestionat direct la nivel de aplicație.
Elementele grafice de tip Point
, Polyline
, Polygon
se definesc prin coordonate și simboluri, și sunt afișate pe hartă folosind un obiect de tip Graphic
.
https://developers.arcgis.com/javascript/latest/add-a-point-line-and-polygon/
Se pot adăuga layere din surse externe în diferite moduri:
FeatureLayer
GeoJSONLayer
RasterLayer
Adăugați modulul esri/layers/FeatureLayer
pentru a integra layere de tip FeatureLayer
.
https://developers.arcgis.com/javascript/latest/add-a-feature-layer/
Adăugați modulul esri/layers/GeoJSONLayer
pentru a integra layere dintr-un fișier GeoJSON.
https://developers.arcgis.com/javascript/latest/sample-code/layers-geojson/
esri/layers/GeoJSONLayer
se pot integra layere din surse externe, fără a fi necesară crearea unui FeatureLayer pe platforma ArcGIS. Fișierul GeoJSON poate fi hostat pe un server, independent de platforma ArcGIS.
Nu avem încă un server separat, dar dorim să integrăm un layer dintr-un fișier. Vom importa mai întâi un layer din formatul GeoJSON în ArcGIS Developer. Încărcați layer-ul din fișierul Trails.geojson
descărcat anterior (sau de aici) în contul ArcGIS Developer: https://developers.arcgis.com/layers/
Configurați FeatureLayer-ul generat pentru a fi accesibil public:
Feature Layer (hosted)
corespunzătoare layer-ului importat, apoi selectați opțiunea Share: Everyone (Public)
Înlocuiți link-ul din tutorial cu link-ul către acest layer nou creat.
Layerele adăugate pot fi configurate programatic din aplicație.
https://developers.arcgis.com/javascript/latest/style-a-feature-layer/
Popup-urile pot fi configurate programatic din aplicație.
https://developers.arcgis.com/javascript/latest/display-a-pop-up/
Creați o (singură) aplicație web care să includă toate funcționalitățile din planul de laborator. Adăugați toate resursele specificate în tutorial.