맵 식

맵 질문에 대한 보고서 식의 예시가 아래에 나와 있습니다.

맵을 사용하는 모든 질문(지오포인트, 지오추적, 지오쉐이프 포함)에는 보고서에서 프레젠테이션을 수정하는 데 사용할 수 있는 공통 메소드와 매개변수가 있습니다.

보고서의 맵은 기본 설정에 따라 질문에 대해 설정된 웹 맵을 사용합니다. 맵 축척을 0으로 설정하거나 이 매개변수를 생략하면 맵 축척은 다음과 같이 맵의 피처에 따라 결정됩니다.

  • 맵에 하나의 포인트 피처만 있는 경우 맵 축척은 질문의 축척 세트와 일치합니다.
  • 맵에 하나의 라인 또는 폴리곤 피처만 있는 경우 맵 축척은 피처의 범위에 따라 결정됩니다.
  • 맵에 다중 피처가 있는 경우 축척은 모든 피처의 범위에 따라 결정됩니다.

맵 질문은 웹 맵 항목 ID와 맵 축척을 선택적 매개변수로 설정할 수 있습니다. 다음 예시에서는 1:100,000의 맵 축척이 사용되었습니다.

${location | map:"7e2b9be8a9c94e45b7f87857d8d168d6" | mapScale:100000}

모든 맵 질문에 대해 rotate 메소드를 사용하여 뷰와 관련하여 정북의 시계 방향 회전을 정의할 수 있습니다. 0부터 360까지의 값이 허용됩니다.

${location | map:"7e2b9be8a9c94e45b7f87857d8d168d6" | mapScale:100000 | rotate:90}

웹 맵 항목 ID를 빈 문자열로 두면 해당 질문의 기본 베이스맵이 사용됩니다. 맵 축척을 0으로 설정하거나 이 매개변수를 생략하면 맵은 질문에 설정된 기본 범위를 사용합니다.

mapExtent 방법을 사용하여 보고서에서 맵의 범위를 명시적으로 설정할 수 있습니다. 다음 예시에서는 일본 도쿄의 고정된 맵 범위가 표시됩니다.

${location | mapExtent:139.7:35.6:139.9:35.8:4326}

맵 질문은 이미지 질문에 사용할 수 있는 크기 식도 지원합니다. 다음 예시와 같이 이 식을 사용하여 보고서에 표시되는 맵 해상도를 제어할 수 있습니다.

${location | size:400:400}

다음 예시와 같이 map, mapScale, size 식을 함께 사용하여 웹 맵 ID, 맵 축척, 맵 이미지 해상도를 제공할 수 있습니다.

${location | map:"7e2b9be8a9c94e45b7f87857d8d168d6" | mapScale:100000 | size:400:400}

비고:

다른 식 메소드를 사용하는 도중에 맵 크기를 설정하는 경우 size를 식의 마지막에 배치해야 합니다.

맵에 많은 수의 레코드가 포함되어 있는 경우 mapFilters 메소드를 사용하여 표시할 레코드를 제한할 수 있습니다. 다음 예시에서 where 매개변수는 하나의 레이어만 있는 웹 맵을 필터링하여 POP2000이 999999보다 큰 레코드를 표시하는 데 사용됩니다.

${location | map:"7e2b9be8a9c94e45b7f87857d8d168d6" | mapFilters:"where=POP2000>999999"}

mapFilters의 다음 예시에서 첫 번째 매개변수는 도시 레이어(레이어 ID: 18ece64a1fc-layer-5)를 필터링하여 캘리포니아주에서 인구가 가장 많은 처음 3개의 레코드만 표시합니다. 콜론으로 첫 번째 매개변수와 분리된 두 번째 매개변수는 주 레이어(레이어 ID: 18ece64a1fc-layer-6)를 필터링하여 캘리포니아주만 표시합니다.

${$map | map:"7e2b9be8a9c94e45b7f87857d8d168d6" | mapFilters:"'18ece64a1fc-layer-5':where=ST='CA'&orderByFields=POP2000 ASC&resultRecordCount=3":"'18ece64a1fc-layer-6':where=stateName='California'"}

비고:

레이어 ID는 웹 맵 JSON의 피처 레이어 객체 등록정보입니다.

맵 질문은 기본 설정에 따라 피처 레이어에 설정된 심볼에 상관없이 기본 맵 심볼을 사용하여 표시됩니다. drawingInfo 메소드를 통해 사용된 심볼, 레이블, 투명도 등 특정 피처 레이어에 저장된 그리기 정보를 추출하여 사용할 수 있습니다. 현재 레이어 또는 제공된 URL을 통해 특정 피처 레이어에서 이 정보를 지정할 수 있습니다.

${location | drawingInfo:"currentLayer"}

