forked from JenniferRoelens/DitchDetConn
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDetConn_CrFiles.py
61 lines (51 loc) · 2.67 KB
/
DetConn_CrFiles.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
'''
Created in 2017
@author: Jennifer Roelens
'''
import DetConn_Input as inp
import arcpy
from arcpy import sa
arcpy.env.overwriteOutput = True
"""
CODE
"""
print 'Creating files...'
# Clear/setting up workspace
arcpy.ClearWorkspaceCache_management()
# Create intensity raster
if inp.Intensityfile is "":
print "Create intensity raster from LAS files"
arcpy.LASToMultipoint_3d(inp.LiDARFolder, inp.def_geodatabase + "IntensityOrig", "1", "", "LAST_RETURNS", "INTENSITY")
arcpy.env.snapRaster = inp.inputDTM
inp.Intensityfile = "Intensity1"
inp.inputIntensity = inp.inputFolder + inp.Intensityfile
arcpy.PointToRaster_conversion(inp.def_geodatabase + "IntensityOrig", "Intensity", inp.inputIntensity,"","","1")
# Clip data for the study area
if inp.inputStudyArea is not "":
print "Clip for study area"
DTMras = sa.ExtractByMask(inp.inputDTM, inp.inputStudyArea)
LandCoverras = sa.ExtractByMask(inp.inputLandCover, inp.inputStudyArea)
arcpy.Intersect_analysis([inp.inputRoads, inp.inputStudyArea], inp.outputFolder + "Roads.shp")
RGBras = sa.ExtractByMask(inp.inputRGB, inp.inputStudyArea)
Intensityras = sa.ExtractByMask(inp.inputIntensity, inp.inputStudyArea)
Intensityras.save(inp.inputFolder + "Intensityras")
else:
DTMras = arcpy.Raster(inp.inputDTM)
LandCoverras = arcpy.Raster(inp.inputLandCover)
arcpy.CopyFeatures_management(inp.inputRoads, inp.outputFolder + "Roads.shp")
RGBras = arcpy.Raster(inp.inputRGB)
Intensityras = arcpy.Raster(inp.inputFolder + "Intensityras")
print "Create mask"
arcpy.RasterToPolygon_conversion(LandCoverras, inp.outputFolder + "BBK_poly.shp")
arcpy.MakeFeatureLayer_management(inp.outputFolder + "BBK_poly.shp", "lyr")
arcpy.SelectLayerByAttribute_management("lyr", "NEW_Selection", "GRIDCODE = 2 OR GRIDCODE = 7 OR GRIDCODE = 10 OR GRIDCODE = 11 OR GRIDCODE = 12")
arcpy.CopyFeatures_management("lyr", inp.outputFolder + "BBK_mask.shp")
arcpy.Union_analysis([inp.outputFolder + "Roads.shp", inp.outputFolder + "BBK_mask.shp"], inp.outputFolder + "Wbn_BBK_mask.shp")
arcpy.Buffer_analysis(inp.outputFolder + "Wbn_BBK_mask.shp", inp.outputFolder + "mask_buffer.shp", "15 Meters")
arcpy.Dissolve_management(inp.outputFolder + "mask_buffer.shp", inp.outputFolder + "mask_buffer_dissolve.shp")
arcpy.Intersect_analysis([inp.outputFolder + "mask_buffer_dissolve.shp", inp.inputStudyArea], inp.outputFolder + "mask.shp")
maskDTMras = sa.ExtractByMask(DTMras, inp.outputFolder + "mask.shp")
print "Convert to GIS files"
DTMras.save(inp.outputFolder + "DTM" + ".tif")
maskDTMras.save(inp.outputFolder + "maskDTM" + ".tif")
print 'Finished creating files'