ó
vŠy]c           @   sš  d  d l  Z  d  d l  m Z d  d l Td  d l Z d  d l Z d  d l Z d  d l Z d  d l Z d  d l	 Z	 d e _
 d Z d Z d Z d Z d Z d	 Z d
 Z d Z d Z e e Z e e Z d GHe  j e ƒ så e j d ƒ n  e  j e ƒ se j d ƒ n  e e _ e e _ e e _ e e  j _ e  j d ƒ e  j d ƒ rWe  j d ƒ n  e d d e j e j ƒ Z e j d ƒ e  j d ƒ rže  j d ƒ n  d GHe  e d d ƒ Z! e d	 k rêd GHe Z" e" e _# e  e d d ƒ Z! nF e d k r+d GHe  e d d ƒ Z! e$ e! e d ƒ Z" e" e _# n d GHe! j d ƒ e  j d ƒ r\e  j d ƒ n  e" e _# d GHe% e! d d ƒ Z& e& j d ƒ e  j' e d ƒ Z( e( j) d ƒ Z* e e+ e* ƒ e+ e* ƒ Z, e- e& e, k d ƒ Z. e. e" Z/ e  j d ƒ rúd GHn d  GHd! Z0 e  j1 e e0 ƒ e2 e/ e! ƒ Z3 e  j e d" e ƒ rXe  j e d" e ƒ d# GHn  e d" e Z4 d$ GHe5 e3 e! e4 d% ƒ e  j e/ ƒ re  j e/ ƒ n  e  j6 e4 d& e/ d' d( e j ƒ e$ e! e/ d) ƒ Z7 e  j d* ƒ ríe  j d* ƒ n  e7 j d* ƒ e  j8 e4 d* d+ ƒ e  j9 e4 d& e7 d, d- ƒ d. d* g Z: e  j; j< e4 e: ƒ P Z= xF e= D]> Z> e> d d k rtd e> d <n e> d e> d <e= j@ e> ƒ qQWWd QX[> e  jA e4 d. ƒ d/ GHe  j e/ ƒ e  j e d0 ƒ rêe  j e d1 ƒ d2 GHn  e d0 ZB e  jC e4 eB d3 ƒ e  j e d4 ƒ r3e  j e d5 ƒ d6 GHn  e d4 ZD e  jC e4 eD d7 ƒ d e _# e- eE d ƒ d k eF e& jG ƒ d ƒ ZH eI eB eH d8 g g ƒ e  j8 e4 d9 d+ ƒ eI eB e d: g g d( ƒ eJ e ƒ ZK e- eE eK ƒ d k eF eK jL ƒ e ƒ ZM eI eD eM d; g g d( ƒ e" e _# e  j9 e4 d& eB d& d: ƒ e  j9 e4 d& eD d& d; ƒ e  j9 e4 d& eB d& d8 ƒ e  j8 e4 d< d+ ƒ e  j8 e4 d= d> d? d@ ƒ e  j8 e4 dA d> d? dB ƒ e  j8 e4 dC d> ƒ e  j8 e4 dD d+ ƒ e  j8 e4 dE dF dG d ƒ e  j8 e4 dH d> dG dI ƒ e  j8 e4 dJ d> dG dI ƒ e  j8 e4 dK d> dG dI ƒ e  j8 e4 dL d> dG dI ƒ dM GHe  jN e4 d= dN dO d ƒ dP ZO dQ ZP e  jN e4 dA eO dO eP ƒ e  jN e4 dD dR dO ƒ e  jN e4 d< dR dO ƒ e  jN e4 d9 dS dO ƒ e  jN e4 dC dT dO ƒ e  j; jQ e4 dŒ ƒ ZR dW GHxj eS eR dV ƒ D]X \ ZT ZU g  ZV xC eS eR dU ƒ D]1 \ ZW ZX eX eU k r3eR d& eW eR d9 eT <q3q3WqWdX GHxQeS eR dU ƒ D]?\ ZT ZU g  ZV x? eS eR dV ƒ D]- \ ZW ZX eX eU k r¥e jY eV eW ƒ ZV q¥q¥WeZ eV ƒ s5	d  eR d< eT <d eR dD eT <eR d* eT dI e+ e j ƒ e+ e j ƒ eR dC eT <q‚eV j[ eF ƒ Z\ e j] eR d8 e\ eR d* e\ ƒ Z^ eR d& e\ e^ eR d< eT <eR d8 eT eR d* eT dI e+ e j ƒ e+ e j ƒ eR dC eT <q‚Wd Z_ dY Z` dZ GHxµ e` d k r
