Survey123 Tricks of the Trade: Photo Watermarks

22085
41
08-08-2019 11:05 AM
IsmaelChivite
Esri Notable Contributor
16 41 22.1K

Updated December 7, 2021

 

There is truth in the saying a picture is worth a thousand words, but sometimes I wonder if that is enough, no pun intended, to give you the whole picture. Burn into that image the date and time when the photo was taken, the geographic coordinates of that location or some other critical information, and the value of that picture is now multiplied. That will make your photo be worth a few more than one thousand words, and most importantly, give you the whole picture.

 

IsmaelChivite_0-1633467127582.gif

 

Watermarking is an old, yet useful concept, allowing you to superimpose extra information on a photo.

 

In the Street Service Report survey example in the right side, you will appreciate that the photo taken from Survey123 automatically includes the Job ID as well as the date and time when the photo was taken.  

This information is part of the image, it is a photo watermark.

 

Watermarking is often used for two main reasons:

 

  • To add critical information necessary to understand what is depicted in the photo, even if the photo is presented out of context.
  • To show evidence that the photo was taken at a particular time and location, or by a particular person.

 

Many field data collection workflows can benefit from photo watermarking. Asset inspections, damage assessments or code violation reports are good examples.  For an asset inspection, you may want to burn into the photo the unique identifier and status of the asset. In a damage assessment or while documenting a code violation, you can use watermarks to carry the location, time and name of the inspector or team that shot the photo.

 

Starting with version 3.5, the Survey123 field app has built-in photo watermarking capabilities.  As you will learn through this article, you can create watermark expressions to add date, time, location and user information into your photos. You can even dynamically set the content of your watermarks with data previously entered in your smart form.  Survey123 watermark expressions give you a great deal of flexibility to control the placement and display properties of your watermarks.  All it takes is a bit of XLSForms magic.

 

To configure a survey with photo watermarking capabilities, you need to design your survey with Survey123 Connect. Survey123 Connect is a desktop application used to author Survey123 projects following the XLSForm specification. With XLSForms you define the questions and behavior of your smart form in Microsoft Excel (following the XLSForms syntax). XLSForm files are then published as Survey123 forms into ArcGIS with Survey123 Connect. If you are not familiar with Survey123 Connect and XLSForms, I suggest you start with our XLSForms video tutorials in YouTube, or with our step by step XLSForm guides.

 

Getting started with photo watermarking

 

Watermark definitions are applied to image questions using the bind::esri:parameters XLSForm column. For example:

Untitled.png

 

The above will add a watermark with the text Bula World in the lower-right corner of your photo. Pretty much self explanatory. Don't you think? The most obscure aspect in all of this is the Bula part.

 

A photo watermark expression in Survey123 is split by an equal sign into two parts:

 

  • Watermark placement: The first half defines the placing of your watermark within the photo.
  • Watermark content: The second part is always enclosed in double quotes and defines the contents and display properties of your watermark.

 

Watermark expressions are extremely sensitive to extra spacing and casing. Tip: Do not add extra spaces between the placement and the equal sign, or in between your watermark content quoted string and the equal sign.

Watermark placing

 

The first half of your watermark expression defines its location within the image. You can choose betweeen 9 different positions:

 

  • topLeftWatermark
  • topCenterWatermark
  • topRightWatermark
  • leftCenterWatermark
  • centerWatermark
  • rightCenterWatermark
  • bottomLeftWatermark
  • bottomCenterWatermark
  • bottomRightWatermark

 

For the bottom-right corner of your photo, you can either use bottomRightWatermark, or simply watermark, for short. That is, bottomRightWatermark="Bula World" and watermark="Bula World" are equivalent.

 

You can add more than one watermark to your photos. For example, you can add one in the top-left corner, and another one in the bottom-right corner.  We will look at this later but before that, lets progressively disclose how to control the contents of your watermark.

 

Adding static text and basic text formatting

 

