IDEA
|
I guess it all comes down how Esri interprets this paragraph: Embedding Python is similar to extending it, but not quite. The difference is that when you extend Python, the main program of the application is still the Python interpreter, while if you embed Python, the main program may have nothing to do with Python — instead, some parts of the application occasionally call the Python interpreter to run some Python code. Source: https://docs.python.org/3/extending/embedding.html (emphasis are mine)
... View more
10-28-2021
04:52 AM
|
0
|
0
|
1345
|
IDEA
|
I would like to suggest using <![CDATA[]]> in Python Toolbox's pyt.xml File instead of escaping HTML code. This is more readable and more accessible outside of ArcGIS Pro.
... View more
10-27-2021
05:56 PM
|
1
|
0
|
631
|
IDEA
|
sys.executable should work as specified in the Python specification. A string giving the absolute path of the executable binary for the Python interpreter, on systems where this makes sense. If Python is unable to retrieve the real path to its executable, sys.executable will be an empty string or None. Source: https://docs.python.org/3/library/sys.html#sys.executable (emphasis are mine) sys.executable should be either None or an empty string or C:\Program Files\ArcGIS\Pro\bin\Python\envs\arcgispro-py3\python.exe (or the path of the python.exe of the currently used Python environment). As of today, sys.executable is equals C:\Program Files\ArcGIS\Pro\bin\ArcGISPro.exe when using the ArcGIS Pro built-in Python console or the built-in Notebook feature. ArcGISPro.exe is obviously not a Python interpreter.
... View more
10-27-2021
01:00 PM
|
1
|
3
|
1420
|
POST
|
After some try and error I got this response: {'addResults': [{'objectId': 1, 'uniqueId': 1, 'globalId': None, 'success': False, 'error': {'code': 1003, 'description': 'Operation rolled back.'}}, {'objectId': None, 'uniqueId': None, 'globalId': None, 'success': False, 'error': {'code': 1000, 'description': 'String or binary data would be truncated.\r\nThe statement has been terminated.'}}], 'updateResults': [], 'deleteResults': []} One of the Google result for "1003 Operation rolled back." is: https://developers.arcgis.com/rest/services-reference/enterprise/error-handling-with-sync-operations.htm Seems like the REST API returns 1003 for rollbacks. Based on above response, I could do something like this: def is_rolled_back(result):
for element in result["addResults"]:
if "error" in element and element["error"]["code"] == 1003:
return False
return True
# example with adding records
result = layer.edit_features(add=records, rollback_on_failure=True)
if is_rolled_back(result):
# do something However, this is everything else than a satisfying solution. It's solely based on assumptions due to non-existing documentation. I don't know if the error code 1003 would always be the first element. As I said, all based on assumptions. If it is always the first element, above code can be simplified! Other ideas and inputs are very welcome and appreciated!
... View more
05-12-2021
06:35 PM
|
0
|
0
|
938
|
IDEA
|
Please complete the API Reference with function's output descriptions. Bad examples FeatureLayer.edit_features: https://developers.arcgis.com/python/api-reference/arcgis.features.toc.html#arcgis.features.FeatureLayer.edit_features Output: dictionary FeatureLayer.delete_features: https://developers.arcgis.com/python/api-reference/arcgis.features.toc.html#arcgis.features.FeatureLayer.delete_features Dict if future=False (default), else a concurrent.Future class. This one-line documentation is not helpful. I know this idea is not a feature but it would help extremely to have a more complete API reference. By adding more information to the documentation, questions like this could be avoided: https://community.esri.com/t5/arcgis-api-for-python-questions/how-can-i-test-if-there-was-a-rollback/m-p/1057433
... View more
05-12-2021
05:24 PM
|
6
|
3
|
1552
|
POST
|
How can I test if there was a rollback? Where do I find the documentation for Feature Layer's edit_feature method's response? It's not documented here: https://developers.arcgis.com/python/api-reference/arcgis.features.toc.html#arcgis.features.FeatureLayer.edit_features result = layer.edit_features(updates=records, rollback_on_failure=True)
# looking for something like
if result["rollback"]:
# do something Unfortunately, the API documentation is incomplete. The official documentation only specifies: "Output: dictionary".
... View more
05-12-2021
05:00 PM
|
0
|
1
|
1003
|
IDEA
|
-->
@Scott_Harris Thank you, it's a workaround. I just think the usability can be improved: There are two save buttons, and that one for saving the attributes table's field changes is even bigger, but the project's behaviour is that CTRL+S saves the project instead of data in the context the user is working at this very moment.
... View more
05-10-2021
12:20 PM
|
0
|
0
|
1699
|
IDEA
|
Regarding the contextual nature of your idea: if it's going to ask you every time you use the CTRL+S (save project) shortcut and there are unsaved edits, why does it have to be contextual? @Scott_Harris Personally, I would just want to use CTRL+S without the confirm dialog. I only added the confirmation dialog in my idea in case someone would argue that it would be a risk for those not aware of a context-relating saving behaviour and that way the user will be warned at least once until they check the checkbox. I so many times saved the project instead of the data. This is an issue when I just want to look something up (and for that you changed something in the project which is not intended to be saved).
... View more
05-10-2021
12:04 PM
|
0
|
0
|
1713
|
IDEA
|
-->
I would like to suggest a context-related Ctrl+S behaviour. When I edit something in the attribute table, I would like to be able to save my field changes with Ctrl+S. There should be a context-related behaviour depending on which panel is focused. If someone is editing features in the attribute table, I bet with you, most of the user wants to save these changes. To avoid unwanted changes, a confirmation dialog could be shown asking if the user wants to save the project or the edited data. (Add a checkbox, so the user can decide if they want to confirm always or the context-related behaviour by default.)
... View more
05-10-2021
10:57 AM
|
4
|
6
|
1736
|
POST
|
Thank you. The script above is actually a simplified minimum (non) working example. The issue occurs with this very simple where clause (1=1) and with my actual where clause (fieldName='fieldText'). I am implementing a unit test for an ArcGIS for Python script. I was hoping that I don't have to delete all features so I could run tests asynchronously. But your suggestion could work as a workaround. It is very strange, why it does work for two of the layers (which have - by the way - exactly the same fields and settings) but not for the third one.
... View more
05-07-2021
02:08 PM
|
0
|
0
|
2054
|
POST
|
I am able to print a JSON string with print(layer.properties) (unfortunately I cannot post the whole string, there are confidential information, if you know a specific part which should be checked, let me know) However, the layer is not null. And it's actually the second of three layers. No exception thrown or other errors. Result of layer.delete_features(where="1=1") is {'deleteResults': [{'objectId': 1, 'uniqueId': 1, 'globalId': None, 'success': False, 'error': {'code': 1000, 'description': "Incorrect syntax near ')'."}}]} It's just not making sense.
... View more
05-07-2021
11:41 AM
|
0
|
0
|
2076
|
POST
|
Hi there, I have a hosted Feature Layer on AGOL with 3 layers. When I run following code: gis = GIS("portal", "user", "password")
feature_layer_item = gis.content.get("layer item id")
for layer_id in [0, 1, 2]:
layer = feature_layer_item.layers[layer_id]
result = layer.delete_features(where="1=1")
logging.info("Delete Result: {}".format(result))
# note: code snippet simplified for question The data is deleted for 2 layers but not the third one, even though it's the same code and a simple where clause. I get following error which does not help at all: Delete Result: {'deleteResults': [{'objectId': 1, 'uniqueId': 1, 'globalId': None, 'success': False, 'error': {'code': 1000, 'description': "Incorrect syntax near ')'."}}]} Incorrect syntax near ')' I do not see an error in the where clause 1=1 and it works for the other layers. There must be something I miss or could this be a bug?
... View more
05-07-2021
11:01 AM
|
0
|
4
|
2108
|
POST
|
Drew Flater thank you for your response. I'm currently using ArcGIS Pro 2.6 but the shortcut key Ctrl+Shift+Enter does not work for me. Any update on this feature?
... View more
10-11-2020
02:59 PM
|
0
|
1
|
2028
|
POST
|
I would like to create a style file using Arcpy with code and description provided from another table. Later, I would modify the symbols in ArcGIS Pro. Can I create (and modify) a style file using Arcpy? Or if not, is there another workflow to create a style file from a table with code, description and feature type?
... View more
09-19-2019
12:23 PM
|
0
|
0
|
503
|
POST
|
Hi Scott Harris, I did not look into tasks yet which I am going to change this weekend. Thank you for this very useful tip!
... View more
07-19-2019
01:52 PM
|
1
|
0
|
2028
|
Title | Kudos | Posted |
---|---|---|
1 | 10-27-2021 05:56 PM | |
1 | 10-27-2021 01:00 PM | |
6 | 05-12-2021 05:24 PM | |
4 | 05-10-2021 10:57 AM | |
1 | 07-10-2019 09:17 AM |
Online Status |
Offline
|
Date Last Visited |
11-15-2023
09:37 PM
|