图像和其他附件表达式

下面提供图像和附件问题的报告表达示例。

对于图像问题,可以设置大小以确保报告具有大小一致的图像。 这些表达式的格式如下:

${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:""}

以下示例要以完整质量,但是以设置大小显示原始图像,请将 getValuesize 表达式配合使用。

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

注:

如果在使用任何其他表达式参数时设置图像的大小,则必须将 size 放置在表达式的最后。

日期和时间将以字符串形式存储在 EXIF 数据中,因此不能使用日期和时间问题的 format 表达式对这些值进行格式化。 如果格式化这些值很重要,则可以使用 pulldata("@exif") 函数以在调查中执行 EXIF 提取操作。 有关详细信息,请参阅图像

以上 getValue 表达式还可以用于在任何类型的附件中从任何有效属性中提取数据,其中包括图像、音频和文件问题的结果。 可以从所有附件中提取的属性如下所示:

${file1 | getValue:"name"}

${file1 | getValue:"size"}

${file1 | getValue:"globalId"}

${file1 | getValue:"id"}

${file1 | getValue:"contentType"}

${file1 | getValue:"keywords"}

要显示在线图像,请在引用 $image 关键字时提供包含 src 表达式的源 URL,而不是问题名称:

${$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 属性相同。 查看图层 JSON 中的 attachmentProperties 对象,了解哪些字段可用于附件查询。