GeoWeb
Gevorderde configuratie: Opmaak en filter op een externe service zetten in GeoWeb
Het beheren van GeoWeb is vrij eenvoudig uit te voeren. Er zijn echter veel verborgen of minder bekende mogelijkheden om in de GeoWeb Manager iets dieper in de configuratiemogelijkheden te duiken. We gaan in dit voorbeeld kennismaken met JSON-code om een externe mapservice te filteren en op te maken of om een voor gedefinieerde style aan te bieden aan de eindgebruiker, zodat de eindgebruiker een eigen keuze voor de opmaak kan maken. Soms wordt content aangeboden met een standaard opmaak. Maar het kan voorkomen dat die opmaak niet altijd aansluit. Ook ben je vaak alleen geïnteresseerd in een deel van de data die aangeboden wordt.
In dit voorbeeld nemen we de mapservice van het Centraal Bureau voor de Statistiek (CBS) van 2016 uit het Esri Nederland content aanbod op ArcGIS Online. We zijn geïnteresseerd in 1 of 2 verschillende gemeentevlakken en niet in heel Nederland. We gaan uit van de gemeente ‘Goeree-Overflakkee’ en ‘Capelle aan den IJssel’.
We kunnen in GeoWeb met JSON de aangeboden services aanpassen en filteren. Dit kan op verschillende manieren. Onderstaand voorbeeld is slechts bedoeld ter inspiratie en om een start te maken met het verkennen van deze mogelijkheden. Wellicht een mooie start om meer van dit soort code-voorbeelden of varianten hierop te delen op de GeoWeb LinkedIn groep.
Voorbereiding
Maak een nieuwe site aan, voeg de mapservice van het CBS toe en maak om het resultaat te bekijken een simpele viewer aan. (https://services.arcgisonline.nl/arcgis/rest/services/Demografie/CBS_WijkenBuurten_2016/MapServer)
Het eindresultaat ziet er voorlopig zo uit:

Tip
In dit voorbeeld wordt gewerkt met ID’s van mapservices en layers. Die kun je terugvinden in de REST URL.
Klik hiervoor in de GeoWeb Manager op het groene pijltje. In het bijvoorbeeld achter ‘Map’, > ‘Layer: Gemeenten’:

De REST interface toont nu de ID’s waarbij de servicenaam en ID bovenaan staat en de Layers met ID daaronder. In dit voorbeeld nemen we de gemeenten layer met ID 2.

Stap 1: een filter zetten op gemeenten
Door gebruik te maken van mapservices met “Dynamic Layers” is het mogelijk om filters en opmaak te definiëren met behulp van JSON-code. Daarnaast bieden Dynamic Layers ook de mogelijkheid om de volgorde en symbologie van de kaartlagen dynamisch aan te passen in de viewer.
Let op: om gebruik te kunnen maken van “Dynamic Layers” dient er bij het publiceren van de mapservice een vinkje aangezet te worden bij ‘Allow per request modification of layer order and symbology’. Zie ArcGIS Server Help voor meer informatie hierover.
In dit voorbeeld gaat de beheerder een service filteren, zodat alleen bepaalde objecten zichtbaar worden en dat de standaard aangeboden opmaak overruled wordt met eigen opmaak. Dit doen we bij het onderdeel “Map” à “Layer: Gemeenten”. Ga naar de instellingen van de ‘Gemeenten’ laag.
Filter op 1 gemeente:
In dit voorbeeld splitsen we een stukje JSON-code in twee stukken. Het eerste stuk kunnen we gebruiken om een filter op attributen te zetten.
Plak het stukje code tussen de accolades naar het onderdeel “Dynamic Definition” op het tabblad “Details”.
De gebruikte JSON-code:

Als we deze code eens grofweg verklaren zien we het volgende:

Het eindresultaat ziet er nu als volgt uit:

Filter op 2 gemeenten:
Ditzelfde kunnen we ook op meerdere gemeenten doen. De JSON-code ziet er dan als volgt uit.
De gebruikte JSON code:

Het resultaat ziet er nu zo uit:

Stap 2: opmaak definiëren
Het tweede stuk van de JSON-code gaan we gebruiken om de opmaak van de objecten te definiëren. De JSON-code voor filter én opmaak (transparante fill en rode rand) ziet er dan als volgt uit:

Waarbij:

Dit is dan het resultaat:

Nog meer tips:
1. De opmaak, zoals in deze JSON-code, kan ook gebruikt worden in de GeoWeb Manager bij het onderdeel mapservice, op het tabje Styles. In dat geval geef je de eindgebruiker de mogelijkheid de opmaak te veranderen aan de hand van de door de beheerder beschikbaar gestelde verschillende stijlen Bijvoorbeeld het laatste deel van deze JSON zou er ook zo uit kunnen zien en deze kan gekozen worden als style in de viewer:

2. Gebruik bij de opbouw van een JSON-code een programma als Notepad++ of een JSON-validator, zoals JSONLint. Deze houden goed in de gaten of alle accolades kloppen.
3. Om goed te begrijpen wat er allemaal ingevuld kan worden in een JSON-code kan het helpen om eens van accolade tot accolade te kijken wat er staat. In Notepad++ kun je bijvoorbeeld de regeleindes anders zetten of werken met een inspringing. Dat leest soms net wat prettiger, zoals het voorbeeld hieronder:

4. Meer informatie over JSON-syntax en voorbeelden op ArcGIS Resources vindt u op:
http://resources.arcgis.com/en/help/arcgis-rest-api/#/Renderer_objects/02r30000019t000000/