The content and display properties of your watermark are set in the second half of your watermark expression.

bottomLeftWatermark="Bula World&color=red"

leftCenterWatermark="Bula World&color=red&size=18"

watermark="Bula World&color=red&outlineColor=black&haloColor=white&size=12&bold=true&margin=10"

 

Note that you can add one or more formatting parameters. All you need to do is to separate them with an ampersand sign (&). The complete list of text formatting parameters can be found in the Watermark Hep Topic.  Here are the most common:

 

ParameterExampleNotes
color

color=red

color=#0000FF"

You can specify the color using a color code name or an hexadecimal value. The default color is blue. Find a list of colors at W3Schools.
outlineColoroutlineColor=blackHexadecimal color values and color names are also accepted.
haloColorhaloColor=white 
fontfont=ArialArial, Helvetica, Cochin, Scheme, Verdana, Optima, Courier New...
sizesize=12Set in pixels
marginmargin=10Sets the margin in pixels from the edge of the image

 

Colors: In terms of colors, I like to set a bright color for the text (color), a dark one for the outline and then white for the halo. That ensures the watermark will stand out on top of your photo. The W3Schools list of color codes and hexadecimal values is a great place to help you define colors properly.

 

Text (and image) Size: The size parameter deserves a more detailed explanation.  Setting the right size is going to be a trial and error exercise and will largely depend on how you plan to use your watermarks.  For example, you may want to watermark photos so you can use them in a printed report, or simply show them in a screen within a dashboard or web mapping application. Depending on the use, you may want larger or smaller text.  Testing the size of your text in Survey123 Connect can be tempting, but you really want to look at your watermarks in the same environment where your users will ultimately use them. Do not go by what you see in Connect: validate your text size on paper if you intend to print, on a mobile device if you want people to preview the watermark from a device, etc

 

The size parameter is measured in pixels. For this reason, the size of the photo really comes into play.  While there are many devices out there and each may generate photos of different sizes, Survey123 allows you to define the size of photos taken with the Survey123 camera.  This is controlled through the Optinons | Images section in Connect as shown below.

 

 

By default, Survey123 Connect always sets your image size to 640px on the longest edge.  In a 640px image, text at 12 pixels in size will show pixelated.  You could increase the size to 16 pixels for better results. If you change the image size to 1280, at 12px your text will be very small; you may want to change then the size to 24 or 26.

 

The default image size set by Connect (640px) is not ideal for watermarking. Give it a go in your own, but I typically use 1280px because otherwise there is barely any room for the watermark.

 

Breaklines: If you want to break your text into two or more lines, you can simply add \n to your text. For example:

watermark="Bula \n World"

You will likely use break lines all the time to split your watermark content.

 

Adding dynamic content: Location and Dates & Times

 

Very often you will want to add information in your watermark about the current date, time and location where the photo was taken. You may be tempted to use XLSForm variables to get this information into your watermark, but you should not. We will learn later how to add data from your form into the watermark.

 

To add the current location or time information you will want to use watermark-specific syntax. For example:

watermark="Inspected on: @[dateTime:short]"

watermark="Inspected on: @[date:dddd] \n At @[latitude longitude] \n Accuracy: @[accuracy] meters"

watermark="Lat @[latitude] \n Lon: @[longitude]"
watermark="USNG: @[usng]"

 

Here is a list of accepted placeholders to extract location-related information. All location data is relative to the place where the photo is taken.

 

PlaceholderNotes

@[longitude:ddm]

@[longitude:dms]

@[latitude]

@[longitude]

@[latitude longitude]

Use the ddm and dms qualifiers to get the coordinates in degrees-decimal-minutes versus degrees, minutes and seconds. If you do not explicitly set a coordinate format you get DMS.

You can use @[latitude longitude] to get the coordinate pair at once, but it is useful to get the coordinates separate so you can split the data across two lines.

@[mgrs]

@[usng]