${location | drawingInfo:"https://.../FeatureServer/0"}

현장조사에 맵 질문이 포함되어 있지 않거나 연관된 현장조사 없이 피처 레이어에 대한 보고서를 생성하는 경우, 레코드의 지오메트리는 ${$shape} 플레이스 홀더를 사용하여 계속 반환할 수 있습니다.

요약 섹션에서 맵 질문에 대한 식은 질문에 대한 입력에 여러 지오메트리를 표시합니다. 개별 보고서에 대한 다른 응답을 포함하려면 !important 태그와 함께 where 식을 제공합니다. 자세한 내용은 추가 구문을 참고하세요. 다음 식은 상태 필드 값이 'broken'인 레이어의 모든 지오메트리를 표시합니다.

${location | where:"status='broken' !important" | map:"<itemID>" | size:400:300}

비고:

위의 예시에서는 맵 축척이 생략되었습니다. 맵 축척을 0으로 설정하거나 이 매개변수를 생략하고 맵에 여러 레코드가 포함되어 있는 경우, 맵은 모든 레코드에 결합된 범위를 사용합니다.

where 식을 항상 true 문으로 설정하여 레이어의 모든 지오메트리가 표시되도록 할 수 있습니다.

${location | where:"1=1 !important"}

이는 반복의 모든 포인트를 표시하는 데에도 사용할 수 있습니다.

${repeat1.repeatLocation | where:"inspectionId=123 !important" | size:400:300}

$shape 키워드는 다중 맵 지오메트리를 반환하는 데도 사용할 수 있습니다.

${$shape | where:"1=1 !important" | drawingInfo:"currentLayer" | size:400:300}

$map 키워드는 현장조사 질문을 참조하지 않는 맵을 인쇄하는 데 사용할 수 있습니다.

${$map | map:"7e2b9be8a9c94e45b7f87857d8d168d6" | mapScale:100000 | size:400:400}

지오포인트

지오포인트 질문의 경우 다음과 같이 식을 사용하여 질문에서 위도나 경도 값을 표시할 수 있습니다.

${location | getValue:"x"}

${location | getValue:"y"}

하나의 식으로 두 값을 모두 표시할 수 없습니다. 두 값이 모두 필요한 경우 두 개의 식을 사용해야 합니다.

팁:

또한 유사한 식을 통해 고도 값을 표시할 수도 있지만 기본적인 피처 레이어가 z-값을 지원하는 경우에만 해당됩니다.

${location | getValue:"z"}

기본 설정에 따라 위도, 경도, 고도 값은 현장조사 응답에 제공된 기존 값을 자르지 않은 상태로 반환합니다. 이러한 값은 보고서에서 필요한 값보다 더 길 수 있으므로 round 또는 toFixed 식을 사용하여 값을 특정 소수 자릿수로 반올림하는 것이 좋습니다.

${location | getValue:"x" | round:3}

${location | getValue:"x" | toFixed:3}

기본 설정에 따라 이러한 값은 현장조사의 피처 레이어에서 사용된 공간 기준 체계로 출력됩니다. 다음과 같이 WKID를 제공하여 다른 공간 참조를 추가 매개변수로 설정할 수 있습니다.

${location | getValue:"x":4326}

지오추적 및 지오쉐이프

지오추적 및 지오쉐이프 질문의 경우 다음과 같이 getValue 식을 사용하여 라인의 길이나 폴리곤의 둘레를 각각 표시할 수 있습니다.

${polyline1 | getValue:"length":"meters":"planar"}

지오쉐이프 질문의 경우 다음과 같이 getValue 식을 사용하여 폴리곤의 면적을 표시할 수도 있습니다.

${polygon1 | getValue:"area":"hectares":"geodesic"}

단위와 계산 방법은 선택적 매개변수입니다. 다음 단위를 길이에 사용할 수 있습니다.

  • feet
  • kilometers
  • meters
  • miles
  • nautical-miles
  • yards

다음 단위를 면적에 사용할 수 있습니다.

  • acres
  • hectares
  • square-miles
  • square-kilometers
  • square-meters
  • square-feet
  • square-yards

또는 ArcGIS REST API에서 지원되는 esriSRUnitType 상수esriSRUnit2Type 상수를 사용할 수 있습니다. 다음과 같이 상수의 숫자 코드를 따옴표 없이 식에 사용합니다.

${polyline1 | getValue:"length":109002:"geodesic"}

단위가 지정되지 않은 경우 kilometers(길이) 또는 square-kilometers(면적)가 기본값으로 사용됩니다.

계산 방법은 geodesic 또는 planar로 설정할 수 있습니다. 방법이 지정되지 않은 경우에는 기본 설정에 따라 geodesic이 사용됩니다.