POST
|
Hello, Is there any limitation for name of schema allowed to be used? I have PostGIS database, and when I make schema name be extremely short (less than 8?) i can see it from ArcGISPro'd catalogue. But longer schema name appears to hide contents in the schema.
... View more
07-10-2020
08:42 PM
|
0
|
1
|
513
|
POST
|
Thank you for pointer. I got started learning memory_profiler. I also found that using common sense for saving memory make sense instead of relying on tools too much.
... View more
03-17-2015
11:48 AM
|
0
|
0
|
467
|
POST
|
Hi, Is there way to monitor what object takes up how much of memory? I open lots of things as "in_memory" objects but I want to know if they are reasonable to do so instead loading only part of feature (or raster) to memory. I also want to know a tool for python generic, since I am making arcpy's Polygons and keep it into list some times, and wondering if that is pushing memory use. Thanks!
... View more
03-13-2015
07:54 PM
|
0
|
2
|
3029
|
POST
|
Here is more or less what I would do... I am taking method 4 of my original post. Tool has two boxes, one grayed out (Figure 1). Usually specify output file name in top box (Figure 2). If I put a file which has partial but valid data, script moves the file name to bottom clear the top box (Figure 3). execute() find value for the second box (Parameter in_csv ) instead of the first box (out_csv), and append the data. If the file provided is not compatible with the tool, tool is going to overwrite the file (Figure 4). Code at the end. Figure 1. Intial dialog Figure 2. New file Figure 3. Appending to partial file. I set the file name in first box, and the script judge that it is for appending and move it the second box Figure 4. Overwriting existing file. In this case the csv file I provided is not what's expected for appending, so tool is going to overwrite. The code: (too long?)
... View more
03-12-2015
12:25 PM
|
1
|
1
|
994
|
POST
|
I have the Tool as class, but it's rather large. I can make stripped down version if needed. But really, I haven't done much beyond very basic things. I just asked before spending hours for reinventing wheels This is what I have for the parameter right now def getParameterInfo(self):
# other params ...
## Output parameter
out_csv = arcpy.Parameter(
displayName="Output CSV File (.csv)",
name="out_csv",
datatype="DEFile",
parameterType="Required",
direction="Output")
out_csv.filter.list = ['csv']
# more... In the updateMessage(), I have this piece of code, where I may write checking code instead of write(f.next()) . def updateMessage(self, parameters):
# other things...
# my test
canappend = False
pth = out_csv.valueAsText
if pth is not None and os.path.exists(pth):
# so this does lets me read the file
# so suppose i write some small code to do the check, and call that when needed
with open(pth,'r') as f:
# TODO this part should be some testing code
fo.write(f.next())
canappend = True
# more tests ...
... View more
03-11-2015
06:23 PM
|
0
|
0
|
994
|
POST
|
Darren's method should work, and this is an alternative. # make table of pair of zero distance
arcpy.GenerateNearTable_analysis(fcOrig, fcOrig, tblNear, "0",
"NO_LOCATION", "NO_ANGLE", "CLOSEST", "0")
if int(arcpy.GetCount_management(tblNear).getOutput(0)) > 0:
# grab ids that showed up in the table
ids = set([ _[0] for _ in arcpy.da.SearchCursor(tblNear,('IN_FID'))])
# grab shape
oid = arcpy.Describe(fcOrig).OIDFieldName
outpoly = [_[0] for _ in arcpy.da.SearchCursor(fcOrig, [ 'SHAPE@, oid])
if _[1] in ids ]
# save
arcpy.CopyFeatures_management(outpoly, fcTouching)
... View more
03-11-2015
06:14 PM
|
1
|
0
|
864
|
POST
|
I haven't tested, but p.disjoint(q) intead of p.distanceTo(q)==0 may runs faster particularly when there are a bunch of polygon. your method is O(n^2) so may have trouble with large number of polygons...
... View more
03-11-2015
05:41 PM
|
1
|
0
|
864
|
POST
|
Hello, Is it possible to have a arcpy's Parameter which act as both input and output? Specifically, The parameter is for a file (CSV file) If specified file does not exist, create one and use it as output (this is how my script is written) If specified file exists, read it, do some consistency check with other inputs, and then append to the file If specified file exists but doenst make sense, just delete and start over I thought about different way to make this happen, but issues I have are if parameter is output, then the file got deleted before execute() method got called. so I cannot use output if I make parameter to input, the toolbox's dialog doesn't let me specified non-existent name, forces me to pick existing file name. that's not what I want, because the file is actually output so I may set parameter as output, and do the testing in updateMessage() method, and if I want to append, I copy the parameter value to a hidden input parameter and then delete value from the output parameter? is this feasible? I can have two boxes, one for input, other for output, and pick the one that make sense. but. the UI is going to be very confusing. one other way is to not set this parameter to string was something. but then the file browser like behavior of the UI doesn't work (is there way to use the browser like interface for any variable? If there is some simple method to do this, please let me know.
... View more
03-11-2015
04:50 PM
|
0
|
4
|
4515
|
POST
|
This sounds a good work around. It doesn't resolve the issue of Select Layer By Location, but what I wanted to do from the first place was to cycle through feature within extent. I really don't have to select anything. I will try this in my code see if performance is good. Thank you so much for all the help!
... View more
03-11-2015
01:34 PM
|
0
|
0
|
701
|
POST
|
Joshua, Thank you for taking time testing this out. Interesting that INTERSECT_3D behave differently, but I don't know how to interpret this behavior. I never used 3D feature in ArcGIS, and this particular feature class was created by me starting from arcpy.Polygon() based on input coordinate values I got. The fact that making feature class of only this single problematic polygon let the ArcGIS to behave as expected make me speculate that somewhere ArcGIS is setting analysis resolution of coordinates and the extent of original feature class is so large compared distance of the polygon to extent. But the SelectLayerByLocation doenst observe much environmental settings, maybe too dangerous for user to arbitrary set some threshold for vector data. Hopefully in version 10.3, passing Extent object will "fix" the problem I see. For the time being I will stick with CopyFeatures method, because it is working and robustness is more important since this is part of bigger script. Part of input for my script is your employer, by the say, US Forest Service
... View more
03-10-2015
01:16 PM
|
0
|
3
|
701
|
POST
|
Thank you for advice. I ran CheckGeometry on both extent polygon and features polygon, neither returned anything. I ran RepearGeometry tool on both, but the symptom was the same.
... View more
03-10-2015
12:55 PM
|
0
|
0
|
701
|
POST
|
I would use Generate Near Table ArcGIS Help (10.2, 10.2.1, and 10.2.2) with search_radius = 0 to make table of features that are touching. then select from the layer which is included in the near table's "IN_FID" field. These are the feature which touches at least one neighbor. Not clear if you want them to get dissolved. Do so if you want to ArcGIS Help (10.2, 10.2.1, and 10.2.2) . The rest of features are the lone features. Save each of them by Copy Features tool ArcGIS Help (10.2, 10.2.1, and 10.2.2) .
... View more
03-09-2015
09:21 PM
|
1
|
1
|
1003
|
POST
|
Thank you so much again for the help! 1. It is a single part. Most of features are, and this particular one definitely is. 2. I am using WGS84, and everything is made to WGS84. I figured how to set reference to arcpy.Polygon, so the extent polygon knows the spatial reference now. 3. I actually tested what I am doing in my ArcMap. Specifically, I run the script but I also exported the extent polygon, the feature class, feature layers, while I set the extent to be global first. The image I had was showing those exported feature (shape file). I then manually tried to select by geometry in two way. One is from the ArcMap's tool (Selection ->Select By Location ...). I also run "Select Layer By Location" tool from the tool box. Neither of them did not select this blue feature, even though blue is included in the pink (extent). Extent's top is 56.565833 dd, and the feature's top is 56.557500 dd , so off by 0.0833 degree (~ 0.5 minutes). I also have a new observation. I made the problematic feature into a feature class lone feature. Then this select by location feature works, it picks up the feature. But if I apply the tool to the original feature which has ~1600 features spreading across the continent, that particular feature is not selected. The features are wide spread across the area, and each polygon is tiny in comparison to the extent. So I am wondering ArcGIS somehow sets criteria to lower for the spatial accuracy and then this polygon got dropped somehow...? I made three shape files, and posted here https://utexas.box.com/s/a6q45925jrpxzknxdp357fremtjhprhz It has three features, ext1, feat1 and feat1_sel. ext1 is the extent polygon, feat1 the feature class of ~1600 features. feat1_sel is the one having trouble. 4. sorry for the type for cursor. I always use arcpy.da.cursor. They should have just overwritten old cursor. yosuke
... View more
03-09-2015
08:30 PM
|
0
|
7
|
1231
|
POST
|
Thank you for help! So my extent is one giant box. my feature having trouble in particular this time is a small rectangle sitting inside the extent rectangle. I understand that INTERSECT, CONTAINS etc has slight difference but I understand that they both select the blue feature in the pic below. pink is the extent polygon The extent is a lot larger than the feature. Below show the extent, and tiny dot near top left corner is the feature causing trouble.
... View more
03-09-2015
04:51 PM
|
0
|
9
|
1231
|
Title | Kudos | Posted |
---|---|---|
1 | 03-11-2015 05:41 PM | |
1 | 03-12-2015 12:25 PM | |
1 | 03-09-2015 09:21 PM | |
1 | 03-11-2015 06:14 PM |
Online Status |
Offline
|
Date Last Visited |
04-29-2022
12:12 PM
|