@[utm]

Reports the location where the photo has been taken in MGRS, USNG and UTM coordinate formats respectively.
@[altitude]Returns the elevation in meters where the photo was taken as reported by the device.
@[compass]Returns the compass bearing at the time the photo was taken.

@[direction]

@[speed]

Returns the direction and speed of travel when the photo was taken. If the user is not moving when capturing the photo, these values will be empty
@[accuracy]The horizontal accuracy as reported by the device when the photo was taken.

 

Lets go with time-related information, which is also relative to the instant when the photo is taken.

 

PlaceholderNotes

@[datetime]

@[datetime:short]

@[date]

@[time]

Returns the date and time when the photo was taken. Unless otherwise specified, the date and time are formatted according to the date and time formatting rules in the device.  The :short qualifier will output the date/time in a compact format, but still using the formatting rules from your device.

 

If you want to dictate date/time formatting rules independent of the device used to capture the photo, then you need  to explicitly set formatting rules in the watermark expression.

 

Here are a few examples for formatting dates and time:

 

@[datetime:d MMM yyyy HH:mm]  Example output: 7 Aug 2019 14:01

@[date:dddd]                                  Example output: Sunday

@[time:hh:mm t]                              Example output: 14:23 Pacific Daylight Time

 

To create your own formatting rules, the following tables should come handy:

 

FormatterDescription
dThe day as number without a leading zero (1 to 31)
ddThe day as number with a leading zero (01 to 31)
dddThe abbreviated localized day name (e.g. 'Mon' to 'Sun')
ddddThe long localized day name (e.g. 'Monday' to 'Sunday')
MThe month as number without a leading zero (1 to 12)
MMThe month as number with a leading zero (01 to 12)
MMMThe abbreviated localized month name (e.g. 'Jan' to 'Dec')
MMMMThe long localized month name (e.g. 'January' to 'December')
YYThe year as two digit number (00 to 99)
YYYYThe year as four digit number

 

FormatterDescription
hThe hour without a leading zero (0 to 23 or 1 to 12 if AM/PM display)
hhThe hour with a leading zero (00 to 23 or 01 to 12 if AM/PM display)
HThe hour without a leading zero (0 to 23, even with AM/PM display)
HHThe hour with a leading zero (00 to 23, even with AM/PM display)
mThe minute without a leading zero (0 to 59)
mmThe minute with a leading zero (00 to 59)
sThe second without a leading zero (0 to 59)
ssThe second with a leading zero (00 to 59)
zThe milliseconds without leading zeroes (0 to 999)
zzzThe milliseconds with leading zeroes (000 to 999)
APThe AM/PM display. AP will be replaced by either "AM" or "PM"
apThe am/pm display. ap will be replaced by either "am" or "pm".
tThe timezone

 

 

Adding previously entered data from your form

 

It is possible to add a watermark using data previously entered in your form. In the example at the very beginning of this article, we added the Job ID value to the watermark.  You could also add an address or a priority, even some comments from the person completing the form.

 

Data from your form cannot be added directly in the bind::esri:parameters column. Do not attempt to include standard XLSForm functions within your watermark expression. The right way to do this is to first put together the watermark content in a separate question, and then reference that. Here is a basic example:

 

type name label bind::esri:parameters calculation

geopointlocationLocation  
textcommentsComments  
calculatewatermarkWatermark concat("Comments", ${comments},"&size=20")
imagephotoPhotowatermark=${watermark} 

 

Note how the first half of the watermark expression defining the placement of the watermark is added in the bind::esri:parameters while the second half, defining the content, is prepared in a separate calculate question and then referenced through an XLSForm variable.

 

To compose the watermark content, I am using a calculate type of question. Calculate questions are never shown in the actual form, but are useful when you want to compute some temporary values to be used somewhere else within the form. The value is computed using an expression in the calculation column.  A calculate question is very similar to a hidden question.  The only difference is that calculations are compulsory for calculate questions and not for hidden questions.

