|
IDEA
|
Conda supports this already, open the "Python Command Prompt" from your start menu and use this command: conda install "\path\to\my\downloaded\package.tar.bz2" I guess an "install package from path" button would be a nice feature for Pro to supplement this.
... View more
06-17-2022
08:34 AM
|
0
|
0
|
2072
|
|
IDEA
|
The Rematch Addresses pane has a variety of options and state (layer to rematch, fields for current match, fields for potential matches, locator, current feature out of available selection) that are not saved to the project file. In the event that a user has to close and then re-open the project the rematch pane has to be opened for the layer and all of these settings must be reconfigured. Serializing this information into the project file would save time for rematch workflows and could potentially lead to some sort of reusable configuration file in a later release.
... View more
06-09-2022
03:14 PM
|
0
|
0
|
727
|
|
IDEA
|
Our team has received requests from multiple clients for this functionality, would love to see it in an upcoming release.
... View more
05-25-2022
11:26 AM
|
0
|
0
|
2633
|
|
IDEA
|
Our team was able to work around this after switching from standalone servers to Enterprise but our client has now tripled the amount of requests they make as they can't cache tokens between multiple requests. I think a reasonable compromise would be to keep the 2 week limit for Portal tokens, but allow the server tokens used for direct service access to have longer expiration times. This maintains some backwards compatibility with older server setups while keeping the current level of security intact for the newer Portal workflows.
... View more
05-25-2022
11:21 AM
|
0
|
0
|
1197
|
|
IDEA
|
Add a parameter type for script tools that behaves identically to the "String" parameter, but the control is a text box that supports tabs, line breaks etc. The formatting within the text box would be carried over to the parameter value. A filter on the parameter to let the user choose syntax highlighting options (Python, text, HTML etc.) and line number display would be nice but not required. This idea came from a recent project where I wanted the user to enter arbitrary Python code into a parameter. I currently have to hack together a solution with a multivalue String parameter and convert the values into a single item. This leads to a poor UX and many formatting limitations. A Text Box input type would be a perfect fix for this as well as other script tool workflows that require large volumes of structured text from the user (large text field entries, injecting HTML formatting into fields, feeding custom query expressions into third-party web services etc.).
... View more
05-20-2022
04:44 PM
|
7
|
3
|
1986
|
|
IDEA
|
Also, forgot to mention this, but the way you use the tool is to write a Python function that takes in 1 or more fields for each record and returns a boolean value to determine if it's selected or not. For example, if you have a text field called "CustomerName" and you want to select every record whose customer has a first name over 10 characters, your python function would be "return len(customername.split()[0] if customername else 0) > 10".
... View more
05-20-2022
04:30 PM
|
0
|
0
|
16612
|
|
IDEA
|
Felt like solving a challenge so here's a working tool. I can't attach the full tool so here's the components: Parameters: Execution: import arcpy
import ast
def parseSelectionType(s):
return s.strip().upper().replace(" ", "_")
def checkFunc(funcText):
try:
ast.parse(funcText)
return True, None
except SyntaxError as e:
return False, "Invalid syntax in Python function, line {}".format(e.lineno - 1)
def buildFuncText(funcBody, fieldNames):
FUNC_NAME = "_select_func"
signature = "def {}(".format(FUNC_NAME)
if len(fieldNames):
signature += ", ".join(f.lower() for f in fieldNames)
signature += "):\n\t"
indentFuncBody = funcBody.replace("\r\n", "\n").replace("\n","\n\t")
return signature + indentFuncBody, FUNC_NAME
def main(layer, fieldNames, funcBody, selectionType="NEW_SELECTION", isInvertSelection=False):
selectFuncText, selectFuncName = buildFuncText(funcBody, fieldNames)
isValid, error = checkFunc(selectFuncText)
if not isValid:
arcpy.AddError(error)
raise SystemExit(1)
namespace = {}
exec(selectFuncText, namespace)
selectFunc = namespace[selectFuncName]
desc = arcpy.da.Describe(layer)
oidFieldName = desc["OIDFieldName"]
isOIDInFunc = True
if oidFieldName not in fieldNames:
fieldNames = ["OID@"] + fieldNames
isOIDInFunc = False
shapeFieldName = desc["shapeFieldName"]
if shapeFieldName in fieldNames:
fieldNames = [f if f != shapeFieldName else "SHAPE@" for f in fieldNames]
selectOIDs = []
with arcpy.da.SearchCursor(layer, fieldNames) as search:
for row in search:
oid = row[0]
params = row if isOIDInFunc else row[1:]
if selectFunc(*params):
selectOIDs.append(oid)
sql = "{} IN ({})".format(oidFieldName, ",".join(str(o) for o in selectOIDs))
arcpy.management.SelectLayerByAttribute(layer, selectionType, sql, isInvertSelection)
if __name__ == "__main__":
layer = arcpy.GetParameterAsText(0)
selectionType = parseSelectionType(arcpy.GetParameterAsText(1)) if arcpy.GetParameterAsText(1) else "NEW_SELECTION"
fields = [f.value for f in arcpy.GetParameter(2)]
funcBody = "\n".join(s for s in arcpy.GetParameter(3))
isInvertSelection = arcpy.GetParameter(4)
main(layer, fields, funcBody, selectionType="NEW_SELECTION", isInvertSelection=False) Validation: import ast
def checkFunc(funcText):
try:
ast.parse(funcText)
return True, None
except SyntaxError as e:
return False, "Invalid syntax in Python function, line {}".format(e.lineno - 1)
def buildFuncText(funcBody, fieldNames):
FUNC_NAME = "_select_func"
signature = "def {}(".format(FUNC_NAME)
if len(fieldNames):
signature += ", ".join(f.lower() for f in fieldNames)
signature += "):\n\t"
indentFuncBody = funcBody.replace("\r\n", "\n").replace("\n","\n\t")
return signature + indentFuncBody, FUNC_NAME
class ToolValidator:
# Class to add custom behavior and properties to the tool and tool parameters.
def __init__(self):
# set self.params for use in other function
self.params = arcpy.GetParameterInfo()
def initializeParameters(self):
# Customize parameter properties.
# This gets called when the tool is opened.
return
def updateParameters(self):
# Modify parameter values and properties.
# This gets called each time a parameter is modified, before
# standard validation.
return
def updateMessages(self):
# Customize messages for the parameters.
# This gets called after standard validation.
fields = self.params[2]
funcBody = self.params[3]
if fields.value and funcBody.value:
fieldNames = [f.value for f in fields.values]
funcBodyText = "\n".join(funcBody.values)
funcText = buildFuncText(funcBodyText, fieldNames)[0]
isValid, error = checkFunc(funcText)
if not isValid:
funcBody.setErrorMessage(error)
return
# def isLicensed(self):
# # set tool isLicensed.
# return True The Python Function Body parameter is a bit of a hack, it uses multiple string params in lieu of a proper text box (ESRI pls). I also didn't implement parameter parsing like the Calculate Field tool does so your function parameters are just the field names in lower case (e.g. the field "ParcelID" is accessed as "parcelid"). It'll also convert the shape field to python geometry objects just like the "SHAPE@" cursor token so you can do shape.firstPoint.X and such. There's probably some bugs lurking in here and using eval to run arbitrary input can cause issues but overall this'll get you what you need.
... View more
05-20-2022
03:21 PM
|
0
|
0
|
16619
|
|
IDEA
|
Allow the Destination table in a relationship class to be a registered database view. The relationship wouldn't support any features that a view would prohibit (no composite relationships, no message passing etc.) but could be used to link database view records to a parent feature or record in apps such as Field Maps. The main use of this feature in my organization would be to create a view of an entire archive table or branch versioned table in the EGDB, register that view, then allow users to jump to a list of archived records directly from a feature in various apps. To my knowledge there is no consistent method of relating data in ArcGIS without a relationship class in the database and this seems more pragmatic than defining a new relationship type at the Server/AGOL/Enterprise level.
... View more
10-28-2021
12:02 PM
|
13
|
3
|
1747
|
|
IDEA
|
When a user changes which layers are visible/non-visible in a map, there should be an app-level setting to either save this selection for the next time the map is opened or reset to the map defaults every time (i.e. the current behavior). This data would be saved only to the device, much like the feature to return to last session's extent in Web Appbuilder. This data would ideally persist unless an irreconcilable change is made to the map's layer set but having it reset on every map update isn't a deal breaker. Our organization has many maps with over a dozen layers by necessity and the default layer visibility isn't ideal for all workloads. This would be infinitely less work than creating and maintaining duplicate maps with different layers visible by default and would save our field crews time as well.
... View more
10-27-2021
04:00 PM
|
21
|
6
|
2539
|
|
POST
|
Hi Shana, My team finally has Pro 2.5.1 and I can confidently say that this issue hasn't been fixed. All geocodes were performed using the World Geocoding Service.
... View more
06-24-2020
10:33 AM
|
0
|
1
|
2570
|
|
IDEA
|
The "Authentication Required" prompt for secured layers in Collector maps is very clear and easy to read in the iOS version of Collector but is much harder to read in the Android version. Several users I support use Samsung devices for field collection and the prompt that appears in this version of Collector has barely legible username and password text fields. Many of these users can't see these fields which leads to hours of lost time troubleshooting the issue. Oddly enough the rest of the prompt is correctly using white fonts on black, including the non-placeholder username and password entries. At the very least I'd like to see the styles for this prompt updated to make the fields legible. Ideally I'd like to see the secured layers workflow on Android altered to match the workflow on iOS as this has proved to be less confusing for our users, but the former would be a quick fix.
... View more
06-04-2020
09:44 AM
|
1
|
0
|
1378
|
|
IDEA
|
I've run into a few workloads (such as documentation and updating symbols in ArcGIS Online) where I need to save a point symbol created in Pro to an image. I can do this by hand using image editors and print screen with the symbol preview window but this is more time consuming and error prone than if I could export the symbol directly to an image file (PNG, GIF, BMP etc.). This could also allow me to render the symbol at very high resolutions for archiving purposes and avoid issues with removing the background color from the screen capture. A SVG export option for supported symbols would also be nice but exporting to a raster image format would work for me.
... View more
05-29-2020
10:21 AM
|
69
|
12
|
13051
|
|
POST
|
Same behavior from my end in 2.4.0 and 2.4.2 (not sure about 2.5 and up). Once you start rematching a layer that layer is stuck in a sort of rematch state, which constantly adds address candidates to the map view and automatically zooms in on the first record of a new selection. Closing the rematch pane doesn't fix this, only removing then adding the layer again, and even then the candidate icons (A, B, C etc.) are stuck on my end. Hopefully if this isn't fixed in 2.5 it's addressed soon.
... View more
02-21-2020
01:16 PM
|
0
|
3
|
2953
|
|
IDEA
|
I have to deal with PDFs generated from CAD drawings regularly, being able to quickly georeference those PDFs (most of them already have some georeference info in them) and display them as a reference layer under the GIS data would be a fantastic feature for Pro.
... View more
11-01-2019
01:34 PM
|
0
|
0
|
43086
|
|
IDEA
|
This would be a massive boon to our field crews, they're frequently taking photos of confined areas or cramped service boxes and the only way they can note which photo is which part of the feature is to use the feature's comments field. Attachment renaming (and other types of metadata editing) in Collector would be the perfect solution.
... View more
09-11-2019
12:34 PM
|
0
|
0
|
1297
|
| Title | Kudos | Posted |
|---|---|---|
| 1 | a week ago | |
| 1 | Thursday | |
| 1 | Wednesday | |
| 1 | Wednesday | |
| 1 | 12-04-2025 08:21 AM |
| Online Status |
Offline
|
| Date Last Visited |
yesterday
|