jeudi 15 janvier 2015

Modify a Python script to one that uses RasterDomain_3d fuctionality - and writes resulting shapefiles it to one


As I am not very experienced with Python I need your help. I managed to modify a Script (that has been posted here Get boundary of raster image as polygon in ArcGIS Desktop? by http://ift.tt/1BWHmfE)



import arcpy,os

InFolder = arcpy.GetParameterAsText(0)
Dest=arcpy.GetParameterAsText(1)

arcpy.env.workspace=InFolder
#The raster datasets in the input workspace
in_raster_datasets = arcpy.ListRasters()

arcpy.CreateFeatureclass_management(os.path.dirname(Dest),os.path.basename(Dest),"POLYGON")
arcpy.AddField_management(Dest,"RasterName", "String","","",250)
arcpy.AddField_management(Dest,"RasterPath", "String","","",250)

cursor = arcpy.InsertCursor(Dest)
point = arcpy.Point()
array = arcpy.Array()
corners = ["lowerLeft", "lowerRight", "upperRight", "upperLeft"]
for Ras in in_raster_datasets:
feat = cursor.newRow()
r = arcpy.Raster(Ras)
for corner in corners:
point.X = getattr(r.extent, "%s" % corner).X
point.Y = getattr(r.extent, "%s" % corner).Y
array.add(point)
array.add(array.getObject(0))
polygon = arcpy.Polygon(array)
feat.shape = polygon
feat.setValue("RasterName", Ras)
feat.setValue("RasterPath", InFolder + "\\" + Ras)
cursor.insertRow(feat)
array.removeAll()
del feat
del cursor


that writes the Extents of a List of rasters that are in one folder to a Shapefile and adds the name of the raster to the attribute table. I would need the same function, but instead of the Extent of each Raster with the Raster Domain - to have the exact frame of each extracted georeferenced video still.


Because I do not completely understand the single steps... I do not know where to incorporate the arcpy.RasterDomain_3d...


Thanks a lot for help!





Aucun commentaire:

Enregistrer un commentaire