POST
|
Ok, it worked with some minor modification! In the end I had to make a new column for ELEV because the original column had different precision and scale, which apparently matters in the Python version of the Select Layer By Attribution, but not the Tool version. Also, I combined these together using the ADD because the SUBSET_SELECTION did not appear to be working. I kept getting a zero selection in my shapefile, which was incorrect. Thank you for you help! Final code lines used are as follows: expression1 = 'ABS("Elev2" - "Elev_metre") <= 100 AND ABS("SLP" - "mean_slp") <= "sd_slp" AND ABS("ASP" - "mean_asp") <= "sd_asp" ' #expression2 = 'ABS("SLP" - "mean_slp") <= 2*"sd_slp" ' #expression3 = 'ABS("ASP" - "mean_asp") <= 2*"sd_asp" ' arcpy.SelectLayerByAttribute_management(sel_pts_lyr, "NEW_SELECTION", expression1) Katrina
... View more
03-23-2012
02:51 PM
|
0
|
0
|
944
|
POST
|
I tried what was suggested, to remove the backslashes. I am still getting the error: #Select Analysis print "Attempting Select" expression1 = ' "ELEV" <= "Elev_metre" + 100 AND "ELEV" >= "Elev_metre" - 100 ' expression2 = ' "SLP" <= "mean_slp"+ "sd_slp" AND "SLP" >= "mean_slp" - "sd_slp" ' expression3 = ' "ASP" <= "mean_asp" + "sd_asp" AND "ASP" >= "mean_asp" - "sd_asp" ' arcpy.SelectLayerByAttribute_management(sel_pts_lyr, "NEW_SELECTION", expression1) arcpy.SelectLayerByAttribute_management(sel_pts_lyr, "SUBSET_SELECTION", expression2) arcpy.SelectLayerByAttribute_management(sel_pts_lyr, "SUBSET_SELECTION", expression3) Traceback (most recent call last): File "C:\data2\smart_clip2\model_clip.py", line 91, in <module> arcpy.SelectLayerByAttribute_management(sel_pts_lyr, "NEW_SELECTION", expression1) File "C:\Program Files (x86)\ArcGIS\Desktop10.0\arcpy\arcpy\management.py", line 4259, in SelectLayerByAttribute raise e ExecuteError: ERROR 000358: Invalid expression Failed to execute (SelectLayerByAttribute).
... View more
03-23-2012
09:58 AM
|
0
|
0
|
944
|
POST
|
I'm having some trouble running ArcGIS 10 Python scripting. I am trying to select the attributes in my layer based on a number of expressions. I don't think I have the Syntax correct. Although, I've followed what is posted here: http://help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#//001700000071000000. This is the portion of my code that is giving me the error. sel_pts_lyr is a feature layer, and the join I used to generate the data fields was done using env.qualifiedFieldNames = False. I am running this in gp = arcgisscripting.create(9.3). ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ #Select Analysis print "Attempting Select" expression1 = ' \"ELEV\" <= \"Elev_metre \" + 100 AND \"ELEV\" >= \"Elev_metre\" - 100 ' expression2 = ' \"SLP\" <= \"mean_slp\"+ \"sd_slp\" AND \"SLP\" >= \"mean_slp\" - \"sd_slp\" ' expression3 = ' \"ASP\" <= \"mean_asp\" + \"sd_asp\" AND \"ASP\" >= \"mean_asp\" - \"sd_asp\" ' arcpy.SelectLayerByAttribute_management(sel_pts_lyr, "NEW_SELECTION", expression1) arcpy.SelectLayerByAttribute_management(sel_pts_lyr, "SUBSET_SELECTION", expression2) arcpy.SelectLayerByAttribute_management(sel_pts_lyr, "SUBSET_SELECTION", expression3) ERROR OUTPUT Traceback (most recent call last): File "C:\data2\smart_clip2\model_clip.py", line 91, in <module> arcpy.SelectLayerByAttribute_management(sel_pts_lyr, "NEW_SELECTION", expression1) File "C:\Program Files (x86)\ArcGIS\Desktop10.0\arcpy\arcpy\management.py", line 4259, in SelectLayerByAttribute raise e ExecuteError: ERROR 000358: Invalid expression Failed to execute (SelectLayerByAttribute). ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Any assistance would be very appreciated!! Thank you, Katrina
... View more
03-22-2012
06:39 PM
|
1
|
13
|
8628
|
POST
|
I made a few changes to my code and it works now! I'm unsure what was happening before... import arcgisscripting, sys, os, shutil, datetime, re gp = arcgisscripting.create() gp.overwriteoutput = 1 gp.CheckOutExtension("spatial") gp.AddToolbox("C:/Program Files (x86)/ArcGIS/Desktop10.0/ArcToolbox/Toolboxes/Data Management Tools.tbx") gp.AddToolbox("C:/Program Files (x86)/ArcGIS/Desktop10.0/ArcToolbox/Toolboxes/Spatial Analyst Tools.tbx") sourceDirRas = r"G:\modis\updated_example\my_own\albers" extent = "-1805197.82136111 374274.164059672 1712802.17863889 2569774.16405967" i = 1 for root, dirs, files in os.walk(sourceDirRas): for file in files: if file[-4:] == ".tif": wholeFile = root + "\\" + file outFile = root + "\\out\\" + "ms" + str(i) print file #Calculate Stats print "Calculating Stats!" gp.CalculateStatistics_management(wholeFile, "", "", "") print "Setting Extent and Define Projection!" gp.Extent = extent gp.DefineProjection_management(wholeFile, "PROJCS['AEA_North_American_Datum_1983',GEOGCS['GCS_North_American_1983',DATUM['D_North_American_1983',SPHEROID['GRS_1980',6378137.0,298.257222101]],PRIMEM['Greenwich',0.0],UNIT['Degree',0.0174532925199433]],PROJECTION['Albers'],PARAMETER['false_easting',0.0],PARAMETER['false_northing',0.0],PARAMETER['central_meridian',-154.0],PARAMETER['standard_parallel_1',55.0],PARAMETER['standard_parallel_2',65.0],PARAMETER['latitude_of_origin',50.0],UNIT['Meter',1.0]]") print "Copy Raster!" gp.Extent = extent gp.CopyRaster_management(wholeFile, outFile, "", "", "", "NONE", "NONE", "") i = i + 1 print "Done!"
... View more
03-31-2011
10:44 AM
|
0
|
1
|
489
|
POST
|
Hello, I'm trying to import and define the extents of raster GeoTIFF images. For some reason, after the update of ArcGIS 10 SP1 I am not able to define extents of these images such that the extents remain in the raster images after I convert them. I've specified my extents several times through my code, but I don't understand why this doesn't 'take' in the final product. Any ideas? Thanks for your thoughts in advance... My Python code is posted below. Katrina import arcgisscripting, sys, os, shutil, datetime, re, arcpy gp = arcgisscripting.create() gp.overwriteoutput = 1 gp.CheckOutExtension("spatial") gp.AddToolbox("C:/Program Files (x86)/ArcGIS/Desktop10.0/ArcToolbox/Toolboxes/Data Management Tools.tbx") gp.AddToolbox("C:/Program Files (x86)/ArcGIS/Desktop10.0/ArcToolbox/Toolboxes/Spatial Analyst Tools.tbx") sourceDirRas = r"G:\modis\updated_example\my_own\albers" extent = "-1805197.82136111 374274.164059672 1712802.17863889 2569774.16405967" i = 1 for root, dirs, files in os.walk(sourceDirRas): for file in files: if file[-4:] == ".tif": wholeFile = root + "\\" + file outFile = root + "\\out\\" + "ms" + str(i) print file #Calculate Stats print "Calculating Stats!" gp.CalculateStatistics_management(wholeFile, "", "", "") print "Setting Extent and Define Projection!" tempEnvironment0 = arcpy.env.extent arcpy.env.extent = "-1805197.82136111 374274.164059672 1712802.17863889 2569774.16405967" #gp.Extent = "-1805197.82136111 374274.164059672 1712802.17863889 2569774.16405967" arcpy.DefineProjection_management(wholeFile, "PROJCS['AEA_North_American_Datum_1983',GEOGCS['GCS_North_American_1983',DATUM['D_North_American_1983',SPHEROID['GRS_1980',6378137.0,298.257222101]],PRIMEM['Greenwich',0.0],UNIT['Degree',0.0174532925199433]],PROJECTION['Albers'],PARAMETER['false_easting',0.0],PARAMETER['false_northing',0.0],PARAMETER['central_meridian',-154.0],PARAMETER['standard_parallel_1',55.0],PARAMETER['standard_parallel_2',65.0],PARAMETER['latitude_of_origin',50.0],UNIT['Meter',1.0]]") arcpy.env.extent = tempEnvironment0 print "Copy Raster!" tempEnvironment0 = arcpy.env.extent arcpy.env.extent = "-1805197.82136111 374274.164059672 1712802.17863889 2569774.16405967" #gp.CopyRaster_management(wholeFile, outFile, "#","0","#","NONE","NONE","#") arcpy.CopyRaster_management(wholeFile, outFile, "", "", "", "NONE", "NONE", "") arcpy.env.extent = tempEnvironment0 i = i + 1 print "Done!"
... View more
03-30-2011
04:13 PM
|
1
|
2
|
4514
|
Title | Kudos | Posted |
---|---|---|
1 | 03-22-2012 06:39 PM | |
1 | 03-30-2011 04:13 PM |
Online Status |
Offline
|
Date Last Visited |
11-11-2020
02:23 AM
|