|
POST
|
Big save there Robert. Much appreciated! ...Off to emergency change control I go.
... View more
01-28-2020
11:02 AM
|
0
|
0
|
1010
|
|
POST
|
Thanks Robert! Is there any patch I can apply quickly? We have a production app that is experiencing this issue.
... View more
01-28-2020
10:29 AM
|
0
|
2
|
1010
|
|
POST
|
WAB Developer 2.7 Enhanced Search 2.7 Just now realizing that the Search Link(s) property of the enhanced search widget is not encoding the url value. Per this image, the {NAME} value would be "STA-5/6" and the resulting clickable link is https://oursite.com/#/sta/STA-5/6 which fails to navigate. Since the resulting url link in the search widget panel would be literal and not encoded, it does not properly navigate to the destination. The same url link displayed in the popup when hovering over the selected feature is correctly encoded as, https://oursite.com/#/sta/STA-5%2F6
... View more
01-28-2020
10:08 AM
|
0
|
4
|
1071
|
|
POST
|
It appears the certificate contained in the app that is being downloaded from the play store for android is out of date (December 31, 2019?). However, the certificate for web version http:/tracker.arcgis.com appears to be valid. Workflow: 1. Completely cleared data and cache prior to uninstalling existing ESRI Tracker app on the android device. 2. Uninstalled ESRI Tracker. 3. Restarted device. 4. In Google Chrome browser, navigated to http://tracker.arcgis.com (I think it auto-redirects to appropriate url). 5. Sign in-->Enterprise Login-->[org url first part]-->Continue 6. Successfully logged in! 7. Re-install ESRI Tracker app on device. 8. Attempt to sign-in via same as in step #5. 9. Error: "The server you are trying to connect to (https://www.arcgis.com) cannot be verified"
... View more
01-24-2020
07:24 AM
|
0
|
1
|
1921
|
|
POST
|
Yes! After clicking thru the Enterprise Login button I am directed to our adfs login and required to enter credentials again. Thank you again!
... View more
01-23-2020
05:05 PM
|
0
|
0
|
1921
|
|
POST
|
Another co-worker with an Android device has no issue and authenticates successfully. Is this an issue with the tracker.arcgis.app domain, our own adfs network or is it just something with this particular device?
... View more
01-23-2020
02:01 PM
|
0
|
4
|
1921
|
|
POST
|
I forgot to mention: I have Explorer installed on the same device and when I go thru the same sign-in process it completes successfully.
... View more
01-23-2020
12:15 PM
|
0
|
6
|
1921
|
|
POST
|
Hi Aaron -- thank you for the reply! I'm unaware of any certificate requirements and will take a look at the thread you've referenced.
... View more
01-23-2020
11:49 AM
|
0
|
0
|
1921
|
|
POST
|
Tracker service: AGOL hosted (we do not have ArcGIS Enterprise or Portal) Mobile Device: Android Galaxy Note 10+ Tracker v 19.4.0 I am unable to launch the Tracker app when attempting to sign in with ArcGIS Enterprise and receive the error: "The server you are trying to connect to (https://<our AGOL org url>) cannot be verified" My coworker using iOS is able to sign in just fine. We are both licensed and have been added to the list of users of the tracker view. Have uninstalled/re-installed, cleared app cache, and just about out of options... Thought I'd post to see if there's any quick solutions. Thanks!
... View more
01-23-2020
06:43 AM
|
0
|
9
|
2155
|
|
POST
|
Since you want to overwrite the features that were included in the dissolve/union, you will always have the potential of data loss should something go wrong. If it were me I'd look to convert the searchCursor to JSON (there's a SHAPE@JSON property available), run the dissolve on that to create a new output, remove the original features then use the JSON of dissolved features to update the original feature class. You'd have to look into the Reading geometries—ArcPy Get Started | ArcGIS Desktop and Writing geometries—ArcPy Get Started | ArcGIS Desktop to get full context. Plus you'd need to come up with the union process -- I just use the GeometryServer/union task on one of our ArcGIS Servers to perform that process on input features like so, def runUnion(geomEntity):
queryURL = "https://YourArcGISServerSite/rest/services/Utilities/Geometry/GeometryServer/union"
params = urllib.urlencode({'f': 'json',
'geometries': geomEntity,
'geometryType': 'esriGeometryPolygon',
'sr': 3857
})
req = urllib2.Request(queryURL, params)
response = urllib2.urlopen(req)
jsonResult = json.load(response)
return jsonResult I think in the end someone mentioned it will take a bit of coding and question if it's worth the effort, which is always the case I guess. For me, I've simply made the switch from localized data to working 100% with REST services which took a lot of effort to get migrate all of our python implementations off of SDE/FGDB/Local data. However, in the end it's worth it for us because it opens up the amount of data available to a global scale.
... View more
01-16-2020
07:34 AM
|
0
|
0
|
4270
|
|
IDEA
|
Our workflow is slightly modified, in that we are moving features from the ESRI tracker service (AGOL feature service) to another AGOL feature service based upon datetime values. Basically, we just look at the last datetime a feature was added into our destination hosted FS and then use that datetime value to query the tracker service. The query results are just pushed into the destination FS. From there we are using a modified version of this tool https://community.esri.com/groups/survey123/blog/2016/12/14/migrating-data-from-the-survey-feature-service-to-an-enterprise-geodatabase to bring the features back down locally for backup and other use. It's all done with Python scripting running on a Windows box and executed via Task Scheduler. We do apply an additional spatial component to the query against the original tracker service too, essentially we only want points found within designated areas (these are just another hosted feature service of polygons). It's not necessary if you want all of the tracker features though of course.
... View more
01-15-2020
12:11 PM
|
0
|
1
|
2401
|
|
POST
|
Sort of a hack workaround I guess (no problem taking that criticism) but if I just convert the grouped result to a csv then back to a json output via each line as json.dumps(), I get the result I'm after. Just added this simple def() to create the csv into the scratchFolder then return the json: def generateOutput(df):
outputT = 'SessionFile_{}.{}'.format(str(uuid.uuid1()), "csv")
Output_File = os.path.join(arcpy.env.scratchFolder, outputT)
df.to_csv(Output_File, index=False)
fieldnames = ('location_day','PEP_land_name','PEP_land_rate','created_user','elapsedSeconds')
csvfile = open(Output_File, 'r')
reader = csv.DictReader( csvfile)
outJson = json.dumps( [ row for row in reader ] )
csvfile.close()
arcpy.Delete_management(Output_File)
return outJson
grouped = df.groupby(flds)['elapsedSeconds'].sum().reset_index()
grouped['elapsedSeconds'] = ((grouped['elapsedSeconds'] / np.timedelta64(1, 's')) *1000).astype(str)
dfjson = generateOutput(grouped)
arcpy.AddMessage(dfjson)
... View more
01-13-2020
01:09 PM
|
0
|
0
|
9705
|
|
POST
|
Thanks Dan. Probably something to do with it. I just dev off the resources I'm provided but will have to check with sys engineering to determine what's what I guess.
... View more
01-13-2020
12:15 PM
|
0
|
0
|
9705
|
|
POST
|
EDIT (may help to answer): Just trying a different tact I exported the grouped result to a .csv file to see what the contents were. It looks like that "elapsedSeconds" column is in a timedelta? I'm not sure but perhaps this is the cause of my error, but I'm still unsure what to do about it: PEP_land_name,PEP_land_rate,elapsedSeconds Campus 1,RP,0 days 00:00:00.022000000 Campus 2,PRE,0 days 00:00:00.009000000 Campus B2 Entrance East 1,PRE,0 days 00:00:00.013000000 Campus Parking Lot NE 1,RP,0 days 00:00:00.040000000 Campus Parking Lot NE 2,PRE,0 days 00:00:00.039000000
... View more
01-13-2020
11:42 AM
|
0
|
0
|
9705
|
|
POST
|
This may not be wholly an ArcGIS problem but I always seem to get the best answers from this group! I'm working with the new ESRI Tracker feature service and trying to summarize the json output a bit to generate reports. The specific task is to maintain a running total of seconds between successive point features using the "location_timestamp" column. I won't go into the query portion where we are acquiring the json from the feature service (it's all basic/simple stuff just querying the REST interface with urllib2.Request). I'll put 2 versions (short & long version has all details, just read everything after the *****) The short version -- grouping to sum an "elapsedSeconds" column: grouped = df.groupby(['location_day','PEP_land_name','PEP_land_rate','created_user'])['elapsedSeconds'].sum().reset_index() Revert this grouped dataframe back into json: dfjson = grouped.to_json(orient='records') This is where I end up with an "overflowerror maximum recursion level reached". ************ The long version with more detail about what I'm doing. To start, I'm just querying the REST of a hosted feature service (the ESRI tracker service): tracksReq = urllib2.Request(urlTrackerMain + '/query', tracksParams)
tracksResponse = urllib2.urlopen(tracksReq)
tracksResult = json.load(tracksResponse) And whammo, I have the json output of the tracker service. From here I add some columns to the json for various things: if tracksResult is not None:
output = []
for jj in tracksResult['features']:
int_num = int(str(json.dumps(jj['attributes']['location_timestamp'])))
utc = time.strftime('%Y-%m-%d %H:%M:%S', time.gmtime(int_num/1000.0))
convTimeStamp = time.strftime('%Y-%m-%d %H:%M:%S', time.gmtime(int_num/1000.0))
convDayStamp = time.strftime('%Y-%m-%d', time.gmtime(int_num/1000.0))
jj['attributes']['location_timestamp_local'] = convTimeStamp
jj['attributes']['location_day'] = convDayStamp
output.append(jj['attributes']) So now I have a new output with some extra columns (converted those epoch datetime values to something meaningful). Now from here I am ready to do some grouping/summarizing using Pandas: df = pd.DataFrame.from_dict(output, orient='columns')
df['location_timestamp_local']= pd.to_datetime(df['location_timestamp_local'])
df = df.sort('location_timestamp_local') Here's where I am creating that running total column in the dataframe: #determine duration in seconds between the previous row's datetime value. Do this for each day.
df['elapsedSeconds'] = df.sort('location_timestamp_local').groupby(['location_day','PEP_land_name'])['location_timestamp_local'].diff()/1000 All is good and well. Now for some grouping to sum that "elapsedSeconds" value. grouped = df.groupby(['location_day','PEP_land_name','PEP_land_rate','created_user'])['elapsedSeconds'].sum().reset_index() And finally revert this grouped dataframe back into json: dfjson = grouped.to_json(orient='records') This is where I end up with an "overflowerror maximum recursion level reached". It doesn't seem to error when I run in pyScripter v2.6 x86 but it fails when I hook up this .py script to a Geoprocessing tool source. This is likely the issue (32-bit vs. 64?), I'm unsure and really just looking for workarounds if known. Anyway -- thanks for looking and should be a fun one to figure out! ArcGIS 10.4 Pandas 0.16.1
... View more
01-13-2020
10:52 AM
|
0
|
4
|
10625
|
| Title | Kudos | Posted |
|---|---|---|
| 1 | 02-17-2020 10:47 AM | |
| 1 | 10-25-2022 11:46 AM | |
| 1 | 08-08-2022 01:40 PM | |
| 1 | 02-15-2019 08:21 AM | |
| 2 | 08-14-2023 07:14 AM |
| Online Status |
Offline
|
| Date Last Visited |
01-22-2025
02:28 PM
|