If you do not want the output of your calculate to be stored as a GIS attribute in your feature layer, set its bind::esri:fieldType column to null.

The safest way to construct complex watermark expressions is through the concat() function.  You can do pretty interesting things when working in this way. Not only you can bring data from your form, but also control the formatting of your text dynamically. In the next example, we set the color and content of the watermark text dynamically based on information entered by the user in the form.

 

type name label bind::esri:parameters calculation

geopointlocationLocation  
select_one yes_nois_urgentIs urgent?  
textcommentsComments  
calculatetext_colorText Color if(selected(${is_urgent},yes),'red','green')
calculatewmWatermark concat("Comments", ${comments},"&color=",${text_color})
imagephotoPhotowatermark=${wm} 

 

Finally, note that when you reference watermark content in bind::esri:parameters as shown above, you no longer need to enclose the second half of the watermark expression with double quotes. Double quotes are needed to help the parser process the contents of bind::esri:parameters in case that you include spaces in your watermark expression. When you reference pre-computed watermark content like in this example, you can't add spaces, so no quotes are needed.

 

 

Adding images to your watermark

 

Say you want to add a logo to your photos. You can. Simply add your image in PNG or JPEG format into the media folder of your survey, and then use the image and imageSize watermark parameters:

watermark="image=MyLogo.png"

watermark="image=MyLogo.png&imageSize=35&text=All rights reserved"

In the example above I wanted to show the text after the image, so I decided to add the text parameter explicitly.

 

Adding multiple watermarks

 

Now that you know how to create your own watermark expressions, you may like to hear that you can add many to the same photo!  All you need to do is to separate your different watermark expressions with spaces within the bind::esri: parameters column.

 

For example, you can write this within bind::esri:parameters:

topLeftWatermark="Bula World" topRrightWatermark="Bye World"

 

As with many things XLSForms, you will want to start easy and increase the complexity of your watermark expressions progressively. You can use Survey123 Connect to make sure your syntax is good and do some preliminary testing, but eventually you will want to test your watermarks from the field app and if you plan your photos to be printed, print them to make sure you get them right.

 

Known limitations

 

  • Photo watermarking is only available in the Survey123 field app. All watermark expressions will be ignored by the Survey123 web app.
  • You cannot combine watermark expressions with the annotate or draw appearances of image questions.
  • On iOS, the Unrestricted image size currently doesn't support watermarks. The image will be scaled down to 1920 pixels on the longest edge. This limitation does not apply to version 3.14 or newer.
  • You can apply text and image watermarks to new photos taken with the Survey123 field app camera. Watermarks cannot be applied to existing photos on the device.

 

Other resources

 

A great resource to see many photo watermark examples is the Watermarks XLSForm sample included in Survey123 Connect.  It includes over 20 different watermarks across multiple pages.

 

 

Our Watermarks—Survey123 for ArcGIS | ArcGIS help topic is a great reference too.

 

 

Happy watermarking!

Tags (2)
41 Comments
RogerMesen-Delgado
Frequent Contributor

Thanks for the post, very complete and useful! *****   !!

StefanoCamisassi
Emerging Contributor

Thanks for the post. I've some problem. Trying to insert in bind::esri:parameters your example leftCenterWatermark="text=Bula World&color=red&size=18" in the picture it print only "text=Bula in blue and without changing the size of the watermark (as you can see in the pictures). 

Do you have any idea about this strange behaviour?

PS: in a lot of your example you write watermak (without R)

many thanks

bye

ChelseaRozek
MVP Regular Contributor

I was getting that issue too. Looks like you don't need the text= part and the only quotes are on the whole string after watermark=. This worked for me:

centerWatermark="@[dateTime:short] \n At @[latitude longitude]&color=red&outlineColor=black&haloColor=white&size=30&bold=true&margin=10"

IsmaelChivite
Esri Notable Contributor

