
DevLab: "Create a web map (2D)"
Für einen schnellen Einstieg in die ArcGIS Technologie bieten die ArcGIS DevLabs auf developers.arcgis.com eine sehr gute Möglichkeit für Entwickler und die, die es werden wollen. Sie dienen dazu, Interessierte innerhalb kleiner Übungen durch die drei Phasen der Erstellung raumbezogener Apps zu führen:
- Beschaffung und Verarbeitung von Daten
- Visualisierung und Gestaltung von Daten
- Entwicklung eigener Apps mit entsprechender Funktionalität
Die Bearbeitungsdauer ist für jedes DevLab separat angegeben und beträgt zwischen 5 und 15 Minuten, wodurch es möglich ist, eine Übung ohne Unterbrechung zu absolvieren. Die Dauer kann je nach Kenntnisstand des Nutzers leicht abweichen, falls noch zusätzliche Software heruntergeladen und installiert werden muss.
Zu diesen Vorinstallationen gehören beispielsweise die für das Zielbetriebssystem passende ArcGIS Runtime SDK oder Postman, zur Abfrage der ArcGIS REST API. Keys und Values sind für die Abfrage bereits vorgegeben, um zu einem schnellen, interpretierbaren Ergebnis zu gelangen.
Aufgrund der großen Auswahl an DevLabs lässt sich das Angebot mittels verschiedener Filter auf die Wünsche des Nutzers konkretisieren. Ob nach einer bestimmten Thematik wie Routing oder Spatial Analysis, nach einem Produkt wie iOS oder Android oder direkt nach der REST API von esri gesucht wird, kann vorab ausgewählt werden.
Hier ein exemplarischer Request- und Response-JSON-Code für eine Abfrage an den ArcGIS World GeoEnrichment Service innerhalb des DevLabs "get demographic data".
f<SPAN class="operator token">:</SPAN>json
token<SPAN class="operator token">:</SPAN>GbGyIztsoLGLacjX_3W1EOF90c3HqTRZ_P9qah1At01tAqFaTI<SPAN class="operator token">-</SPAN>MeWcQhEwAy7oHW5giMyhM8YGVfLnBN8xVMUFOF9kGOOSU84qopHw2Cb<SPAN class="operator token">-</SPAN>rkWkc_<SPAN class="operator token">-</SPAN>9hDcOW1fkn<SPAN class="operator token">-</SPAN>1VH
inSR<SPAN class="operator token">:</SPAN><SPAN class="number token">4326</SPAN>
outSR<SPAN class="operator token">:</SPAN><SPAN class="number token">4326</SPAN>
returnGeometry<SPAN class="operator token">:</SPAN><SPAN class="token boolean">false</SPAN>
studyAreas<SPAN class="operator token">:</SPAN><SPAN class="punctuation token">[</SPAN> <SPAN class="punctuation token">{</SPAN> <SPAN class="string token">"geometry"</SPAN><SPAN class="operator token">:</SPAN><SPAN class="punctuation token">{</SPAN> <SPAN class="string token">"x"</SPAN><SPAN class="operator token">:</SPAN><SPAN class="operator token">-</SPAN><SPAN class="number token">118.09047</SPAN><SPAN class="punctuation token">,</SPAN>↵ <SPAN class="string token">"y"</SPAN><SPAN class="operator token">:</SPAN><SPAN class="number token">33.81091</SPAN>↵ <SPAN class="punctuation token">}</SPAN> <SPAN class="punctuation token">}</SPAN><SPAN class="punctuation token">]</SPAN>
studyAreasOptions<SPAN class="operator token">:</SPAN><SPAN class="punctuation token">{</SPAN><SPAN class="punctuation token">{</SPAN>$randomInt<SPAN class="punctuation token">}</SPAN><SPAN class="punctuation token">}</SPAN> <SPAN class="string token">"areaType"</SPAN><SPAN class="operator token">:</SPAN><SPAN class="string token">"RingBuffer"</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"bufferUnits"</SPAN><SPAN class="operator token">:</SPAN><SPAN class="string token">"esriMiles"</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"bufferRadii"</SPAN><SPAN class="operator token">:</SPAN><SPAN class="punctuation token">[</SPAN><SPAN class="number token">1</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">}</SPAN>
dataCollections<SPAN class="operator token">:</SPAN><SPAN class="punctuation token">[</SPAN><SPAN class="string token">"KeyGlobalFacts"</SPAN><SPAN class="punctuation token">]</SPAN>
returnFields<SPAN class="operator token">:</SPAN><SPAN class="token boolean">false</SPAN><SPAN class="line-numbers-rows"><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN></SPAN><SPAN class="punctuation token">{</SPAN>
<SPAN class="string token">"results"</SPAN><SPAN class="operator token">:</SPAN> <SPAN class="punctuation token">[</SPAN>
<SPAN class="punctuation token">{</SPAN>
<SPAN class="string token">"paramName"</SPAN><SPAN class="operator token">:</SPAN> <SPAN class="string token">"GeoEnrichmentResult"</SPAN><SPAN class="punctuation token">,</SPAN>
<SPAN class="string token">"dataType"</SPAN><SPAN class="operator token">:</SPAN> <SPAN class="string token">"GeoEnrichmentResult"</SPAN><SPAN class="punctuation token">,</SPAN>
<SPAN class="string token">"value"</SPAN><SPAN class="operator token">:</SPAN> <SPAN class="punctuation token">{</SPAN>
<SPAN class="string token">"version"</SPAN><SPAN class="operator token">:</SPAN> <SPAN class="string token">"2.0"</SPAN><SPAN class="punctuation token">,</SPAN>
<SPAN class="string token">"FeatureSet"</SPAN><SPAN class="operator token">:</SPAN> <SPAN class="punctuation token">[</SPAN>
<SPAN class="punctuation token">{</SPAN>
<SPAN class="string token">"displayFieldName"</SPAN><SPAN class="operator token">:</SPAN> <SPAN class="string token">""</SPAN><SPAN class="punctuation token">,</SPAN>
<SPAN class="string token">"fieldAliases"</SPAN><SPAN class="operator token">:</SPAN> <SPAN class="punctuation token">{</SPAN>
<SPAN class="string token">"ID"</SPAN><SPAN class="operator token">:</SPAN> <SPAN class="string token">"ID"</SPAN><SPAN class="punctuation token">,</SPAN>
<SPAN class="string token">"OBJECTID"</SPAN><SPAN class="operator token">:</SPAN> <SPAN class="string token">"Object ID"</SPAN><SPAN class="punctuation token">,</SPAN>
<SPAN class="string token">"sourceCountry"</SPAN><SPAN class="operator token">:</SPAN> <SPAN class="string token">"sourceCountry"</SPAN><SPAN class="punctuation token">,</SPAN>
<SPAN class="string token">"areaType"</SPAN><SPAN class="operator token">:</SPAN> <SPAN class="string token">"areaType"</SPAN><SPAN class="punctuation token">,</SPAN>
<SPAN class="string token">"bufferUnits"</SPAN><SPAN class="operator token">:</SPAN> <SPAN class="string token">"bufferUnits"</SPAN><SPAN class="punctuation token">,</SPAN>
<SPAN class="string token">"bufferUnitsAlias"</SPAN><SPAN class="operator token">:</SPAN> <SPAN class="string token">"bufferUnitsAlias"</SPAN><SPAN class="punctuation token">,</SPAN>
<SPAN class="string token">"bufferRadii"</SPAN><SPAN class="operator token">:</SPAN> <SPAN class="string token">"bufferRadii"</SPAN><SPAN class="punctuation token">,</SPAN>
<SPAN class="string token">"aggregationMethod"</SPAN><SPAN class="operator token">:</SPAN> <SPAN class="string token">"aggregationMethod"</SPAN><SPAN class="punctuation token">,</SPAN>
<SPAN class="string token">"HasData"</SPAN><SPAN class="operator token">:</SPAN> <SPAN class="string token">"HasData"</SPAN><SPAN class="punctuation token">,</SPAN>
<SPAN class="string token">"TOTPOP"</SPAN><SPAN class="operator token">:</SPAN> <SPAN class="string token">"Total Population"</SPAN><SPAN class="punctuation token">,</SPAN>
<SPAN class="string token">"TOTHH"</SPAN><SPAN class="operator token">:</SPAN> <SPAN class="string token">"Total Households"</SPAN><SPAN class="punctuation token">,</SPAN>
<SPAN class="string token">"AVGHHSZ"</SPAN><SPAN class="operator token">:</SPAN> <SPAN class="string token">"Average Household Size"</SPAN><SPAN class="punctuation token">,</SPAN>
<SPAN class="string token">"TOTMALES"</SPAN><SPAN class="operator token">:</SPAN> <SPAN class="string token">"Male Population"</SPAN><SPAN class="punctuation token">,</SPAN>
<SPAN class="string token">"TOTFEMALES"</SPAN><SPAN class="operator token">:</SPAN> <SPAN class="string token">"Female Population"</SPAN>
<SPAN class="punctuation token">}</SPAN><SPAN class="punctuation token">,</SPAN>
<SPAN class="string token">"spatialReference"</SPAN><SPAN class="operator token">:</SPAN> <SPAN class="punctuation token">{</SPAN>
<SPAN class="string token">"wkid"</SPAN><SPAN class="operator token">:</SPAN> <SPAN class="number token">4326</SPAN><SPAN class="punctuation token">,</SPAN>
<SPAN class="string token">"latestWkid"</SPAN><SPAN class="operator token">:</SPAN> <SPAN class="number token">4326</SPAN>
<SPAN class="punctuation token">}</SPAN><SPAN class="punctuation token">,</SPAN>
<SPAN class="string token">"fields"</SPAN><SPAN class="operator token">:</SPAN> <SPAN class="punctuation token">[</SPAN>
<SPAN class="punctuation token">{</SPAN>
<SPAN class="string token">"name"</SPAN><SPAN class="operator token">:</SPAN> <SPAN class="string token">"TOTMALES"</SPAN><SPAN class="punctuation token">,</SPAN>
<SPAN class="string token">"type"</SPAN><SPAN class="operator token">:</SPAN> <SPAN class="string token">"esriFieldTypeDouble"</SPAN><SPAN class="punctuation token">,</SPAN>
<SPAN class="string token">"alias"</SPAN><SPAN class="operator token">:</SPAN> <SPAN class="string token">"Male Population"</SPAN><SPAN class="punctuation token">,</SPAN>
<SPAN class="string token">"fullName"</SPAN><SPAN class="operator token">:</SPAN> <SPAN class="string token">"KeyGlobalFacts.TOTMALES"</SPAN><SPAN class="punctuation token">,</SPAN>
<SPAN class="string token">"component"</SPAN><SPAN class="operator token">:</SPAN> <SPAN class="string token">"demographics"</SPAN><SPAN class="punctuation token">,</SPAN>
<SPAN class="string token">"decimals"</SPAN><SPAN class="operator token">:</SPAN> <SPAN class="number token">0</SPAN><SPAN class="punctuation token">,</SPAN>
<SPAN class="string token">"units"</SPAN><SPAN class="operator token">:</SPAN> <SPAN class="string token">"count"</SPAN>
<SPAN class="punctuation token">}</SPAN><SPAN class="punctuation token">,</SPAN>
<SPAN class="punctuation token">{</SPAN>
<SPAN class="string token">"name"</SPAN><SPAN class="operator token">:</SPAN> <SPAN class="string token">"TOTFEMALES"</SPAN><SPAN class="punctuation token">,</SPAN>
<SPAN class="string token">"type"</SPAN><SPAN class="operator token">:</SPAN> <SPAN class="string token">"esriFieldTypeDouble"</SPAN><SPAN class="punctuation token">,</SPAN>
<SPAN class="string token">"alias"</SPAN><SPAN class="operator token">:</SPAN> <SPAN class="string token">"Female Population"</SPAN><SPAN class="punctuation token">,</SPAN>
<SPAN class="string token">"fullName"</SPAN><SPAN class="operator token">:</SPAN> <SPAN class="string token">"KeyGlobalFacts.TOTFEMALES"</SPAN><SPAN class="punctuation token">,</SPAN>
<SPAN class="string token">"component"</SPAN><SPAN class="operator token">:</SPAN> <SPAN class="string token">"demographics"</SPAN><SPAN class="punctuation token">,</SPAN>
<SPAN class="string token">"decimals"</SPAN><SPAN class="operator token">:</SPAN> <SPAN class="number token">0</SPAN><SPAN class="punctuation token">,</SPAN>
<SPAN class="string token">"units"</SPAN><SPAN class="operator token">:</SPAN> <SPAN class="string token">"count"</SPAN>
<SPAN class="punctuation token">}</SPAN>
<SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">,</SPAN>
<SPAN class="string token">"features"</SPAN><SPAN class="operator token">:</SPAN> <SPAN class="punctuation token">[</SPAN>
<SPAN class="punctuation token">{</SPAN>
<SPAN class="string token">"attributes"</SPAN><SPAN class="operator token">:</SPAN> <SPAN class="punctuation token">{</SPAN>
<SPAN class="string token">"ID"</SPAN><SPAN class="operator token">:</SPAN> <SPAN class="string token">"0"</SPAN><SPAN class="punctuation token">,</SPAN>
<SPAN class="string token">"OBJECTID"</SPAN><SPAN class="operator token">:</SPAN> <SPAN class="number token">1</SPAN><SPAN class="punctuation token">,</SPAN>
<SPAN class="string token">"sourceCountry"</SPAN><SPAN class="operator token">:</SPAN> <SPAN class="string token">"US"</SPAN><SPAN class="punctuation token">,</SPAN>
<SPAN class="string token">"areaType"</SPAN><SPAN class="operator token">:</SPAN> <SPAN class="string token">"RingBuffer"</SPAN><SPAN class="punctuation token">,</SPAN>
<SPAN class="string token">"bufferUnits"</SPAN><SPAN class="operator token">:</SPAN> <SPAN class="string token">"esriMiles"</SPAN><SPAN class="punctuation token">,</SPAN>
<SPAN class="string token">"bufferUnitsAlias"</SPAN><SPAN class="operator token">:</SPAN> <SPAN class="string token">"Miles"</SPAN><SPAN class="punctuation token">,</SPAN>
<SPAN class="string token">"bufferRadii"</SPAN><SPAN class="operator token">:</SPAN> <SPAN class="number token">1</SPAN><SPAN class="punctuation token">,</SPAN>
<SPAN class="string token">"aggregationMethod"</SPAN><SPAN class="operator token">:</SPAN> <SPAN class="string token">"BlockApportionment:US.BlockGroups"</SPAN><SPAN class="punctuation token">,</SPAN>
<SPAN class="string token">"HasData"</SPAN><SPAN class="operator token">:</SPAN> <SPAN class="number token">1</SPAN><SPAN class="punctuation token">,</SPAN>
<SPAN class="string token">"TOTPOP"</SPAN><SPAN class="operator token">:</SPAN> <SPAN class="number token">12483</SPAN><SPAN class="punctuation token">,</SPAN>
<SPAN class="string token">"TOTHH"</SPAN><SPAN class="operator token">:</SPAN> <SPAN class="number token">4793</SPAN><SPAN class="punctuation token">,</SPAN>
<SPAN class="string token">"AVGHHSZ"</SPAN><SPAN class="operator token">:</SPAN> <SPAN class="number token">2.6</SPAN><SPAN class="punctuation token">,</SPAN>
<SPAN class="string token">"TOTMALES"</SPAN><SPAN class="operator token">:</SPAN> <SPAN class="number token">5998</SPAN><SPAN class="punctuation token">,</SPAN>
<SPAN class="string token">"TOTFEMALES"</SPAN><SPAN class="operator token">:</SPAN> <SPAN class="number token">6485</SPAN>
<SPAN class="punctuation token">}</SPAN>
<SPAN class="punctuation token">}</SPAN>
<SPAN class="punctuation token">]</SPAN>
<SPAN class="punctuation token">}</SPAN>
<SPAN class="punctuation token">]</SPAN>
<SPAN class="punctuation token">}</SPAN>
<SPAN class="punctuation token">}</SPAN>
<SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">,</SPAN>
<SPAN class="string token">"messages"</SPAN><SPAN class="operator token">:</SPAN> <SPAN class="punctuation token">[</SPAN><SPAN class="punctuation token">]</SPAN>
<SPAN class="punctuation token">}</SPAN><SPAN class="line-numbers-rows"><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN></SPAN>Fazit: Die DevLabs sind eine abwechslungsreiche Gelegenheit, um sich mit der esri-Welt vertraut zu machen.
Viel Spaß beim Ausprobieren wünschen euchAndreas und Florian.