Sono forniti di seguito degli esempi di espressioni del report per le domande di mappa.
Tutte le domande che utilizzano una mappa, inclusi geopoint, geotrace e geoshape, hanno metodi e parametri comuni che è possibile utilizzare per modificare la loro presentazione nei report.
Per impostazione predefinita, una mappa in un report utilizza la mappa web impostata per la domanda. Se la scala della mappa è impostata su 0 o il parametro è omesso, la scala è stabilita dalle feature nella mappa nel seguente modo:
- Se c'è solo una feature punto sulla mappa, la scala della mappa corrisponde alla scala impostata per la domanda.
- Se c'è solo una feature linea o poligono sulla mappa, la scala della mappa viene determinata dall'estensione della feature.
- Se ci sono feature multiple sulla mappa, la scala è determinata dall'estensione di tutte le feature.
Le domande sulla mappa supportano l'impostazione dell'ID dell'elemento della mappa Web e della scala mappa come parametri facoltativi. Nel seguente esempio si utilizza una scala della mappa di 1:100.000:
${location | map:"7e2b9be8a9c94e45b7f87857d8d168d6" | mapScale:100000}
Per tutte le domande sulla mappa, puoi utilizzare il metodo rotate per definire la rotazione in senso orario del nord rispetto alla vista. Accetta valori da 0 a 360.
${location | map:"7e2b9be8a9c94e45b7f87857d8d168d6" | mapScale:100000 | rotate:90}
Se si lascia l'ID dell'elemento della Web Map come stringa vuota, viene usata la basemap predefinita per la domanda. Se si imposta la scala della mappa a 0 o si omette il parametro, la mappa utilizza l'estensione predefinita impostata per la domanda.
Il metodo mapExtent può essere utilizzato per impostare esplicitamente l'estensione di una mappa in un report. Nel seguente esempio, viene mostrata un'estensione mappa fissa di Tokyo:
${location | mapExtent:139.7:35.6:139.9:35.8:4326}
Le domande sulla mappa supportano anche l'espressione di dimensione disponibile per le domande sulle immagini. È possibile utilizzare questa espressione per controllare la risoluzione della mappa visualizzata nel report, come mostrato nell'esempio seguente:
${location | size:400:400}
È possibile utilizzare insieme le espressioni map, mapScale e size per fornire un ID mappa web e una scala della mappa, nonché una risoluzione dell'immagine della mappa, come mostrato nell'esempio seguente:
${location | map:"7e2b9be8a9c94e45b7f87857d8d168d6" | mapScale:100000 | size:400:400}
Nota:
Se stai impostando la dimensione di una mappa durante l'utilizzo di qualsiasi altro metodo di espressione, size deve essere posizionato per ultimo nell'espressione.
Se la mappa contiene un grande numero di record, è possibile utilizzare il metodo mapFilters per limitare quali record vengono mostrati. Nel seguente esempio, il parametro where è utilizzato per filtrare una mappa web che dispone di un solo layer per mostrare i record con POP2000 maggiore di 999999:
${location | map:"7e2b9be8a9c94e45b7f87857d8d168d6" | mapFilters:"where=POP2000>999999"}
Nel seguente esempio di mapFilters, il primo parametro filtra il layer delle città (con l'id layer 18ece64a1fc-layer-5) per mostrare solo i primi tre record che hanno la popolazione più elevata all'interno dello stato della California. Separato dal primo parametro dai due punti, il secondo parametro filtra il layer degli stati (con l'id layer 18ece64a1fc-layer-6) per mostrare solo lo stato della California:
${$map | map:"7e2b9be8a9c94e45b7f87857d8d168d6" | mapFilters:"'18ece64a1fc-layer-5':where=ST='CA'&orderByFields=POP2000 ASC&resultRecordCount=3":"'18ece64a1fc-layer-6':where=stateName='California'"}
Nota:
L'ID layer è una proprietà dell'oggetto feature layer del JSON della mappa web.
Per impostazione predefinita, viene visualizzata una domanda mappa utilizzando un simbolo mappa predefinito, indipendentemente dalla simbologia impostata nel feature layer. È possibile utilizzare il metodo drawingInfo per estrarre e utilizzare le informazioni di disegno memorizzate in un feature layer specifico, inclusi il simbolo, l'etichetta e la trasparenza utilizzati. È possibile specificare queste informazioni dal layer corrente o da un feature layer specifico tramite un URL fornito.
${location | drawingInfo:"currentLayer"}
${location | drawingInfo:"https://.../FeatureServer/0"}
Se il rilevamento non contiene una domanda di mappa o si sta creando report per feature layer senza un rilevamento associato, la geometria di un record può comunque essere restituita utilizzando il segnaposto ${$shape}.
Nella sezione di riepilogo, un'espressione per una domanda di mappa visualizza più geometrie nell'input della domanda. Se si desidera includere altre risposte per un report individuale, fornire un'espressione where con il tag !important. Per ulteriori informazioni consultare Sintassi aggiuntiva. L'espressione seguente visualizza tutte le geometrie nel layer dove il valore del campo stato è uguale a 'broken':
${location | where:"status='broken' !important" | map:"<itemID>" | size:400:300}
Nota:
Nell'esempio precedente, la scala della mappa è omessa. Se si imposta la scala a 0 o si omette il parametro e la mappa contiene vari record, la mappa utilizza l'impostazione estensione predefinita per la domanda.
È possibile impostare l'espressione where per essere un'affermazione sempre vera per assicurarsi che ogni geometria nel layer sia visualizzata:
${location | where:"1=1 !important"}
Questo può anche essere usato per visualizzare tutti i punti in una ripetizione:
${repeat1.repeatLocation | where:"inspectionId=123 !important" | size:400:300}
La parola chiave $shape può inoltre essere utilizzata per restituire più geometrie di mappa:
${$shape | where:"1=1 !important" | drawingInfo:"currentLayer" | size:400:300}
La parola chiave $map può essere utilizzata per stampare una mappa che non fa riferimento a una domanda di un rilevamento:
${$map | map:"7e2b9be8a9c94e45b7f87857d8d168d6" | mapScale:100000 | size:400:400}
Geopoint
Per le domande con geopunti, si possono usare espressioni per visualizzare i valori di latitudine o longitudine della domanda, come segue:
${location | getValue:"x"}
${location | getValue:"y"}
Non è possibile visualizzare entrambi i valori con una sola espressione; se occorrono entrambi i valori si dovranno usare entrambe le espressioni.
Suggerimento:
È anche possibile visualizzare il valore di altitudine tramite un'espressione simile ma solo se il feature layer sottostante supporta valori z:
${location | getValue:"z"}
Per impostazione predefinita, i valori di latitudine, longitudine e altitudine restituiscono il valore originale fornito nella risposta all'indagine, senza troncatura. Poiché questi valori spesso sono molto più lunghi del necessario in un report, considerare l'utilizzo delle espressioni round o toFixed per arrotondare il valore a una cifra decimale specifica:
${location | getValue:"x" | round:3}
${location | getValue:"x" | toFixed:3}
Per impostazione predefinita, questi valori vengono emessi sul riferimento spaziale utilizzato dal feature layer del rilevamento. È possibile impostare un riferimento spaziale diverso come parametro aggiuntivo fornendo il relativo WKID:
${location | getValue:"x":4326}
Geotrace e geoshape
Per domande geotrace e geoshape, l'espressione getValue può essere utilizzata per visualizzare rispettivamente la lunghezza della riga o il perimetro del poligono:
${polyline1 | getValue:"length":"meters":"planar"}
Per domande geoshape, l'espressione getValue può anche essere utilizzata per visualizzare l'area del poligono:
${polygon1 | getValue:"area":"hectares":"geodesic"}
Le unità e il metodo di calcolo sono parametri opzionali. Le seguenti unità sono accettate per la lunghezza:
- feet
- kilometers
- meters
- miles
- nautical-miles
- yards
Le seguenti unità sono accettate per l’area:
- acres
- hectares
- square-miles
- square-kilometers
- square-meters
- square-feet
- square-yards
In alternativa, è possibile utilizzare una delle costanti esriSRUnitType o una delle costanti esriSRUnit2Type supportate da ArcGIS REST API. Nell'espressione, utilizzare il codice numerico della costante senza virgolette, come segue:
${polyline1 | getValue:"length":109002:"geodesic"}
Se non è specificata alcuna unità, l'impostazione predefinita è kilometers per la lunghezza e square-kilometers per l'area.
Il metodo può essere geodesic o planar. Se non è specificato alcun metodo, per impostazione predefinita viene utilizzato geodesic.