Hi Stefano Camisassi‌ and Chelsea Rozek‌ for your comments. I have updated the faulty examples from the blog. Thanks a lot!

SusanMathai
Occasional Contributor

Thanks a lot Ismael!! very well explained, it means a lot to me. I appreciate your detailed blog!!

BrentKinal1
Frequent Contributor

It doesn't seem to work on image with appearance set to "signature". Any chance you could add the ability to watermark a signature? I would love to have the be able to time stamp and add the printed name as a watermark on a signature.

IsmaelChivite
Esri Notable Contributor

Hi Brent. This note is just to confirm that photo watermarks are only supported against photos taken from the Survey123 field app camera. Annotate, Signatures and photos browsed from your device will not be watermarked.

As a workaround to your requirement to incorporate the date and printed name in the signature image, I suggest you get this information in other questions within your survey and then bring that information in a popup or feature report.

We don't have any previous request to watermark signature images but if you would be so kind to open an official enhancement support via https://support.esri.com we would consider it as a candidate feature.

LiamHarrington-Missin
Frequent Contributor

Hiya,

I have a different but probably captured under the same enhancement request.  I would like to watermark an image captured using spike with the data it collects.  From the above (and from trial and error) I don't think this is currently possible?

JamesTedrick
Esri Esteemed Contributor

Hi Liam,

Yes, this is currently not possible - as Survey123 receives the photo from the Spike app via the photo gallery, it would be similar to opening a photo from the gallery.

ChaimSchwartz4
Frequent Contributor

I am wondering how you generated the "Job ID" in the blog's example, is that the ObjectID...?

IsmaelChivite
Esri Notable Contributor

Hi Chaim, the Job ID in the same is just a question in the survey. Typically, you would auto-populate this question using a Workforce assignment or auto-generate one. https://community.esri.com/groups/survey123/blog/2017/11/25/creating-ticket-numbers-in-survey123-for... 

MichelleWilliams1
Frequent Contributor

May I get your help with my code?

Yesterday I could get the text to populate with standard blue text (not what I wanted). This morning I've played with the quotes and haven't found the right combination to format the font; please help Obi One.

(I deleted the quotes below)

bottomLeftWatermark=${ImageText}&color=black&outlineColor=white&size=12

PS - ImageText is a calculation of our contract numbers ${Contract}.

ChelseaRozek
MVP Regular Contributor

take a look at Ismael's example up in the blog post under "Adding previously entered data from your form". You can't directly put ${ImageText} into the bind column. Looks like you will have to make a ${watermark} row that will have something like concat(${ImageText},"&color=black&outlineColor=white&size=12") under calculation, and then just put bottomLeftWatermark=${watermark} in the bind column on your image row

MichelleWilliams1
Frequent Contributor

Thank you, Jedi Chelsea,

I missed what Ismael meant, and now my text is perfect.

TL2
by
Frequent Contributor

The '#' character breaks the watermark.  Is this by design?  I have thousands of domains with '#'s.  

topLeftWatermark="D##"

The "D" will show up but nothing after the ##

TL2
by
Frequent Contributor

