POST
|
Just for fun, can you try importing uuid inside the codeblock?
... View more
02-14-2019
09:49 AM
|
1
|
1
|
598
|
POST
|
Assuming your data looks like this (I added PRE_ORDER_ID and PRE_LINE_ID as columns indicating the desired final output): import pandas as pd
data = [
[30, 56, 1, 1],
[78, 45, 5, 1],
[45, 59, 6, 1],
[59, 64, 7, 1],
[12, 48, 3, 1],
[56, 12, 2, 1],
[48, 78, 4, 1],
[82, 10, 3, 2],
[84, 99, 5, 2],
[79, 95, 1, 2],
[95, 82, 2, 2],
[10, 84, 4, 2],
]
df = pd.DataFrame(data, columns=['UP', 'DOWN', 'PRE_ORDER_ID', 'PRE_LINE_ID'])
df ...then you should be able to do something like this: # determine if the point is a start, end, or neither
for index, row in df.iterrows():
df.at[index,'START'] = row['UP'] not in df['DOWN'].values
df.at[index,'END'] = row['DOWN'] not in df['UP'].values
counter = 0
line_counter = 1
pos_counter = 1
cur_index = 0
while counter < 100: # I'm paranoid about while loops, so change when you're comfortable
df.at[cur_index,'LINE_ID'] = line_counter # record line number
df.at[cur_index,'LINE_POS_ID'] = pos_counter # record position number
if df.at[cur_index,'END']: # if it's an end point
pos_counter = 0 # reset position counter
line_counter += 1 # increment line counter
cur_index = df.loc[df['START'] & df['LINE_ID'].isnull()].index[0] # set index to next available start point
else:
down_val = df.at[cur_index,'DOWN'] # find next point
cur_index = df.loc[df['UP']==down_val].index[0] # set index
pos_counter += 1
counter +=1 ...resulting in: UP DOWN PRE_ORDER_ID PRE_LINE_ID START END LINE_ID LINE_POS_ID
0 30 56 1 1 True False 1.0 1.0
1 78 45 5 1 False False 1.0 5.0
2 45 59 6 1 False False 1.0 6.0
3 59 64 7 1 False True 1.0 7.0
4 12 48 3 1 False False 1.0 3.0
5 56 12 2 1 False False 1.0 2.0
6 48 78 4 1 False False 1.0 4.0
7 82 10 3 2 False False 2.0 3.0
8 84 99 5 2 False True 2.0 5.0
9 79 95 1 2 True False 2.0 1.0
10 95 82 2 2 False False 2.0 2.0
11 10 84 4 2 False False 2.0 4.0 ...which you can use the last two columns to determine line ID, and position ID within the line.
... View more
02-13-2019
09:23 PM
|
1
|
4
|
1287
|
POST
|
I'll leave it to you whether this is "most efficient", but it works: import copy
new_list = []
for i in mydict['junctionMatrix']:
i_copy = copy.deepcopy(i)
i_copy['attributes']['juncA'] = i['attributes']['juncB']
i_copy['attributes']['juncB'] = i['attributes']['juncA']
new_list.append(i_copy)
mydict['junctionMatrix'] += new_list
mydict
{'junctionMatrix': [{'attributes': {'WCU': 'C1',
'calcMethod': 'AERIAL',
'juncA': 'S47D',
'juncB': 'CR-03.0',
'juncDistance': 8501.86072183}},
{'attributes': {'WCU': 'C1',
'calcMethod': 'AERIAL',
'juncA': 'S47B_C',
'juncB': 'S47D_S',
'juncDistance': 17535.28122721}},
{'attributes': {'WCU': 'C1',
'calcMethod': 'AERIAL',
'juncA': 'CR-03.0',
'juncB': 'S47D',
'juncDistance': 8501.86072183}},
{'attributes': {'WCU': 'C1',
'calcMethod': 'AERIAL',
'juncA': 'S47D_S',
'juncB': 'S47B_C',
'juncDistance': 17535.28122721}}]}
... View more
02-13-2019
12:04 PM
|
2
|
0
|
350
|
POST
|
I think the idea is that the responders could head toward a specific 3m x 3m square, rather than trying to infer the cellphone location from cell tower pings, but could be wrong.
... View more
02-12-2019
04:58 PM
|
0
|
0
|
1378
|
DOC
|
For some reason, there's no key called 'features' in the data variable. Print data to see, then work your way up (printing response, req, etc.) to figure out what's going awry.
... View more
02-12-2019
10:30 AM
|
0
|
0
|
19956
|
POST
|
Check your parameters against the help. Create Database View—Help | ArcGIS for Desktop The tool takes 3 parameters. 1.) database 2.) view name 3.) view definition Also, am I seeing double or do I see "arcpy.arcpy"? That is a red flag.
... View more
01-31-2019
08:17 PM
|
1
|
0
|
2166
|
POST
|
Consider the following, and note that the individual item is 'fc' and the list, which never changes, is 'featureclasses': featureclasses = ['a', 'b', 'c']
for fc in featureclasses:
print('start')
print(fc, featureclasses)
print('end')
start
a ['a', 'b', 'c']
end
start
b ['a', 'b', 'c']
end
start
c ['a', 'b', 'c']
end
... View more
01-31-2019
03:21 PM
|
0
|
0
|
2166
|
POST
|
Can you try saving to a directory that contains no spaces, just to rule that out?
... View more
01-25-2019
01:13 PM
|
2
|
0
|
4662
|
DOC
|
Working backwards: - since you see the message, "No data with Status defined found", len(oidList) must be 0. - oidList grows if BasinArea = BasinName, so this must never happen - BasinName always = 'Reservoir Canyon1', while BasinArea always = [], so they're never equal
... View more
01-23-2019
12:15 PM
|
0
|
0
|
19956
|
POST
|
It looks like you should reference a aprx file, not directory. For example: aprx = arcpy.mp.ArcGISProject(r"C:\Projects\blank.aprx") Also, os.walk doesn't specifically have anything to do with ArcGIS or arcpy. Pass it a plain old directory string. For example: rootDir = '.'
for dirName, subdirList, fileList in os.walk(rootDir):
...
... View more
01-23-2019
11:58 AM
|
1
|
0
|
4062
|
POST
|
You can read the cursor with a list comprehension, like so: featureList = [row[0] for row in arcpy.da.SearchCursor(FeatureClass, fieldnames, whereClause) ]
print(len(featureList))
... View more
01-22-2019
11:09 AM
|
1
|
0
|
2929
|
POST
|
Have you tried adding print statements to ensure it's getting past the 'for' and 'if' how you expect? Also, check the lyr.definitionQuery before and after attempting to change.
... View more
01-18-2019
02:00 PM
|
0
|
1
|
8233
|
POST
|
Can you humor me by trying to save to hardcoded: ExportLayer = r'D:\TEMP\SoilsMUID_01172019.lyrx'
... View more
01-17-2019
11:12 AM
|
2
|
1
|
1313
|
POST
|
Presumably we can simplify your script to this to replicate the error: import arcpy
dev_workspace = arcpy.env.workspace = r'\\nttafs1\ARCGIS\SDE Connections\NTTASDBDV3_SDE_Admin.sde'
edit = arcpy.da.Editor(dev_workspace) What do you get when you print(arcpy.Describe(dev_workspace))?
... View more
01-15-2019
03:10 PM
|
0
|
2
|
1032
|
Title | Kudos | Posted |
---|---|---|
1 | 08-30-2013 02:22 PM | |
1 | 04-12-2011 11:19 AM | |
1 | 09-17-2021 09:43 AM | |
1 | 04-04-2012 12:05 PM | |
2 | 07-16-2020 11:31 AM |
Online Status |
Offline
|
Date Last Visited |
07-15-2023
12:11 AM
|