|
POST
|
Caryl, It should, with a relatively small modification. The field calculate profile allows you to use the $datastore global variable, so if you replace the $map in the expression with $datastore then make sure all the field / class names are correct it should work. Depending on how much data you are processing it may take a while (hundreds of features is fine). These arcade expressions aren't as efficient at handling large datasets as geoprocessing tools, but they certainly are easier to get setup!
... View more
04-10-2020
01:39 PM
|
0
|
0
|
3108
|
|
POST
|
Unfortunately it looks like performing a field calculate across databases is not supported at this time, my guess is that Esri currently doesn't support this for performance reasons. You can double check this by looking at the arcade profile for the field calculate operation ( https://developers.arcgis.com/arcade/guide/profiles/#field-calculate ). However, if you look closely at the profiles in Esri's help page (or the convienent table I put in my article https://www.powereng.com/insights/my-three-favorite-features-in-arcgis-q1-release-for-arcgis-professionals-1-of-2/ ) you can see that we do have access to the map profile in popups. If you did want to create a popup to do this you would configure the expression on your shoreline feature class and have it display the value from the shoal that it intersects with. This will involve using the featuresetbyname and intersects functions. The expression would look something like the following: var all_features = FeatureSetByName($map,'USGS_GEOL_FloridaBayShoals', ['NAME'], true); var coincident_features = Intersects(all_features, $feature) First( coincident_features).NAME; At that point any time you clicked a shoreline on the feature class, it would automatically display the corresponding island name. This may be good as a short term workaround, but in the long term you will likely need to use geoprocessing tools in order to do this calculation. Using model builder you would perform a spatial join between the layers, create a map join on the two layers in your map, and use a normal field calculate to set the value of the Shoal.Island to be the Shoreline.Name. I look forward to the day that I can use Arcade to do these sorts of tasks, but unfortunately it's still working up to replacing the power of more traditional Geoprocessing tools.
... View more
04-10-2020
12:02 PM
|
1
|
2
|
3108
|
|
POST
|
Chris - I don't have any code for this, but the code you're going to end up writing is going to use the Distinct method ( Data Functions | ArcGIS for Developers ). To find the next id you'll get all the distinct IDs (function), sort them (function), then loop through them until you find an opening (loop). To check for uniqueness, filter the current table to look at everything but the current row, get the distinct values, then check to see if your current value is in that list (each of those steps is just a single function).
... View more
03-05-2020
07:39 AM
|
0
|
0
|
2248
|
|
POST
|
Chris - The batch calculation rule and batch validation rule would both be completely different. For validation you would make sure that you hadn't duplicated any numbers, and for batch calculation you would scan every row in the database to identify the first available number.
... View more
03-04-2020
10:42 AM
|
0
|
2
|
2248
|
|
POST
|
Chris - Yes, but in this sort of case you would likely abandon the sequence approach for numbering in favor of a batch calculation rule and a batch validation rule. The batch calculation rule would find the next available number for each feature and the batch validation rule would ensure that all the assigned numbers in the system are unique. Because these are batch calculation rules they must be run manually, and I would recommend running these rules (along with any other attribute rules) as part of you QA review process after reconciling with default and ahead of posting.
... View more
03-04-2020
07:12 AM
|
0
|
4
|
2248
|
|
POST
|
Chris - That is correct. The 'nextsequencevalue' uses a database sequence which uses a simple auto-increment functionality. If you wanted something that could go back and 'fill in gaps' or dynamically find the last used number you would have to write your own code to do that. These rules work great for simple, local datasets but when you start dealing with Enterprise, Versioned datasets the problem becomes much harder to track down because certain numbers may be referenced in unposted versions for days or even years (and Esri doesn't provide an easy API to scan all versions for specific values). This is why they provide and recommend you use a simple sequence.
... View more
03-04-2020
06:46 AM
|
0
|
6
|
4627
|
|
POST
|
Chris - Excellent! I've been bit by that problem more than a few times. Now that you've got it figured out you should be good when you publish your service. If you do decide to make changes to it in the future just make sure you stop/start the service after making changes any that anyone who was connected to the service restarts their application.
... View more
03-03-2020
04:58 PM
|
0
|
8
|
4627
|
|
POST
|
Ok, because you have a domain on then your issue is likely issue #4. My script won't work for you data as is because you need to adjust it to match the codes and values in your domain. As an example, if your true/false domain uses a "t" for true and a "f" for false your comparison would be $feature.INSPFLAG == "t" . You'll just substitute it with whatever string value you have in that field ("true", "TRUE", "T", "Yes", "y" "yes", "1", etc). If you have any concerns about your code actually being executed I'd also recommend have a default return value of something like -1 so you know that you can confirm your code is running. Any time you change your expression you will need to restart ArcGIS Pro to get the latest code to fire, and if you're editing through feature services you will also need to restart your service (if your service uses a dedicated pool of workers) or the entire ArcGIS Server service (if your service is using shared instances). Because of this I'd recommend you make use of a service with dedicated workers while you're developing your expressions.
... View more
03-03-2020
02:44 PM
|
0
|
10
|
4627
|
|
POST
|
If your expression fires on update you'll need to add a bit more logic to this script: If the inspection flag field is empty or set to false you'll return the current feature's FlagID value. If the FlagID is already populated, return the current feature's flag ID value. Then, and only then, should you return the next sequence value. If your "True/False" domain is actually for an integer field you may need to change your check to either compare the feature value against the underlying domain value ($feature.INSPFLAG==1), or dynamically compare against the coded value (DomainName($feature,"INSPFLAG") == "True").
... View more
03-03-2020
11:39 AM
|
0
|
12
|
4627
|
|
POST
|
Wait...was this whole thread about wanting to create one point/line feature with a bunch of features with a predefined set of attributes? Oh man, if that's the case I'd 1000% recommend using feature template with related tables (for a point/line with related objects) or for a predefined set of related features i'd use the preset template.
... View more
02-22-2020
08:07 PM
|
2
|
1
|
7618
|
|
POST
|
Ah that's my problem, I've been testing the tools against FGDBs! I guess it makes sense that it wouldn't be supported on file geodatabases, once my current run is finished I'll test it out against a local SDE instance.
... View more
02-09-2020
07:43 PM
|
0
|
1
|
2896
|
|
POST
|
In the 2.4 release of the Esri Utility Network Package tools the "Apply Asset Package" tool (Apply Asset Package—Tool Reference | ArcGIS Solutions ) was able to make use of multiple cores during the data loading process in order to reduce data loading times. In the 2.5 release of these tools this appears to no longer be the case. This means that small datasets that used to load in 30-45 minutes are now taking upwards of 8 hours. Is this a known issue? Is there a workaround? In particular I need to have the append and import associations tools run in parallel as loading a single association file for a medium sized dataset can take 1-3 hours (my current dataset has 20 association files!).
... View more
02-09-2020
05:58 PM
|
0
|
6
|
3099
|
|
POST
|
Brian, There is an arcade function that lets you get all of the features related to the current feature ( Data Functions | ArcGIS for Developers ). Is this what you're looking for?
... View more
02-07-2020
01:36 PM
|
1
|
12
|
5476
|
|
POST
|
It's definitely possible, check out this video from FME for some tricks and tips to get started ( MicroStation DGN: How to Integrate CAD and GIS ). FME Workbench and the Data Interop are comparable for what you're doing. You may need to expose additional attribute or use some different parameters on your reader in order to get at all of the underlying attributes.
... View more
02-03-2020
01:59 PM
|
0
|
0
|
2089
|
|
POST
|
As a consultant who has been involved with the Utility Network model since it's early alpha and beta releases I'll leave my 2 cents. The hardest part of the implementation of water/storm/sewer is going to be working through all the data preparation / cleanup, and for that I'd highly recommend using Esri or a Consultant to help manage that part. If you have a strong data conversion team in house they should be able to handle the conversion, with some guidance from Esri or a Consultant. If you don't have a strong data conversion team in house you will likely need to bring in an outside consultant. If you do end up going the consultant route I recommend you look for consultants who have been Certified as capable of implementing the Utility Network by Esri. If you want to do it all in house then a good place to start would be to take all of the classes and certifications recommended by Esri to get certified.
... View more
02-03-2020
01:56 PM
|
4
|
0
|
1614
|
| Title | Kudos | Posted |
|---|---|---|
| 1 | yesterday | |
| 1 | Wednesday | |
| 1 | 3 weeks ago | |
| 1 | Tuesday | |
| 1 | Monday |
| Online Status |
Online
|
| Date Last Visited |
8 hours ago
|