|
POST
|
Right! Not how I remember this working, but it works and is simple enough! Refering to this 2011 blog post, i downloaded a template python script tool from here which is summed up in the screenshot below. The script tool uses arcpy to set the input features, field and field value. In my use case, I only have the Field value set to be selectable from a drop down list (parameter) but you could set all 3 and the field and value would be dependant on the feature class selected. The output Value is then used in subsequent GP tools for selecting data (in my case, select by Attribute and Append). Quite a simple solution in the end! If I find the other solution that I believe also achieved this, I'll share that here too. ***EDIT*** I removed this as the solution because it seems to be a bit glitchy. The first time it ran, it did generate the list, but then that list never seemed to update for subsequent runs as new values were added to the feature class. Shall keep digging!
... View more
03-12-2024
12:27 AM
|
0
|
0
|
5660
|
|
POST
|
Found this blog post which seems to be getting closer (though very old). Generating a choice list from a field (esri.com) Will give it a whirl and see if I can make it work! Swear it didn't need all this extra stuff though.
... View more
03-11-2024
11:04 PM
|
0
|
0
|
5669
|
|
POST
|
Nope - it was definitely an Esri community post explaining how to do it. Just can't find it for the life of me! It used all standard Model Builder functions. Something like Add a GP tool, add a layer or feature class, use Collect Values to get the field values and set that as a model parameter and also used as an in-line variable or input to the tool? I'll keep digging!
... View more
03-11-2024
10:52 PM
|
0
|
0
|
5671
|
|
POST
|
I swear I've seen this done before, but can't for the life of me figure out how to do it or find it again. I want to set a model builder input parameter to return all the values in a specified field of a set layer as the choice list. This way, as the layer grows and more values are added, it will give you the option to select a value and run a tool using that value as a filter for other layers that are related to it. This also removes the need to manually type in a value, reducing human error. I've seen the critique of this elsewhere advising against it because of the potential for huge lists, but in this situation, it won't be an issue. Obviously I want distinct values - not repeats of values if they occur more than once. I thought I'd seen it done with a Collect Values loop of sorts with the input variables of a selection tool.
... View more
03-11-2024
12:01 AM
|
0
|
11
|
6378
|
|
IDEA
|
@PamelaKing I don't know how often your users change, but maybe you could consider using a table loaded into the map with the list of user ID's and their name in a separate field. The table could be updated from a source of truth (Azure?) nightly or when users are added or removed using some other process (python?) and the Arcade calculation would use getuser($layer).username to perform the lookup and return the name value. Thats all a bit beyond what I've done with python, but with the right know how, I'm sure someone could make it work. Definitely a lot of working around though compared to GetUser($layer).FullName!
... View more
03-06-2024
04:25 PM
|
0
|
0
|
3344
|
|
IDEA
|
When streaming in Field Maps, you currently have to access the overflow menu to select the Start option. Stop (pause) is not a problem as the "Add Point" button changes to the "Stop Streaming" button. I recall the old Collector app had an easier to use interface regarding this. Instead of a single "Add Point" button when capturing lines or polygons, maybe 2 buttons split 50/50 across the same space would improve the process of Streaming. See below layout examples. When "Start Streaming" has been selected, the "Add Point" button would be disabled (grey), though even this could still be available allowing you to insert additional points whilst streaming (i.e. streaming interval set to 100m, but you can then hit "Add Point" to add a vertex manually before reaching the 100m threshold. Whether this would reset the count to the threshold is also debatable.)
... View more
03-06-2024
04:20 PM
|
3
|
0
|
1093
|
|
IDEA
|
I think you'll have to add more info to your idea as you can already start and stop streaming then start again. I agree that it could be a little more user friendly (I.e Start Streaming not within the overflow menu but instead next to the Add Point button). Will list that as a separate idea I think! Edit - new idea submitted here: Improve streaming start/stop selection in Field Ma... - Esri Community
... View more
03-06-2024
02:22 PM
|
0
|
0
|
933
|
|
POST
|
Tracker will eventually be fully replaced by FieldMaps so that's what I'd suggest you should use.
... View more
03-06-2024
02:00 PM
|
0
|
0
|
1888
|
|
IDEA
|
@PamelaKing I've had a chat with Esri support. Here's what they said: In terms of the the enhancement, ENH-000157471: Allow Field Maps to support the use of the GetUser() arcade function in a fully disconnected offline environment. The current status of this is under consideration, meaning that the product team is considering adding this functionality to a future release. I've tested this on my device, and it will work in an offline map when I am connected to the internet. However, when I turn wifi and mobile data on the device off the getuser() calculation does not work. Are you able to test using an offline map and disconnecting the device from the internet? I look forward to hearing from you. And a followup up response after confirming it is an issue for us too : It looks like the issue might be related to the full name function, this must be stored in the Portal, however I have tested the arcade for the username which is GetUser($layer).username and this appears to work offline. Is the workaround sufficient until this functionality is implemented? I've since used the below logic to extract first and last names and format them correctly from our Usernames. I hope that helps! //GetUser($layer).fullName
//Use the below if usernames are formatted as first.last@abc_def.
//Uses Split to remove text "@abc_def" and then splits the remaining text using the "."
//Returns the first and last names fortmatted using Proper case.
Proper(concatenate([Split(Split(GetUser($layer).username,"@")[0],".")[0],Split(Split(GetUser($layer).username,"@")[0],".")[1]]," ")) Now , to go about updating all my forms with the workaround!
... View more
03-05-2024
05:00 PM
|
0
|
0
|
3372
|
|
IDEA
|
@PamelaKing I'll see if I can follow up on this myself. It won't show in our account but I'll reach out to support. I'd like to restore my confidence in that it is working properly instead of just nobody complaining about it yet and my Admin role making it work instead when I try it (which has happened before).
... View more
03-01-2024
02:15 PM
|
0
|
0
|
3410
|
|
IDEA
|
@WetherbeeDorshow I hear you on the override option for intersected features. We have a similar process in place when an intersected feature is incorrect or simply doesn't exist so it would be good to have manual input options. We do reduce the intersection issues by adding a negative feature buffer to our source feature (which cover large areas) so it reduces the chance of intersecting a neighbouring operation. Maybe thats something that could help in your situation. See my code below and discussion here for how we do this: Solved: Help with returning value from 2 Intersecting Laye... - Esri Community Note - the code below searches different layers based on selections in other fields, and depending on those, will reduce the search area by different amounts. The side effect is, if a feature is too small to start with (less than 500m or 2000m across depending on the reduction) then it fails to return any intersection and results in the "See Comments" value. var BufferedFeature1 = Buffer($feature, -250, 'meters') //Negative buffer of 250m to focus search on smaller feature types
var BufferedFeature2 = Buffer($feature, -1000, 'meters') //Negative buffer of 1000m to focus search on larger feature types
var intersectLayer1 = Intersects(FeatureSetByName($map, 'Plantations'),BufferedFeature1)
var intersectLayer2 = Intersects(FeatureSetByName($map, 'Concept Areas'),BufferedFeature1)
var intersectLayer3 = Intersects(FeatureSetByName($map, 'Harvest Plan'),BufferedFeature1)
var intersectLayer4 = Intersects(FeatureSetByName($map, 'Operation Boundaries'),BufferedFeature2)
if ($feature.EstateType == "PTN") {for(var f in intersectLayer1) {
if(!IsEmpty(f.Plantation)) {
return f.Plantation
}
}
for(var f in intersectLayer2) {
if(!IsEmpty(f.PlannedName)) {
return f.PlannedName
}
}}
if ($feature.EstateType == "NF") {for(var f in intersectLayer3) {
if(!IsEmpty(f.Block_Cpt)) {
return f.Block_Cpt + " (" + f.LOIS + ")"
}
}}
if ($feature.EstateType == "SW") {for(var f in intersectLayer4) {
if(!IsEmpty(f.OperationArea)) {
return f.OperationArea
}
}}
//Repeat the first line for all field1 and field2 values
else {return "See Comments"}
... View more
02-29-2024
11:54 PM
|
0
|
0
|
3439
|
|
IDEA
|
Interesting indeed. Maybe @DougMorgenthaler or @JeffShaner might be able to shed some light on this? Could be that you need to submit a support request through MyEsri to get it diagnosed. Could be a bug based on device type, device OS, app versions, etc.
... View more
02-29-2024
04:23 PM
|
0
|
0
|
3450
|
|
IDEA
|
Just filled out a survey for the Early Adopter Community around Field Maps Designer and Feature Templates and what functionality we use and would like to see added. I encourage others to check out the EAC if you're interested in knowing more! ArcGIS Field Maps - ArcGIS Field Maps (esri.com)
... View more
02-28-2024
05:44 PM
|
0
|
0
|
1918
|
|
IDEA
|
@PamelaKing interesting - we use the exact same expression for the same reason in offline enabled maps and it works fine both online and offline. For us, it would be useful for staff to be able to override it when they are updating a feature that is not their primary responsibility but for which they are temporarily looking after while someone else is on leave.
... View more
02-28-2024
04:16 PM
|
0
|
0
|
6756
|
|
IDEA
|
When downloading an offline area in Field Maps, currently the Basemap option is set in Field Maps Designer as either of the following 3 options: - Basemap defined by the web map - Tile package on the device - Tile package from my organization If the 2nd option is selected and the file is not present on the device, it defaults back to the "Basemap defined by the web map" option. IDEA: Allow the use to choose whether to use the basemap as specified in Options 2 & 3, OR Option 1. Use case: We have a general map that for the most part, imagery is optional thus a basemap on the device streamlines the offline download workflow. However, we have some use cases where the user would prefer to have the imagery avaiable. To achieve this, they need to NOT have the file on their device so that it defaults back to the 1st Option. If there was a choice at the point of download, this would allow them to choose the most appropriate solution for the occasion.
... View more
02-26-2024
07:35 PM
|
5
|
1
|
979
|
| Title | Kudos | Posted |
|---|---|---|
| 4 | Wednesday | |
| 1 | Tuesday | |
| 2 | Tuesday | |
| 2 | 2 weeks ago | |
| 2 | 2 weeks ago |
| Online Status |
Offline
|
| Date Last Visited |
yesterday
|