|
POST
|
This problem is likely caused by your web browser, which is stripping out the EXIF tag. https://apple.stackexchange.com/questions/326789/gps-exif-from-iphone-photo-upload-in-safari https://stackoverflow.com/questions/57942150/file-upload-and-exif-in-mobile-safari
... View more
05-15-2023
10:26 AM
|
0
|
0
|
582
|
|
POST
|
Hi. Try this: https://support.microsoft.com/en-us/office/repeat-table-header-on-subsequent-pages-2ff677e0-3150-464a-a283-fa52794b4b41
... View more
05-15-2023
10:18 AM
|
1
|
0
|
1119
|
|
POST
|
Hi @AnaDeniston Thanks for sharing your findings! Another approach to prepopulate records in a repeat is to use the query parameter in the bind::esri:parameters column of your XLSForm. For example: In the above example, all Circuit Breakers for the Electric Panel will show in your repeat when you open the Electric Panel from the Survey123 Inbox. This is because the circuits repeat is set with the query parameter in bind::esri:parameters. Using the query parameter has its advantages: The XLSForm syntax is pretty simple. It works, even if you are offline and it is quite flexible: If you do not want to load all Circuit Breakers into the repeat, you can also use a filter. For example, if you only want to populate repeat records where the status is needs repair: Using additional parameters you can even control if records should be in read-only mode or not. For example, you may want to display previous inspections in read-only mode and allow updates to new inspections. There is a bit more info about this here: https://community.esri.com/t5/arcgis-survey123-blog/survey123-tricks-of-the-trade-repeats/ba-p/898041 and also in this video recording from the Esri Developer Summit: https://mediaspace.esri.com/media/t/1_rge1ajj8
... View more
05-11-2023
01:51 PM
|
1
|
1
|
4409
|
|
POST
|
Yes. You will need to use the pulldata("@layer") function for this. I attached an XLSForm example. Notes: The pulldata function allows you to query a layer. You will want to query the inspection's layer with a query that looks something like this: assetID='100' and inspectionDate BETWEEN CURRENT_TIMESTAMP - 15 AND CURRENT_TIMESTAMP For your pulldata query to work, your survey layer MUST allow the query operation The pulldata("@layer") function only works when you are connected (it will not work while offline) To setup the XLSForm: Take the attached XLSForm, load it into Survey123 Connect and publish it Go into the item details page of the survey layer created by Survey123 Connect and make sure you enable queries in your surveys layer Get the URL of your layer and replace it in row 8 of yourXLSForm. Re-publish your survey and use either a web browser or the mobile app to add one or more records to test. Hope it helps.
... View more
05-11-2023
01:32 PM
|
3
|
1
|
2955
|
|
BLOG
|
A new update to ArcGIS QuickCapture is now available! It is time to download the latest update from the app store. Take advantage of new features, including: Video Recording Enhanced App Linking A better icon gallery Other enhancements and fixes What’s new in ArcGIS QuickCapture (May 2023) Video recording That is right! Configure your ArcGIS QuickCapture projects to help users associate videos with the observations they collect. Use videos to report issues, document damage and field observations. Learn through the screenshot below how to activate video recording in your projects. You are just one click away! Videos are stored in ArcGIS as attachments. This means you can view your videos from any ArcGIS app, including Instant Apps, Experience Builder, ArcGIS Pro and ArcGIS dashboards! Enhanced app linking Use the QuickCapture app app to link to other applications remotely. Through app linking, for example, you can launch and open a QuickCapture project from another Esri app, an ArcGIS map popup, or a simple hyperlink in an email or website. Understanding app linking is vital to integrating ArcGIS QuickCapture with third-party apps in your mobile device. This release introduces new app link syntax to help you: Press a button and set attribute values in the new feature collected Define a callback so QuickCapture automatically returns to another application after an action has been invoked Check out the following app link example: It opens a QuickCapture project, presses a button, sets an attribute value, and immediately returns to the calling mobile app. arcgis-quickcapture://?itemID=36ff9e8c13e042a58cfce4ad87f55d19&action=press:0c59c9d9-9b51-46b3-bb81-21149e6fddb4&field:GM=20&callback=https://geiger.mobile.app Learn more about app linking in this help topic. A better icon gallery Make your projects look great by associating icons with your QuickCapture buttons. You can upload your icons or use the QuickCapture icon gallery. With this update, you will find a new set for trail management. Other enhancements and fixes BUG-000154802: Fixed this bug which caused lines to be digitized in the wrong direction. Use the new Refresh Map action to reload live features from your map Visit our What’s new help topic to learn more about this and previous releases. Getting Started with ArcGIS QuickCapture Webinar Discover new features and more! Join us on May 24th at 9 AM PDT and learn how you can benefit from using a simple yet effective data collection mobile app. Our webinar will be short, instructive, and feature plenty of demos. Register Now!
... View more
05-11-2023
11:35 AM
|
0
|
3
|
1777
|
|
POST
|
Hi @MattWilkie1 Sorry to hear you are having issues with this. The easiest way to associate an offline map with a survey is: In Survey123 Connect, click on Files from the left toolbar. This will open the survey directory. Copy your mmpk or vtpk or tpk into the media folder. Note: The map MUST use the web mercator projection (the same projection all ArcGIS basemaps use). Publish your survey Download the survey into your device Another approach is to use linked maps. Instructions here. You can also sideload maps directly into the device as described here. I used the first method described above to publish this survey. The offline map covers the continental US. Feel free to download into your device and test it out. If you are still having problems, send an email to survey123@esri.com and reference this discussion in your message so I can schedule a call.
... View more
05-09-2023
06:39 PM
|
1
|
3
|
3183
|
|
POST
|
The email question type in XLSForm is actually not what you thought: The email question is special type of question that captures the email of the ArcGIS account logged into Survey123. Check this question type in the Survey123 help. The email XLSForm question type is never shown to the end user. By definition, this question is hidden. If you want to include a question in your form for respondents to enter an email: I suggest you do the following: Add a text question type Create a constraint with a regex expression to validate that the email entered looks like an email For example: regex(., '^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$') Attaching an XLSForm so you can see the whole thing.
... View more
05-09-2023
06:15 PM
|
5
|
1
|
2252
|
|
POST
|
@JoseBarrios1 I think that your approach to present a list of known stations is great. It will simplify the survey greatly. Since you are working in a well-known area, you may even want to create a polygon layer so you can take the location from the user and get the ID from the polygon layer. I noticed you wanted tide info but I did not find it myself. I see that you can navigate the NOAA website and find it so I hope you can get it working soon. There is a lot of info from NOAA. I think people in the Survey123 community will appreciate knowing about the research your are doing.
... View more
05-09-2023
10:09 AM
|
1
|
1
|
4624
|
|
POST
|
https://community.esri.com/t5/arcgis-survey123-blog/survey123-tricks-of-the-trade-creating-a-geolist/ba-p/1287059
... View more
05-08-2023
05:23 PM
|
0
|
0
|
1142
|
|
BLOG
|
Call it a coincidence, but two people asked me recently how to populate a dropdown list using records from an ArcGIS point layer, and have the form calculate a geopoint when a list choice is selected. The idea is illustrated in the animation below. I will call it a geolist. Patent pending! I think this is kind of a nice trick, as it allows you to create an alternative experience to define a location: No map, no address... just a list! Your list could display city names, postal codes, hospital names... This is not really a new concept: In Survey123 Connect we have a survey sample called 'Calculate location from CSV'. However, it is worth revisiting it with a different twist: Using an ArcGIS feature layer instead of a CSV as the source of choices in the list. I have attached the XLSForm I used to put together the animation above. I bet many of you will not need further explanation, but just in case, I will highlight how all of this works: Populating a list from a feature layer The first question in the XLSForm is a select_one. Note that I added the autocomplete and search appearances to it. autocomplete search("cities_list?url=https://services.arcgis.com/P3ePLMYs2RVChkJx/ArcGIS/rest/services/World_Cities/FeatureServer/0") The autocomplete appearance is optional, but highly recommended when you work with very long lists. The search appearance is used to feed the list with records from a layer. You can see the URL of my layer in there. The search appearance indicates the exact layer from which we will populate the list, but not what fields should be used for the label and name of the choices. That, is done in the choices worksheet as shown below: In this particular case, I chose the CITY_NAME field for the labels, and the OBJECTID for the names, or values. If you save and test your survey at this moment, you will get a list showing all cities in the layer. You do not have to use the OBJECTID for the name. You could use the CITY_NAME again if you like, or any other field that uniquely identifies the record selected. Getting the geometry of the selected record To get the point geometry of the selected record, we will use the pulldata("@layer") function. Note that I am using the getValue operation and asking it to return the 'geometry' field on the record that coincides with the OBJECTID selected. The source URL for the pulldata() function is the same as for the list. pulldata("@layer", "getValue","geometry", "https://services.arcgis.com/P3ePLMYs2RVChkJx/ArcGIS/rest/services/World_Cities/FeatureServer/0", concat("OBJECTID =", ${city})) The output from this calculation will be a small JSON object that will look something like this: {"x":20.8320034155833,"y":13.83699601616103} Typically, you will not want to show this value in the form. To hide the question you can either change the question type to calculate, or apply the hidden appearance. Calculating the geopoint Next, we are going to calculate the geopoint question with the geometry we have from the selection. Note how the pulldata('@json') function allows us to easily extract the x and y coordinates from the JSON, and how the concat() function is used to compose the actual geometry in the geopoint question. Technically, you do not need to add the x and y questions into your design. You can construct the geometry object all in one expression: concat(number(pulldata("@json",${city_JSON},"y")), " ",number(pulldata("@json",${city_JSON},"x"))) Final touches As indicated above, you can choose to show or hide the map question. I like to use the hidden appearance on the geopoint question when I need to hide it. If you want to apply conditional visibility to the geopoint question, it is a good idea to set its default value to null. This is to avoid any timing issues where the map question may first try to center at the user's location and then immediately get recalculated to the location of the selected choice. Remember also to set the bind::esri:fieldType value to null in any question that you do not want to store in the ArcGIS layer. For example, you may not want to store the JSON value. Limitations and other considerations Offline/Online: The search appearance only works while online. That is, do not expect your list to be populated from an ArcGIS layer if your device is offline. Spatial references: Survey123 will always get the geometry from your layer in WGS84. If your feature layer is using a different spatial reference, that is fine, Survey123 will convert your coordinates if necessary. Long lists: If your layer includes many records, always use the autocomplete appearance. Otherwise your form loading time will be penalized. Polygons and Lines: It is technically possible to create a geolist that stores a polygon or line geometry as well, but this only works in the mobile application. If you would like to dynamically filter choices in your list, check the Dynamic Lists blog post.
... View more
05-08-2023
05:17 PM
|
12
|
8
|
11114
|
|
POST
|
@GregReinecke I am not sure what is not working for you. I took your XLSForm, published it, and tested it. As far as I can tell, it is working good. See animation below.
... View more
05-08-2023
03:33 PM
|
1
|
0
|
10429
|
|
POST
|
Hi @JoseBarrios1 I tweaked the OpenWeather sample to make it work against the NOAA service. The XLSForm and associated JS file are attached. I hope this helps you get started. From my initial tests, it does not seem like the NOAA service gives you anything for the Caribbean. It looks as if the service only works for locations within the US.
... View more
05-08-2023
01:21 PM
|
2
|
2
|
4637
|
|
POST
|
If I understand the problem here, each record in the repeat as a quantity attribute and a category. The goal is to do a sum of the quantities for each of the categories, as shown in the animation below: I do not think the sum function is going to help. This is because the sum function sums values for ALL records in the repeat. We cannot tell the sum function to ignore certain records from the repeat. An alternative approach is to use a custom JS function. I created the animation above with the attached XLSForm and JS Function. function totalFruit (fruits, quantities, fruit)
{
var fruits_array = fruits.split(',');
var quantities_array = quantities.split(',');
var totalFruit = 0;
var i;
for (i = 0; i < fruits_array.length; i++) {
if (fruits_array[i]==fruit) {
totalFruit = totalFruit + Number(quantities_array[i]);
} }
return totalFruit;
} I tested this in both the mobile and web apps. Worked good! Hope it helps.
... View more
05-08-2023
11:19 AM
|
1
|
1
|
3099
|
|
POST
|
Can you please share your XLSForm? We would need to test your survey design and try to reproduce the crash. What device are you using?
... View more
05-03-2023
02:22 PM
|
1
|
1
|
2922
|
|
POST
|
Can you share your XLSForm? You can include it as an attachment in this thread.
... View more
05-03-2023
12:57 PM
|
0
|
2
|
10484
|
| Title | Kudos | Posted |
|---|---|---|
| 1 | 03-03-2021 09:03 AM | |
| 1 | 04-01-2022 12:48 PM | |
| 1 | 03-22-2022 08:44 AM | |
| 1 | 08-26-2021 02:43 PM | |
| 1 | 10-30-2019 10:15 PM |
| Online Status |
Offline
|
| Date Last Visited |
08-25-2025
09:21 AM
|