Выражения с изображениями и другими вложениями

Ниже приведены примеры выражений отчета для вопросов с изображениями и вложениями.

Для вопросов с изображениями можно задать размеры, чтобы обеспечить подходящий размер изображений в отчетах. Для этих выражений используется следующий формат:

${image1 | size:width:height:max_width:max_height}

Значения ширины и высоты управляют размером изображения и выражаются в пикселах. Хотя эти значения являются обязательными для выражения, использование значения 0 не ограничивает данный размер этого изображения. Например, в следующем выражении ширина изображения ограничивается 300 пикселами при сохранении соотношения сторон:

${image1 | size:300:0}

Значения максимальной ширины и высоты ограничивают максимальные размеры изображения и являются дополнительными. В следующем примере изображению принудительно задается ширина 300 пикселов, а высота ограничивается 200 пикселами:

${image1 | size:300:0:0:200}

В примерах ниже метод rotate используется для поворота изображения по часовой. Принимает значения от 0 до 360.

${image1 | size:300:0:0:200 | rotate:90}

У вопросов с изображениями также может быть информация об изображении, извлеченном и показанном в ответе. Это можно применить для показа имени файла и размера изображения следующим способом:

${image1 | getValue:"name"}

${image1 | getValue:"size"}

${image1 | getValue:"width"}

${image1 | getValue:"height"}

Этот же способ можно использовать для отображения данных EXIF из изображения, показывая информацию о времени и месте получения фото:

${image1 | getValue:"x"}

${image1 | getValue:"y"}

${image1 | getValue:"date"}

${image1 | getValue:"time"}

${image1 | getValue:"direction"}

Для отображения исходного изображения в полном размере и качестве, используйте выражение без методов или выражение getValue без значений:

${image1} или ${image1 | getValue:""}

В следующем примере для отображения исходного изображения с выбранным размером, но в полном качестве, используйте выражения getValue и size вместе:

${image1 | getValue:"" | size:300:0}

Примечание:

При настройке размера карты, наряду с использованием любого другого параметра, выражение size нужно разместить в конце выражения.

Даты и время хранятся как строки в данных EXIF, поэтому для вопросов даты и времени эти значения невозможно форматировать в отчете при помощи выражения format. Если важно форматировать эти значения, рассмотрите возможность выполнения извлечения EXIF как составляющей вашего опроса при помощи функции pulldata("@exif"). Более подробно см. Изображения.

Приведенные выше выражения getValue могут использоваться также для извлечения данных из всех допустимых свойств всех типов вложений, включая вопросы с изображениями, аудио и файлами. Есть следующие свойства, которые могут быть извлечены из всех вложений:

${file1 | getValue:"name"}

${file1 | getValue:"size"}

${file1 | getValue:"globalId"}

${file1 | getValue:"id"}

${file1 | getValue:"contentType"}

${file1 | getValue:"keywords"}

Чтобы отобразить изображение из интернета, укажите его исходный URL-адрес с помощью выражения src при ссылке на ключевое слово $image вместо имени вопроса:

${$image |
src:"https://upload.wikimedia.org/wikipedia/commons/1/13/Esri_Headquarters%2C_Building_Q.jpg"
| size:400:0}

Чтобы вернуть в ответ на один и тот же вопрос несколько изображений, используйте следующие заполнители, каждое из которых разместите в отдельной строке:

${#image1}
${$file}
${/}

Ключевое слово $attachment может быть использовано для перебора всех вложений текущего объекта:

${#attachment}
${$file}
${/}

Этот способ подходит для показа изображений в ArcGIS Enterprise версий до 10.8.1 или показа изображений, которые не были добавлены к объекту вне Survey123, где вложения не имеют значения для параметра ключевого слова. В следующем примере показаны имена файлов всех вложений объекта:

${#$attachment}
${$file|getValue:"name"}
${/}

Чтобы отобразить определенные вложения, используйте метод attachmentsDefExp, чтобы задать вложение:

${#image1 | attachmentsDefExp:"DATA_SIZE > "+1*1024*1024}...${$file}...${/}

${#$attachment | attachmentsDefExp:"Keywords = 'image1'"}...${$file}...${/}

${#$attachment | attachmentsDefExp:"CONTENT_TYPE like '%image%'"}...${$file}...${/}

Примечание:
Метод attachmentsDefExp ведет себя так же, как свойство Запрос вложений в attachmentsDefinitionExpression. Просмотрите объект attachmentProperties в формате JSON слоя, чтобы увидеть, какие поля можно использовать в запросе вложения.