laptop and a wrench

Bogue

Calculate operation fails with "The calculate expression is not valid" error when validating SQL expression to update date fields in hosted feature services.

Portal for ArcGIS
Numéro d’ID de bogue BUG-000161055
EnvoiAugust 30, 2023
Dernière modificationJune 5, 2024
S’applique àPortal for ArcGIS
Version trouvée10.8.1
Système d’exploitationWindows Server
Version du système d’exploitation2016 64 Bit
Version de correction10.9
StatutFixed

Solution de contournement

There are two workarounds for this defect.

 

1) Upgrade the ArcGIS Enterprise deployment to versions 10.9.1, 11.0, or 11.1.

2) Use the Python script below to update the date field of a hosted feature layer.

 

# import modules

# Python modules

import datetime as dt

import pandas as pd

 

# ArcGIS modules

from arcgis.gis import GIS

from arcgis.features import GeoAccessor, GeoSeriesAccessor

 

# establish a connection to the portal

gis = GIS("portal url", "username", "password")

 

# access to the hosted feature service / feature layer collection

feature_layer_collection = gis.content.get("item id")

 

# access to feature layer that has date field

feature_layer = feature_layer_collection.layers[0]

 

# convert feature layer to spatially enabled dataframe

sedf = pd.DataFrame.spatial.from_layer(layer=feature_layer)

 

# convert the UTC time zone to Pacific Time Zone using Pandas functions

sedf['DateField'] = sedf['DateField'].dt.tz_localize('utc').dt.tz_convert('US/Pacific')

 

# update the date field in the spatially enabled dataframe

sedf['DateField'] = sedf['DateField'] + pd.Timedelta(hours=1)

# remove localization from the date field

sedf['DateField'] = pd.to_datetime(sedf['DateField']).dt.tz_localize(None)

                                       

# convert spatially enabled dataframe to a feature set

feature_set = sedf.spatial.to_featureset()

 

# update feature layer using the feature set with edit_features method

feature_layer.edit_features(updates = feature_set)

 

The Python script above increases one hour to the time of the date field in a hosted feature layer. This value can be varied for different workflows. 

Étapes pour reproduire

ID de bogue: BUG-000161055

Logiciel:

  • Portal for ArcGIS

Recevoir une notification lorsque le statut d’un bogue change

Télécharger l’application Esri Support

En savoir plus sur ce sujet

Obtenir de l’aide auprès des experts ArcGIS

Contacter le support technique

Télécharger l’application Esri Support

Accéder aux options de téléchargement