POST
|
Hi Marc, It really depends on the item type. If you are talking about Feature Layers, one way to strengthen security is to register the Feature Layer as an item, store the credentials, and then limit access to the layers from various URLs (for example https://myorg.maps.arcgis.com). Do you think this would work? Mikie
... View more
06-20-2018
04:49 AM
|
0
|
0
|
694
|
POST
|
Hi Ursula, This was posted this to the Survey123 page - however it is more appropriate for the Python group. Can you give more context on where you are running the Python (ArcMap/ArcGIS Pro/arcpy), and what you are looking to achieve. I can point out a few syntax errors as below: def !COUNT_FINA! ( !FLAG! 😞 - !COUNT_FINA! has to be a function name - it cannot be a variable if (!FLAG!== ''O'😞 - the O has two inverted commas before it return !LOC_F_OIL! elif (!FLAG!== 'G'): return !LOC_F_GAS! elif (!FLAG!=='B'): return !LOC_F_BOTH! As highlighted above, you have to pass attributes into the function. So you would use something like this as the function: def CalculateSomething( EvaluateAgainst, ValueToReturn1, ValueToReturn2, ValueToReturn3 ):
if (EvaluateAgainst == 'O'):
return ValueToReturn1
elif (EvaluateAgainst == 'G'):
return ValueToReturn2
elif (EvaluateAgainst =='B'):
return ValueToReturn3 After which you can pass values into the function by doing this: CalculateSomething(!FLAG!, !LOC_F_OIL!, !LOC_F_GAS!, !LOC_F_BOTH!) In ArcGIS Pro you would use this function like this: Mikie
... View more
06-19-2018
04:44 AM
|
1
|
3
|
934
|
IDEA
|
Another script is available which downloads attachments directly from hosted Feature Layers in ArcGIS Online: Downloading Feature Layer Attachments via the ArcGIS API for Python It's likely I'll enhance this in the coming months to allow users use an attribute as part of the attachment output name, and also make it available as a toolbox for ArcGIS Pro.
... View more
06-15-2018
04:33 AM
|
1
|
0
|
1507
|
POST
|
Hi Kristie, There is a good tutorial available here which goes through the process. Make sure the associated image is in the media folder associated with the survey, and the name you are referencing is the same case as the actual file name. There is also a good sample which illustrates different methods availale in the Commuity samples as below: If this doesn't help, can you post the Excel document you are using? Mikie
... View more
06-14-2018
04:25 AM
|
0
|
1
|
401
|
POST
|
Hi Evan, Yes if you can add an exclusion for the Survey123 folders that would be ideal: C:\Users\<username>\Applications\ArcGIS C:\Users\<username>\ArcGIS Out of interest, what anti-virus software do you use? Mikie
... View more
06-13-2018
07:57 AM
|
0
|
0
|
709
|
POST
|
Hi Jeff, I am presuming you are using the Inbox in Survey123 for this? If so, I think what you are looking for is bind::esri:parameters - this column lets you filter the records returned inside of a repeat through the Inbox. See the following as an example (input in the bind::esri:parameters column of the begin repeat row): query="Status <> 'Completed'" orderBy="DateAdded DESC" You can find further information relating to this in the documentation here. Is this what you're after? Kind regards, Mikie
... View more
06-13-2018
07:28 AM
|
0
|
0
|
432
|
IDEA
|
Arcade expressions can to some degree be used for this purpose. The following expression returns lat/long values, and can be used in popups and labels. Note it only works where the basemap is in WGS84 or Web Mercator Auxiliary Sphere. //Convert Lines/Polygons to Points
var PointGeometry = Centroid(Geometry($feature));
var ArcadeX = PointGeometry.x;
var ArcadeY = PointGeometry.y;
var ArcadeSr = PointGeometry.spatialReference.wkid;
var Latitude, Longitude;
function AuxSphereToLatLon(x, y) {
Console("Converting...");
//Conversion based on http://dotnetfollower.com/wordpress/2011/07/javascript-how-to-convert-mercator-sphere-coordinates-to-latitude-and-longitude/
var rMajor = 6378137;
var shift = PI * rMajor;
Longitude = x / shift * 180.0;
Latitude = y / shift * 180.0;
Latitude = 180 / PI * (2 * Atan(Exp(Latitude * PI / 180.0)) - PI / 2.0);
}
if (ArcadeSr == 4326) {
Console("4326 Spatial Reference - No Conversion Necessary");
Latitude = ArcadeY;
Longitude = ArcadeX;
} else if (ArcadeSr == 102100) {
Console("102100 Spatial Reference - Conversion Necessary");
AuxSphereToLatLon(ArcadeX, ArcadeY);
} else {
Console(ArcadeSr + " Spatial Reference is not supported - currently works with Web Maps where the basemap is in WGS84 (4326) or Web Mercator Auxiliary Sphere 102100");
}
function ReturnLatLong(Lat, Long, Decimals) {
return Text(Round(Lat, Decimals)) + ", " + Text(Round(Long, Decimals));
}
ReturnLatLong(Latitude, Longitude, 7); A similar expression can be used to build hyperlinks as in this example on GitHub which hyperlinks to the same location in Google Maps. A simlar expression could be used for Trek2There. Arcade is not supported in Collector or Explorer popups just yet, but this is coming down the line and the above expression will work when this becomes supported. Survey123 can currently hyperlink to Trek2There by building up a hyperlink using the URL Scheme. Mikie
... View more
06-13-2018
01:06 AM
|
3
|
3
|
5352
|
POST
|
Hi Evan, I have seen cases whereby anti-virus software quarantines the .exe. Have you got anti-virus software, and if so can you check whether anything is quarantined? Mikie
... View more
06-13-2018
12:52 AM
|
0
|
2
|
709
|
POST
|
Webhooks would also be a nice way to achieve this: https://community.esri.com/groups/survey123/blog/2018/03/05/sneak-peek-survey123-and-webhooks-integromat
... View more
06-12-2018
07:02 AM
|
1
|
1
|
1030
|
POST
|
Hi Alexa, I'm not sure where your users typically input this data (Desktop, Web or Mobile), but nested subtypes are not technically possible. Mobile and web wise, you can use Cascading Selects in Survey123. There may be alternative methods with Collector Aurora in the future via conditional logic and auto-calculated fields, but this has yet to be implemented or released. A similar answer applies to ArcGIS Pro. Mikie
... View more
06-01-2018
05:17 AM
|
0
|
0
|
1109
|
DOC
|
Hi Eric - a similar question came through in one of the comments above. You would have to alter the query to send back the appropriate attributes, and then use the returned attributes whilst specifying the associated file name.
... View more
05-21-2018
07:58 AM
|
0
|
0
|
21610
|
DOC
|
Hi Eric, If the photos are stored in a table with no spatial attributes, it will appear as a table through the API (as opposed to a layer). Therefore the 'layers' text in lines 81/82/96 have to be chanced to 'tables'. #Lines 81/82
for i in range(len(itemObject.tables)):
featureLayer = itemObject.tables[i]
...
#Line 96
logger.info('Currently looping through feature attachments in layer {} of {}: storing in folder named "{}"'.format(str(i + 1), str(len(itemObject.tables)), featureLayerName)) This should loop through any associated tables (as opposed to layers) and return the appropriate results. Kind regards, Mikie
... View more
05-18-2018
05:29 AM
|
0
|
0
|
21610
|
DOC
|
Hi Holly - have you ever got this script working before? I have not replicated this behaviour with the version of the Python API included with ArcGIS Pro 2.1.2 (v1.2.5). Can you test with the FeatureLayerId = '092d075f4b3a40f78cf1329b20b0d5e7' - this is a public layer so you should be able to access. I initially wrote this using v1.2.0 of the ArcGIS API for Python - I have not tested it with later versions.
... View more
05-09-2018
01:26 AM
|
0
|
0
|
21610
|
POST
|
You can link relevant statments together using either and or or. and indicates that the relevant statments must all be true for the relevant question to be shown: ${Compliant_San} = 'no' and ${Compliant_RG} = 'no' and ${Compliant_Scrn} = 'no' or indicates that one of the relevant statments must be true for the relevant question to be shown: ${Compliant_San} = 'no' or ${Compliant_RG} = 'no' or ${Compliant_Scrn} = 'no' You can also use brackets to use a combination of these - this displays if Compliant_Scrn and one other question equals no: (${Compliant_San} = 'no' or ${Compliant_RG} = 'no') and ${Compliant_Scrn} = 'no' See the follow Excel form (also attached) for a demonstration: type name label hint appearance relevant select_one ChoicesYesNo Question1 Question 1 horizontal select_one ChoicesYesNo Question2 Question 2 horizontal select_one ChoicesYesNo Question3 Question 3 horizontal text RelevantQuestionA Relevant Question A Displays if all 3 questions equal No ${Question1} = 'No' and ${Question2} = 'No' and ${Question3} = 'No' text RelevantQuestionB Relevant Question B Displays if any of the 3 questions equal No ${Question1} = 'No' or ${Question2} = 'No' or ${Question3} = 'No' text RelevantQuestionC Relevant Question C Displays if Question 3 and one of the other answers equal No (${Question1} = 'No' or ${Question2} = 'No') and ${Question3} = 'No' Note, if you are using select_multiple questions, you also have to use the selected() function.
... View more
05-03-2018
06:24 AM
|
2
|
3
|
3409
|
DOC
|
Hi Gee, The page has been moved - see this link. In case this happens again, you can go to the root of Roberts GitHub account here. Mikie
... View more
05-03-2018
01:07 AM
|
0
|
0
|
21610
|
Title | Kudos | Posted |
---|---|---|
1 | 03-06-2018 07:35 AM | |
1 | 05-27-2017 02:06 PM | |
1 | 05-29-2017 07:36 AM | |
1 | 05-19-2017 08:54 AM | |
1 | 05-23-2017 12:43 AM |
Online Status |
Offline
|
Date Last Visited |
11-11-2020
02:22 AM
|