|
POST
|
So there might be a few things that can be tested. Create a hosted view that is updated in field maps but has a filter set in the map to only display certain values. This should restrict the editing of the related record You can simply filter out the table values so that they are only visible in Survey123 but not in field maps Append a value to the related table such as a text field with attributes stating "survey" and have it so that it does not display in field maps when you set the visibility fields to look for fields that don't have that value.
... View more
4 hours ago
|
0
|
0
|
2
|
|
POST
|
The only thing I can think of is to create an expression that concatenates and modifies the html at the same time. Something like: var C = ['• SomeValue','• SomeValue','• SomeValue']
return Concatenate(C,'/n') in addition to the html element. Something that may be doable but I have yet to test this fully.
... View more
4 hours ago
|
1
|
0
|
1
|
|
POST
|
So that is a fairly simple and straightforward method but it does have a strange workaround. Basically you would simply need to set a pre filtered field to only show the actively edited features. If you need further guidance in pretty sure others in the community have also handled this as well.
... View more
Thursday
|
0
|
0
|
119
|
|
POST
|
Hi @mshanaghan, You can do it but I believe there is a slight configuration issue between an editable enterprise fs vs a hosted service. The problem mainly stems from the configuration of the service itself which might prevent it from being updated. Here is the documentation pertaining to that. Feature layer requirements—ArcGIS Survey123 | Documentation There are two other things to consider depending on which direction you want to take. Regarding enterprise feature services, it is typically ideal to use Field Maps since the underlying application code base is more compatible with those types of services when compared to Survey123. Survey123 on the other hand has more capabilities and intricacies than field maps, allowing users to customize the applications behavior extensively, which most people would understand by now. However, one thing to consider at least in regard to enterprise feature services, is the use of attribute rules in conjunction with SQL to automate a majority of workflows. That is how we have our inspections set up which has reduced the time it takes to fill out information while automating a lot of our reports.
... View more
a week ago
|
1
|
2
|
160
|
|
POST
|
Hi @SanchezNuñez, Then you could try to deconstruct the network temporarily, though that might be inadvisable, make the change and then rebuild it. I have not constructed a utility network myself but if that is a known issue then that might be the only option. Here is something I found akin to your situation. Editing the Utility Network Schema for an Existing... - Esri Community
... View more
a week ago
|
0
|
0
|
219
|
|
POST
|
Have you tried creating a replica schema to see if that will work? I have not used those myself but based on what I have read it will create a local copy of the exact features you need. Whether or not that will work for you is unknown but you could give that a try.
... View more
a week ago
|
0
|
0
|
80
|
|
POST
|
Hi @MitchHolley1, Have you tried running the generate schema report in pro. I typically use that when identifying changes between test and production databases.
... View more
a week ago
|
0
|
2
|
85
|
|
POST
|
Hi @mshanaghan, So in regards to both hosted and enterprise services, typically you would want to keep everything in either one or the other. Survey123 can be used to update information and write back to a published service from an enterprise sde database but that is bit of a tricky work around and isn't necessarily ideal. If you want to update a hosted service and create the relationships that way then that is probably more ideal when using Survey123. Otherwise it might be best to create the relationship in the feature service published from the enterprise sde database. There are some workarounds to getting information from bar codes in field maps.
... View more
a week ago
|
1
|
4
|
189
|
|
POST
|
Hi @JoseSanchez, Have you looked into using the Table to Domain Tool in ArcGIS Pro. If you modify a domain of one value but wish to update both code and description then you can use this tool. You can also simply use one field for both the code and description values of a domain. Ideally if one sets of codes/descriptions are dependent on another set of values then this tool might be the easiest. However, if there are only small changes, then it might be best to simply modify the codes and descriptions manually.
... View more
a week ago
|
0
|
2
|
255
|
|
IDEA
|
Hi @kyankraehenbuehllaixoversumchK, First, please use the code function when pasting any type of code, otherwise it makes it difficult to troubleshoot your issue. //Field: “Bestand Werte kopieren” (Copy Existing Values)
//Editing Expression:
if (IsEmpty($feature.BAUWERK_REF) || $feature.BESTAND_WERTE_KOPIEREN == 1) {
return false
} else {
var relatedFeatures = FeatureSetByRelationshipName(
$feature,
"ABWASSER_MASTER_OWNER.ABW_BESTAND_BAUWERK",
['BEZEICHNUNG']
);
var firstFeature = First(relatedFeatures);
return (
$feature.BEZEICHNUNG != firstFeature.BEZEICHNUNG
);
}
//Calculated Expression:
return 2
//Field: “Bezeichnung” (Label/Name)
//Calculated Expression:
if (IsEmpty($feature.BAUWERK_REF)) {
return $feature.BEZEICHNUNG
} else {
var relatedFeatures = FeatureSetByRelationshipName(
$feature,
"ABWASSER_MASTER_OWNER.ABW_BESTAND_BAUWERK",
['BEZEICHNUNG']
)
var firstFeature = First(relatedFeatures)
return firstFeature.BEZEICHNUNG
}
//Editing Expression:
//DomainName($feature, "BESTAND_WERTE_KOPIEREN") == "Werte aus Bestand kopieren" Secondly, are these calculations used in the same field calculation or are these two different fields with similar calculations. Depending on which then here is perhaps a better approach. Assuming these are the same field.
... View more
a week ago
|
0
|
0
|
108
|
|
POST
|
You could go a more programmatic route. var fs = FeatureSetByPortalItem('d651aa4112e5408ea9a1cfabecd6485c', 23)
// Create schema for the returned FeatureSet
var HRC = "HOUR_OF_CRASH" ; var TODn = "TOD"
var FDict = Dictionary( HRC, "esriFieldTypeInteger", TODn, "esriFieldTypeString" )
var fields = [
{ name: HRC, type: FDict[HRC] },
{ name: TODn, type: FDict[TODn] }
];
var features = [];
for (var f in fs) {
FDict[HRC] = f.[HRC]
FDict[TODn] = When( hour >= 0 && hour <= 5, "Night", hour <= 8, "Morning", hour <= 15, "Day", hour <= 23, "Evening", Null )
Push( features, { attributes: FDict })
}
return FeatureSet( fields:fields, features:features, geometry:'' )
... View more
a week ago
|
0
|
0
|
144
|
|
POST
|
The other thing to add, depending on if you are using an enterprise sde database, is the NextSequenceValue. This is first generated by running the generate sequence tool that, once created, will autoincrement a new numerical number. If you are looking make that id alphanumeric, then you can concatenate the next sequential number with any string characters you want.
... View more
a week ago
|
0
|
0
|
109
|
|
POST
|
Hi @Bec, So the issue is that you are not returning a feature. When creating a custom data expression you should return a value similar to the one below. var portal = Portal("https://www.arcgis.com");
var fs = FeatureSetByPortalItem('d651aa4112e5408ea9a1cfabecd6485c', 23)
// Create schema for the returned FeatureSet
var fields = [
{ name: "HOUR_OF_CRASH", type: "esriFieldTypeInteger" },
{ name: "TOD", type: "esriFieldTypeString" }
];
var features = [];
for (var f in fs) {
var hour = f.HOUR_OF_CRASH;
var tod = When( hour >= 0 && hour <= 5, "Night", hour >= 6 && hour <= 8, "Morning", hour >= 9 && hour <= 15, "Day", 16 && hour <= 23, "Evening", Null )
Push( features, { attributes: { HOUR_OF_CRASH: hour, TOD: tod } })
}
return FeatureSet( fields, Values, geometry:'' )
... View more
a week ago
|
1
|
3
|
162
|
|
POST
|
That was going to be my other recommendation as well. Having a dictionary of fields to map makes data migration easier but it is a bit time consuming if you only know one dataset and how to map to it. If I have multiple datasets I typically use a dictionary such as the one below. fieldmappings = {
('A_FieldA','B_FieldA','C_FieldA') : 'MyFieldA',
('A_FieldB','B_FieldB') : 'MyFieldB'
}
... View more
3 weeks ago
|
1
|
0
|
343
|
|
POST
|
Hi @ARyanWADNR, So the append tool can sometimes be problematic when running outside of a pro session and can lead to issues. One recommendation that I have is instead to use cursors to update the feature rather than calling a tool. Cursors give you more control over certain conditions and are better at limiting certain types of information. import arcpy
from arcpy.da import search as SearchCursor, update as UpdateCursor, insert as InsertCursor, Edit as Editor
from arcpy import ListFields
gis = GIS('home')
fs = gis.content.get('')
layer = fs.layers[0]
fields = [field.name for field in ListFields(layer ) ]
# fields = [field.name for field in ListFields(layer ) if <some matching field conditions> such a list of names or datatype, etc... ]
data = {}
with search( layer , fields ) as cursor:
for row in cursor:
data[row[0]] = row
with Edit(<your editing layer workspace>) as editing:
with insert(<editing layer>, fields ) as cursor:
for key, values in data.items():
cursor.insertRow(values) This is just an example but should at least perhaps help guide you in case you want to try a different approach. With cursors, as mentioned above, these give you more control on how to set certain updates depending on your criteria and are far more flexible than the imported tools. @HaydenWelch, @DanPatterson , @DougBrowning may provide better recommendations or even other methods that yield the same result.
... View more
3 weeks ago
|
2
|
6
|
415
|
| Title | Kudos | Posted |
|---|---|---|
| 1 | 4 hours ago | |
| 1 | a week ago | |
| 1 | a week ago | |
| 1 | a week ago | |
| 1 | 3 weeks ago |
| Online Status |
Online
|
| Date Last Visited |
4 hours ago
|