d Z` x’ eS eR dD ƒ D]€ \ ZT ZU eU e_ k rü	e` d 7Z` x[ eS eR d& ƒ D]F \ ZW ZX eX eR d9 eT k r/
ea e_ d eR dD eW ƒ eR dD eW <q/
q/
Wqü	qü	We_ d 7Z_ qÙ	We  j; jb e4 d& eR d& d[ ec ƒd  d\ ld me Ze d] GHee e4 ƒ e  j e ƒ rð
d^ GHe  j e ƒ n d_ GHd` ef e ƒ da ef e ƒ GHd  db lg mh Zh eh d e e e e ƒ dc Zi e  j ei ƒ rbdd GHe  j ei ƒ n  e  j6 e4 d& ei d d e j ƒ de Zj e  j ej ƒ r«e  j ej ƒ df GHn  ek ei d) e ej dg dh ƒ e  j9 e4 d& ej d) di ƒ e dj Zl e  jC e4 el dk ƒ eI el e dl g g dm ƒ e  jm el dn do d& ƒ e  j9 e4 d& dn d& dp ƒ e  j8 e4 dq d> dG dI ƒ dp di dq g Z: e  j; j< e4 e: ƒ ž Z= x” e= D]Œ Z> e> d d k r°e> d e> dI <nX e> d e> d k  rÕe> d e> dI <n3 e> d e> d k rúe> d e> dI <n e> d e> dI <e= j@ e> ƒ q‰WWd QXe  jA e4 di ƒ e  jA e4 dr ƒ e  j el ƒ e  j dn ƒ e  jN e4 dL ds dO d ƒ e j jn dt ƒ rždu GHe jo dt ƒ dv GHn  dw GHe  j; jQ e4 d ƒ Zp e jq e dt ep dy dz ƒd{ GHd  d| lr ms Zs d} Zt d~ Zu es e et eu e& ƒ d  d lv mw Zw d€ GHew e eu et d ƒ d GHe d‚ Zx e  j ex ƒ r\e  j ex ƒ n  e  jy e4 dƒ g ex d d d ƒ d„ GHd  d… lz m{ Z{ e{ ex ƒ d† GHd  d‡ l| m} Z} e} ex e ƒ dˆ GHe  j e! ƒ e  j e& ƒ e  j et ƒ e  j eu ƒ e  j eM ƒ e  j e ƒ e  j e7 ƒ e  j ej ƒ e  j ex ƒ e  j dƒ ƒ e  j d‰ ƒ e  j dŠ ƒ e  j eB ƒ e  j eD ƒ e  j eH ƒ e  j ei ƒ d‹ GHd S(Ž   iÿÿÿÿN(   t   env(   t   *s0   C:/Users/jwon/Desktop/kitsap_clean/arcpy/kitsap/t   dem40t   maskt   soildt
   streamfilet   MASKiÀ¶ gR¸…ëQè?g      @i   s'   elevation input not valid, exit programs-   mask/pour point input not valid, exit programt   Spatialt   maskrast   INTEGERt   flow_dirs   Flow directiont    s   Mask file providedt   MOUTHs+   Mask file not provided, computing watersheds   Input key not validt   flow_accs   Flow accumulationt	   CELLSIZEXi    s   /output.gdbs   geodatabase already exists-   geodatabase does NOT exist, create geodatabses
   output.gdbs   /output.gdb/s1   deleted previous stream file and create a new ones   creating stream shapefilet   NO_SIMPLIFYt   arcidt   MAXIMUM_LENGTHt   NONEt   VALUEt   localt   LONGt   Valuet   Countt   COUNTs   local file createds   output.gdb/nodestarts   /output.gdb/nodestarts5   start node file already exists, delete and create newt   STARTs   output.gdb/nodeends   /output.gdb/nodeends3   end node file already exists, delete and create newt   ENDt   MAXGRIDt   downarct   SELEVt   EELEVt   uparct   dzt   FLOATi   i   t   slopei   t   meanmsqt   segordert	   chanclasst   SHORTi   t   hyddepthi   t   hydwidtht   effwidtht   effdepths$   Calculating Slope of channel segments   abs(!SELEV! - !EELEV!)s
   PYTHON_9.3s,   clacSlope(float(!dz!),float(!Shape_Length!))so   def clacSlope(dz,length):
    if (dz/length)>0.00001:
        return dz/length
    else:
        return 0.00001t   0s   -1s   0.0t	   from_nodet   to_nodes   Looking for downstream arcs   Looking for upstream arcic   s   Calculating segment ordert   append_only(   t   channelclassfuns   Assign channl classs5   Soil depth file already exists, delete and create news*   soil depth file not provided, creating maps'   making the soil depth with mindepth of s    and maxdepth of (   t   soildepthfunt
   stmlinerass+   Table already exists, delete and create newt   soild_zonals<   zonal statistics table already exists, delete and create newt   DATAt   MINIMUMt   MINs   output.gdb/all_nodest   ALLt	   soildeptht   BILINEARt   all_nodes_statisticss   soildepth MINt   MIN_soildeptht   segdeptht	   MIN_soilds   0.95*float(!segdepth!)s   stream.network.dats8   stream.network.dat already exists, delete and create news&   stream.network.dat sucessfully deleteds$   creating new stream.network.dat filet   Shape_Lengtht   fmts   %5d %3d %11.5f %17.5f %3d %7ds   running wshdslope(   t   wshdslopefunt   gridslope_4dt
   gridaspect(   t   rowcolmapfuns   running rowcolmaps   creating streammaps   output.gdb/outcovers   rowcolpoly.shps   running roadaspect(   t   roadaspectfuns   generating stream map file(   t   streammapfilefuns   Starting Cleanning Upt   streaml_time1t	   ifthe_rast   Complete(	   R,   R-   R$   R   R   R#   R   R   R   (   R   R$   R"   R=   R%   R   (~   t   arcpyR    t   arcpy.sat   arcgisscriptingt   syst   ost   matht   numpyt   npt   csvt	   workspacet   patht   elevt   wshedR7   R   t   keyt   sourcet   mindeptht   maxdeptht   Existst   exitt   outputCoordinateSystemt   extentt   cellSizet   Truet   overwriteOutputt   CheckOutExtensiont   Delete_managementt   CreateConstantRastert   MaskExtt   savet   FlowDirectiont   flowdirt   wshdR   t	   Watershedt   FlowAccumulationt   flowacct   GetRasterProperties_managementt   detlaxResultt	   getOutputt   deltaxt   floatt	   sourcepixt   Cont   tempt   rivgt	   streamgdbt   CreateFileGDB_managementt
   StreamLinkt
   streamlinkt	   streamnett   StreamToFeaturet   PolylineToRaster_conversionR   t   AddField_managementt   JoinField_managementt   fieldst   dat   UpdateCursort   cursort   rowt   Nonet	   updateRowt   DeleteField_managementt	   nodestartt"   FeatureVerticesToPoints_managementt   nodeendt   IsNullt   intt   maximumt   tmpacct   ExtractMultiValuesToPointst   Rastert   elevrast   minimumt   tmpelevt   CalculateField_managementt
   expressiont	   codeblockt   TableToNumPyArrayt   arrt	   enumeratet   jjt   iit   arr2t   it   jt   appendt   lent   astypet   arr3t   argmaxt   loct   ordert   at   maxt   ExtendTablet   Falset   channelclassR/   t   strt   soildepthscriptR0   R1   t   soild_tablet   ZonalStatisticsAsTablet	   all_nodest   Statistics_analysist   existst   removet
   arr_exportt   savetxtt	   wshdslopeR?   R"   t   aspectt	   rowcolmapRB   t   outcovert   Intersect_analysist
   roadaspectRC   t   streammapfileRD   (    (    (    s[   C:\Users\jwon\Desktop\kitsap_clean\arcpy\CreateStreamNetwork_PythonV\createstreamnetwork.pyt   <module>   sþ  
	

					


	''	!7#D
1