[BUG-000126568: Photo watermark text after a pound sign (#) does not appear in resulting photos collected in Survey123.]

BenVan_Kesteren1
Deactivated User

Hi Ismael Chivite‌,

This blog has been very handy for me and my team. One thing I really would love included is a few examples showing how to include the user information, such as the username of the person who took the photo? Could you add an example for this?

Thank you.

AFackler_NAPSG
Frequent Contributor

I am trying to add two watermarks, one with the simple date and time in the bottom left corner, the other with the lat-long from the geopoint pin in the upper right, then have an outline or halo of white around both to stand out from the photo a bit. Is there any ideas on how I can do this? Also, is there an easy way to add a dash between the numbers in the date or will it just have to be a long string of code?

Thanks!

CPoynter
Frequent Contributor

For adding dashes to date try adding a new field and calculation using:

format-date(${date},'%Y-%m-%d')

or

format-date(now(),'%Y-%m-%d')

BenVan_Kesteren1
Deactivated User

Has anyone gotten the Lat and Long to work correctly?

I am currently using this in bind::esri::parameters

topLeftWatermark="Lat @[latitude] \nLon: @[longitude]&size=50" ‍

I was expecting it to appear something like:

Lat -34.123548

Lon 146.1253456

But it is actually appearing on the photos like this:

Does anyone know if you can cull back the detail to appear like my initial thoughts of:

Lat -34.123548

Lon 146.1253456

Cheers

JamesTedrick
Esri Esteemed Contributor

Hi Ben,

Thanks for reporting this - it appears to be a bug with how the photo information is being processed.  Can you open a ticket with Esri support on this?

BenVan_Kesteren1
Deactivated User

Thanks James, it has been reported to ESRI Australia. 

Cheers

JamesTedrick
Esri Esteemed Contributor

Hi Ben,

To provide an update, we have a hot fix of 3.7 to address this issue available in the Early Adopter Community.  We plan to release this update in the next week.

TL2
by
Frequent Contributor

Could you please make sure this hot fix makes it to the 3.7 template in Survey123 Connect. Thanks!

Also in 3.6 the size function just increases the spacing (this is size 88).  I will open a ticket.

JamesTedrick
Esri Esteemed Contributor

Hi,

Yes, the photo watermark fix is in the 3.7 template.

MichelleWilliams1
Frequent Contributor

Can I have the short date and ${watermark} in the same line? It seems to like one or the other.

bottomLeftWatermark="@[dateTime:short]" ${watermark}

BrandonArmstrong
Esri Regular Contributor

Hi Michelle,

It seems that you would want to include the short date within your watermark by referencing a previously calculated value from a preceding question.  You can refer to the Sample 'Watermarks' XLSForm that is available using Survey123 Connect for an example of how to reference values from previous questions, or, the example in the content of the Blog above.  If this is still not clear, please upload your XLSForm so that we can have a look. 

MichelleWilliams1
Frequent Contributor

Thank you, 

I was able to get it to work using this formula that I found in the Sample 'Watermarks' XLSForm

in the watermark field under calculate ~ concat(${UCCRelease}," ",'\n@[date]')

Thanks, Brandon!

JamesTedrick
Esri Esteemed Contributor

Hi Ben,

We have released 3.7.57 with a fix for the watermark Latitude/Longitude issue.

by Anonymous User
Not applicable

Hi James,

Thanks for your support. We'll wait this new version, I would like to mentioned a similar issue regarding Lat - Long, it's possible to define the length of decimals? 

by Anonymous User
Not applicable

Is there a way to remove a watermark from a photo once it has been submitted. There are instances where we would like to have copies of photos without them. In Formal Reports for example.

DougEades-KYEM
New Contributor

Thanks for this wonderful thread - very useful addition!  Is there a way to have watermark on different photos showing different lat/lon?

Use case scenario - we're building a site inspection sheet to collect 4 photos per site (for a FEMA project).  These photos may be up to .25 mile apart, with a "beginning" photo and an "ending" photo.  Each photo should have a watermark showing the lat/lon of where the photo was taken.  

Since we can't do multiple geopoints in a survey, what's the best way to capture a different lat/lon for each photo for the watermark?

IsmaelChivite
Esri Notable Contributor

Hi @DougEades-KYEM 

If you want to take multiple photos and have each photo watermarked with its own lat/lon values, try this:

IsmaelChivite_0-1633467352122.png

The key in the sample above is the use of the multiline appearance and to allow taking multiple photos and the use of the bind::esri:parameters for the watermark expression.

In practice, you do not need a geopoint question to populate the lat/lon values in the watermark. You can have the photo have a watermark showing the lat/lon of the photo and then have a separate geopoint, or geoshape representing the geometry of the survey record.

If you need to store the lat/lon values of a photo as attributes, you can use pulldata("@exif") as described here.  In this case, you will need to create as many image questions as photos you want to take and also add the lat/lon fields for each of the photos.

MathieuBoonen
Regular Contributor

I am successfully using watermarks to report lat long co-ordinates of photos, the problem I have now is some users are loading some of photos/images from other devices that dont create these parameters. the data seems to save okay into the survey, but when I use the photos in a report from webhooks or online in S123 online management etc, those without the Lat Longs are causing the report to error out. 

I suppose the work around it to offer an image section in the survey without the watermark , as it is though you would end up creating many more tables in the survey as image function is already used 9 times in this survey. (9 extra sections (tables) , is not a nice solution)

Or alternately wrap the bind::esri:paramater in an if statement.

How would that look in syntax and how do you get a watermark property when it doesn't exist, or could the bind be set up that way?

TomReyes
Occasional Contributor

My work flow requires a full size photo in addition to a scaled down watermarked photo. Is it possible to use the capture a full size photo and then use that photo to generate a 800x600 thumbnail with a watermark?

Bryan_Thom
New Contributor

This was a great write up, thanks! Question: Is there a way to make the watermarks on photos that are in a repeat? Currently have a survey set up that has a repeat and geopoint for each photo, however, I cannot get the watermarks to display. I setup another photo field outside of the repeat and have no problems there.

I guess edit: I figured it out and it works really well!

silvera
Occasional Contributor

Hi @IsmaelChivite , spotted a typo: topRrightWatermark
Cheers, Adrian. 

Tim-Woodfield
Regular Contributor

Hi @IsmaelChivite. Quick question regarding watermarks and annotate functionality. Are there any plans to let the 2 work together? It would be great to automatically apply the watermark but still allow users to annotate as needed. Thanks!

Carrie
by
Emerging Contributor

I've successfully gotten multiple attributes and information to show up as multiple watermarks on my photo, but I am having trouble getting the photo name to show up in the watermark. Instead, it looks like it's the xpath that is showing up instead of the name.
I have site_id being created from the time stamp of the survey then it is fed into the attribute1 question to be used in the watermark.
After the photo (baseline_photo) is taken and a name is generated, I have it going into a variable question b_photo_filename. Then I call the variable (b_photo_filename) in the watermark along with the site id.  I know it is collecting the photo name because I have changed the question type to text, and I see the photo name in the b_photo_filename box.
The site id shows up correctly, but instead of the photo name, it's like I am getting the whole xpath name.
Can anyone or @IsmaelChivite  tell me why or what is wrong with my expression that it makes the photo name shows up this way?

WatermarkResults.pngPhotoWatermarkXLSForm.PNGBaselinePhotoName.png

Lucas_Halphen
Occasional Contributor

I  wonder how to do a break "or create new lines" within the custom Watermark?

To add a break you can simply add \n to your text.  However this only works within watermark="quotes" and for given @[Placeholders].

As mentioned avobe we can not use standard XSLForm functions within a watermark expression directly and instead we have to use a concat() calculation, but the \n does not work within concat() expressions.

If adding a second Watermark, to the original Watermark="date,longitude,latitude,accuracy" in order add other data into the image via a second custom Watermark.

Example:  How add breaks in the calculate column if I have the following expression?

concat("Contract Number: ",${contractnumber},\n,"Inspector: ",${inspector},\n,"Zone: ",${zone}) then send or move this calculation into a name column variable WM2

and use this second Watermark in the bind::esri:parameters

watermark="date,longitude,latitude,accuracy" WM2

 

abureaux
MVP Frequent Contributor

I need to convert @[compass] into North, East, South, West. Is there a way to do that?

We have a division that needs watermarks on photos, and they need something more readable.

I tried converting the hidden bearing appearance, but that only works when the user manually presses the + button on the compass.