|
POST
|
Matt, Can you show us the field data types for your source table as well as sample values for a single row for the globalid and globalid_1 columns?
... View more
05-14-2020
07:39 AM
|
0
|
5
|
4627
|
|
POST
|
Matt, You shouldn't need to play any shell games with adding extra fields or calculating new global ids. I just ran the process end to end on my data. If your data already has a GlobalID column (a column with the GLOBALID data type, which it looks like it does) you should map your data to the "GLOBALID" field. Then after running your data loading workspace the global id from your source feature will appear in the global id field on your new in feature: If your data doesn't already have a GlobalID field you should be able to add one using Esris "Add Global ID" tool:
... View more
05-14-2020
07:31 AM
|
0
|
0
|
683
|
|
POST
|
Matt, If the relationship is created on a GlobalID or user generated key then the process is very simple because the primary/foreign keys will be maintained through the conversion. If you're looking to convert relationships (or attachments) which use object id relationships, you'll likely want to add globalids to your source data ahead of the conversion (maybe even now?) and use a python script to map your old object ids to their global ids, then when you recreate the relationships just use the global ids instead. You'll likely want to do this anyways since globalid relationships will allow you to take your data offline.
... View more
05-13-2020
03:23 PM
|
0
|
10
|
4627
|
|
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
|
2985
|
|
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
|
2985
|
|
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
|
1989
|
|
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
|
1989
|
|
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
|
1989
|
|
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
|
4161
|
|
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
|
4161
|
|
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
|
4161
|
|
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
|
4161
|
|
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
|
7115
|
|
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
|
2573
|
|
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
|
2776
|
| Title | Kudos | Posted |
|---|---|---|
| 1 | Thursday | |
| 1 | Wednesday | |
| 1 | Tuesday | |
| 1 | Tuesday | |
| 1 | a week ago |
| Online Status |
Offline
|
| Date Last Visited |
yesterday
|