Laboratorul 03. ArcGIS JavaScript API

v2023

Integrarea datelor geospațiale. ArcGIS JavaScript API

Obiective laborator

  • Familiarizare cu servicii de date în ArcGIS
    • Un feature layer poate fi expus ca printr-un serviciu web (feature service)
  • Introducere în ArcGIS for Developers
  • Familiarizare cu ArcGIS JavaScript API
  • Înțelegerea modului de realizare a unei aplicații web cu JavaScript API
  • Înțelegerea modului de integrare a funcționalităților ArcGIS interactive
  • Familiarizare cu serviciile avansate din ArcGIS
    • Serviciul de rutare
    • Serviciul de căutare a locațiilor

ArcGIS for Developers

Pentru a folosi API-urile ArcGIS, aveți nevoie de un API KEY generat pe contul ArcGIS Developer.

Pentru a accesa contul ArcGIS Developer, se poate transforma contul public în cont de developer, fără costuri suplimentare (în loc să creați un cont free trial care expiră).

Familiarizare cu JavaScript

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:

Rareori aplicațiile web de complexitate medie sunt scrise direct în JavaScript. De regulă se folosesc framework-uri pentru a gestiona structura și funcționalitățile generale ale aplicațiilor, dar toate acestea au la bază o cunoaștere bună a limbajului.

API-ul de JavaScript pentru ArcGIS este folosit pentru a crea aplicații web customizabile, independente de tipul de browser folosit. API-ul este bazat pe Dojo, un toolkit care permite realizarea aplicațiilor modulare.

Dojo

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.

Găsiți aici informații suplimentare din documentația Dojo

Setup aplicație web

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) 
{

Sandbox

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.

Folosiți tab-urile corespunzătoare pentru a scrie cod HTML, CSS și JavaScript, în loc să scrieți tot codul în HTML.

Î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).

Servicii ArcGIS (avansate)

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

Rutare

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.

Căutare locații

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).

Plan laborator

Inițializare hartă

Inițializați aplicația și afișați harta folosind API-ul de JavaScript:

https://developers.arcgis.com/javascript/latest/display-a-map/

Geolocație

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/

Elemente grafice pe hartă

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/

Adăugare layere

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/

Folosind modulul 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:

Alternativ, realizați operațiunea de partajare din secțiunea Content. Selectați resursa de tip 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.

Serviciile hostate pe contul vostru de ArcGIS Developer sunt gratuite în limitele definite pe pagina de Pricing

Configurare layere

Layerele adăugate pot fi configurate programatic din aplicație.

https://developers.arcgis.com/javascript/latest/style-a-feature-layer/

Configurare popup-uri

Popup-urile pot fi configurate programatic din aplicație.

https://developers.arcgis.com/javascript/latest/display-a-pop-up/

Task

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.

Resurse

isi/laboratoare-arhiva/03.txt · Last modified: 2024/10/06 22:13 by alexandru.predescu
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0