<SPAN class="keyword token">import</SPAN> os<SPAN class="punctuation token">,</SPAN> cx_Oracle<SPAN class="punctuation token">,</SPAN> string<SPAN class="punctuation token">,</SPAN> datetime<SPAN class="punctuation token">,</SPAN> time
<SPAN class="keyword token">import</SPAN> arcgisscripting<SPAN class="punctuation token">,</SPAN>arcpy
<SPAN class="keyword token">import</SPAN> shutil
<SPAN class="keyword token">class</SPAN> <SPAN class="token class-name">PlateMapGeneration</SPAN><SPAN class="punctuation token">:</SPAN>
<SPAN class="keyword token">pass</SPAN>
user <SPAN class="operator token">=</SPAN> <SPAN class="string token">''</SPAN>
sdeusr <SPAN class="operator token">=</SPAN> <SPAN class="string token">''</SPAN>
fldr <SPAN class="operator token">=</SPAN> <SPAN class="string token">''</SPAN>
path <SPAN class="operator token">=</SPAN> <SPAN class="string token">''</SPAN>
asset_path <SPAN class="operator token">=</SPAN> <SPAN class="string token">''</SPAN>
sde <SPAN class="operator token">=</SPAN> <SPAN class="string token">''</SPAN>
projection <SPAN class="operator token">=</SPAN> <SPAN class="string token">''</SPAN>
connect_string <SPAN class="operator token">=</SPAN> <SPAN class="string token">''</SPAN>
timestamp_d <SPAN class="operator token">=</SPAN> <SPAN class="string token">''</SPAN>
timestamp_t <SPAN class="operator token">=</SPAN> <SPAN class="string token">''</SPAN>
filelist <SPAN class="operator token">=</SPAN> <SPAN class="punctuation token">[</SPAN><SPAN class="punctuation token">]</SPAN>
maplist <SPAN class="operator token">=</SPAN> <SPAN class="punctuation token">[</SPAN><SPAN class="punctuation token">]</SPAN>
local_path <SPAN class="operator token">=</SPAN> <SPAN class="string token">''</SPAN>
final_path <SPAN class="operator token">=</SPAN> <SPAN class="string token">''</SPAN>
temp_table_conn <SPAN class="operator token">=</SPAN> <SPAN class="string token">''</SPAN>
sde_conn <SPAN class="operator token">=</SPAN> <SPAN class="string token">''</SPAN>
plates_gis <SPAN class="operator token">=</SPAN> <SPAN class="string token">''</SPAN>
<SPAN class="keyword token">def</SPAN> <SPAN class="token function">start_process</SPAN><SPAN class="punctuation token">(</SPAN>self<SPAN class="punctuation token">,</SPAN> username_<SPAN class="punctuation token">,</SPAN> <SPAN class="operator token">**</SPAN><SPAN class="operator token">**</SPAN><SPAN class="operator token">**</SPAN><SPAN class="operator token">**</SPAN><SPAN class="operator token">**</SPAN><SPAN class="operator token">**</SPAN>_<SPAN class="punctuation token">,</SPAN> <SPAN class="operator token">**</SPAN><SPAN class="operator token">**</SPAN><SPAN class="operator token">**</SPAN><SPAN class="operator token">**</SPAN><SPAN class="operator token">**</SPAN><SPAN class="operator token">**</SPAN>_<SPAN class="punctuation token">,</SPAN> sde_<SPAN class="punctuation token">,</SPAN> db_<SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">:</SPAN>
<SPAN class="keyword token">global</SPAN> user
<SPAN class="keyword token">global</SPAN> <SPAN class="operator token">**</SPAN><SPAN class="operator token">**</SPAN><SPAN class="operator token">**</SPAN><SPAN class="operator token">**</SPAN><SPAN class="operator token">**</SPAN><SPAN class="operator token">**</SPAN><SPAN class="operator token">*</SPAN>
<SPAN class="keyword token">global</SPAN> <SPAN class="operator token">**</SPAN><SPAN class="operator token">**</SPAN><SPAN class="operator token">**</SPAN><SPAN class="operator token">**</SPAN><SPAN class="operator token">**</SPAN>
<SPAN class="keyword token">global</SPAN> path
<SPAN class="keyword token">global</SPAN> asset_path
<SPAN class="keyword token">global</SPAN> sde
<SPAN class="keyword token">global</SPAN> connect_string
<SPAN class="keyword token">global</SPAN> timestamp_d
<SPAN class="keyword token">global</SPAN> timestamp_t
<SPAN class="keyword token">global</SPAN> projection
<SPAN class="keyword token">global</SPAN> local_path
<SPAN class="keyword token">global</SPAN> final_path
<SPAN class="keyword token">global</SPAN> sde_conn
<SPAN class="keyword token">global</SPAN> plates_gis
user <SPAN class="operator token">=</SPAN> username_
<SPAN class="operator token">**</SPAN><SPAN class="operator token">**</SPAN><SPAN class="operator token">**</SPAN><SPAN class="operator token">**</SPAN><SPAN class="operator token">**</SPAN><SPAN class="operator token">*</SPAN> <SPAN class="operator token">=</SPAN> <SPAN class="operator token">**</SPAN><SPAN class="operator token">**</SPAN><SPAN class="operator token">**</SPAN><SPAN class="operator token">**</SPAN><SPAN class="operator token">**</SPAN><SPAN class="operator token">**</SPAN><SPAN class="operator token">**</SPAN><SPAN class="operator token">*</SPAN>_
<SPAN class="operator token">**</SPAN><SPAN class="operator token">**</SPAN><SPAN class="operator token">**</SPAN><SPAN class="operator token">**</SPAN><SPAN class="operator token">*</SPAN> <SPAN class="operator token">=</SPAN> <SPAN class="operator token">**</SPAN><SPAN class="operator token">**</SPAN><SPAN class="operator token">**</SPAN><SPAN class="operator token">**</SPAN><SPAN class="operator token">**</SPAN><SPAN class="operator token">**</SPAN><SPAN class="operator token">*</SPAN>
path <SPAN class="operator token">=</SPAN> <SPAN class="string token">'\\'</SPAN> <SPAN class="operator token">+</SPAN> <SPAN class="string token">'\\'</SPAN> <SPAN class="operator token">+</SPAN> <SPAN class="string token">'**************\\pythonadmin\\data\\'</SPAN><SPAN class="operator token">+</SPAN><SPAN class="operator token">**</SPAN><SPAN class="operator token">**</SPAN><SPAN class="operator token">**</SPAN><SPAN class="operator token">**</SPAN><SPAN class="operator token">**</SPAN><SPAN class="operator token">**</SPAN><SPAN class="operator token">*</SPAN><SPAN class="operator token">+</SPAN><SPAN class="string token">'\\plates\\tif\\'</SPAN>
sde <SPAN class="operator token">=</SPAN> sde_
connect_string <SPAN class="operator token">=</SPAN> user <SPAN class="operator token">+</SPAN> <SPAN class="string token">'/'</SPAN> <SPAN class="operator token">+</SPAN> user <SPAN class="operator token">+</SPAN> <SPAN class="string token">'***************'</SPAN> <SPAN class="operator token">+</SPAN> db_
<SPAN class="comment token">#local_path = 'C:\\Users\\pythonadmin\\AppData\\Roaming\\ESRI\\Desktop10.3\\ArcCatalog\\' </SPAN>
<SPAN class="comment token">#local_path = 'C:\\Python_Cloud_Scripts\\conn\\'</SPAN>
local_path <SPAN class="operator token">=</SPAN> <SPAN class="string token">'E:\\GIS_MXD\\**************\\PLATES_CAD_GIS1.gdb\\'</SPAN>
final_path <SPAN class="operator token">=</SPAN> <SPAN class="string token">'E:\\GIS_MXD\\**************\\PLATES_CAD_GIS.gdb\\'</SPAN>
sde_conn <SPAN class="operator token">=</SPAN> local_path <SPAN class="operator token">+</SPAN> string<SPAN class="punctuation token">.</SPAN>upper<SPAN class="punctuation token">(</SPAN>sdeusr<SPAN class="punctuation token">)</SPAN> <SPAN class="operator token">+</SPAN> <SPAN class="string token">'.sde\\'</SPAN> <SPAN class="operator token">+</SPAN> sde
plates_gis <SPAN class="operator token">=</SPAN> <SPAN class="string token">'*******************'</SPAN>
asset_path <SPAN class="operator token">=</SPAN> <SPAN class="string token">'\\'</SPAN> <SPAN class="operator token">+</SPAN> <SPAN class="string token">'\\'</SPAN> <SPAN class="operator token">+</SPAN> <SPAN class="string token">'****************\\pythonadmin\\data\\'</SPAN><SPAN class="operator token">+</SPAN><SPAN class="operator token">**</SPAN><SPAN class="operator token">**</SPAN><SPAN class="operator token">**</SPAN><SPAN class="operator token">**</SPAN><SPAN class="operator token">**</SPAN><SPAN class="operator token">**</SPAN><SPAN class="operator token">+</SPAN><SPAN class="string token">'\\assets\\'</SPAN> <SPAN class="operator token">+</SPAN> plates_gis <SPAN class="operator token">+</SPAN> <SPAN class="string token">'\\'</SPAN>
<SPAN class="comment token">#print start time</SPAN>
starttime <SPAN class="operator token">=</SPAN> datetime<SPAN class="punctuation token">.</SPAN>datetime<SPAN class="punctuation token">.</SPAN>today<SPAN class="punctuation token">(</SPAN><SPAN class="punctuation token">)</SPAN>
<SPAN class="keyword token">print</SPAN> <SPAN class="string token">'Start Time: '</SPAN> <SPAN class="operator token">+</SPAN> str<SPAN class="punctuation token">(</SPAN>starttime<SPAN class="punctuation token">)</SPAN>
timestamp_d <SPAN class="operator token">=</SPAN> str<SPAN class="punctuation token">(</SPAN>starttime<SPAN class="punctuation token">.</SPAN>date<SPAN class="punctuation token">(</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">)</SPAN>
timestamp_t <SPAN class="operator token">=</SPAN> str<SPAN class="punctuation token">(</SPAN>starttime<SPAN class="punctuation token">.</SPAN>time<SPAN class="punctuation token">(</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">.</SPAN>replace<SPAN class="punctuation token">(</SPAN><SPAN class="string token">':'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'_'</SPAN><SPAN class="punctuation token">)</SPAN>
<SPAN class="keyword token">if</SPAN> string<SPAN class="punctuation token">.</SPAN>upper<SPAN class="punctuation token">(</SPAN>user<SPAN class="punctuation token">)</SPAN> <SPAN class="operator token">==</SPAN> <SPAN class="string token">'*************'</SPAN><SPAN class="punctuation token">:</SPAN>
projection <SPAN class="operator token">=</SPAN> <SPAN class="string token">"PROJCS['NAD_1983_StatePlane_New_Jersey_FIPS_2900_Feet',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['Transverse_Mercator'],PARAMETER['False_Easting',492125.0],PARAMETER['False_Northing',0.0],PARAMETER['Central_Meridian',-74.5],PARAMETER['Scale_Factor',0.9999],PARAMETER['Latitude_Of_Origin',38.83333333333334],UNIT['Foot_US',0.3048006096012192]];IsHighPrecision"</SPAN>
<SPAN class="keyword token">elif</SPAN> string<SPAN class="punctuation token">.</SPAN>upper<SPAN class="punctuation token">(</SPAN>user<SPAN class="punctuation token">)</SPAN> <SPAN class="operator token">==</SPAN> <SPAN class="string token">'CUC_DELMARVA'</SPAN><SPAN class="punctuation token">:</SPAN>
projection <SPAN class="operator token">=</SPAN> <SPAN class="string token">"PROJCS['NAD_1983_StatePlane_Delaware_FIPS_0700_Feet',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['Transverse_Mercator'],PARAMETER['False_Easting',656166.6666666665],PARAMETER['False_Northing',0.0],PARAMETER['Central_Meridian',-75.41666666666667],PARAMETER['Scale_Factor',0.999995],PARAMETER['Latitude_Of_Origin',38.0],UNIT['Foot_US',0.3048006096012192]];IsHighPrecision"</SPAN>
<SPAN class="keyword token">else</SPAN><SPAN class="punctuation token">:</SPAN>
projection <SPAN class="operator token">=</SPAN> <SPAN class="string token">"PROJCS['WGS_1984_Web_Mercator',GEOGCS['GCS_WGS_1984_Major_Auxiliary_Sphere',DATUM['D_WGS_1984_Major_Auxiliary_Sphere',SPHEROID['WGS_1984_Major_Auxiliary_Sphere',6378137.0,0.0]],PRIMEM['Greenwich',0.0],UNIT['Degree',0.0174532925199433]],PROJECTION['Mercator'],PARAMETER['False_Easting',0.0],PARAMETER['False_Northing',0.0],PARAMETER['Central_Meridian',0.0],PARAMETER['Standard_Parallel_1',0.0],UNIT['Meter',1.0]];IsHighPrecision"</SPAN>
<SPAN class="keyword token">def</SPAN> <SPAN class="token function">end_process</SPAN><SPAN class="punctuation token">(</SPAN>self<SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">:</SPAN>
endtime <SPAN class="operator token">=</SPAN> datetime<SPAN class="punctuation token">.</SPAN>datetime<SPAN class="punctuation token">.</SPAN>today<SPAN class="punctuation token">(</SPAN><SPAN class="punctuation token">)</SPAN>
<SPAN class="keyword token">print</SPAN> <SPAN class="string token">'End Time: '</SPAN> <SPAN class="operator token">+</SPAN> str<SPAN class="punctuation token">(</SPAN>endtime<SPAN class="punctuation token">)</SPAN>
<SPAN class="keyword token">def</SPAN> <SPAN class="token function">MakeFolder</SPAN><SPAN class="punctuation token">(</SPAN>self<SPAN class="punctuation token">,</SPAN><SPAN class="operator token">**</SPAN><SPAN class="operator token">**</SPAN><SPAN class="operator token">**</SPAN><SPAN class="operator token">**</SPAN><SPAN class="operator token">**</SPAN><SPAN class="punctuation token">,</SPAN>gis<SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">:</SPAN>
gp <SPAN class="operator token">=</SPAN> arcgisscripting<SPAN class="punctuation token">.</SPAN>create<SPAN class="punctuation token">(</SPAN><SPAN class="punctuation token">)</SPAN>
folderpath <SPAN class="operator token">=</SPAN> <SPAN class="string token">'\\'</SPAN> <SPAN class="operator token">+</SPAN> <SPAN class="string token">'\\'</SPAN> <SPAN class="operator token">+</SPAN> <SPAN class="string token">'****************\\pythonadmin\\data\\'</SPAN> <SPAN class="operator token">+</SPAN> <SPAN class="operator token">**</SPAN><SPAN class="operator token">**</SPAN><SPAN class="operator token">**</SPAN><SPAN class="operator token">**</SPAN><SPAN class="operator token">**</SPAN><SPAN class="operator token">**</SPAN> <SPAN class="operator token">+</SPAN> <SPAN class="string token">'\\assets\\'</SPAN> <SPAN class="operator token">+</SPAN> gis <SPAN class="operator token">+</SPAN> <SPAN class="string token">'\\'</SPAN>
<SPAN class="keyword token">if</SPAN> os<SPAN class="punctuation token">.</SPAN>path<SPAN class="punctuation token">.</SPAN>exists<SPAN class="punctuation token">(</SPAN>folderpath<SPAN class="punctuation token">)</SPAN> <SPAN class="operator token">==</SPAN> <SPAN class="token boolean">False</SPAN><SPAN class="punctuation token">:</SPAN>
<SPAN class="keyword token">print</SPAN> <SPAN class="string token">'Folder does not exist'</SPAN>
os<SPAN class="punctuation token">.</SPAN>mkdir<SPAN class="punctuation token">(</SPAN>folderpath<SPAN class="punctuation token">)</SPAN>
os<SPAN class="punctuation token">.</SPAN>chdir<SPAN class="punctuation token">(</SPAN>folderpath<SPAN class="punctuation token">)</SPAN>
os<SPAN class="punctuation token">.</SPAN>mkdir<SPAN class="punctuation token">(</SPAN>folderpath <SPAN class="operator token">+</SPAN> <SPAN class="string token">'spatial\\'</SPAN><SPAN class="punctuation token">)</SPAN>
gp<SPAN class="punctuation token">.</SPAN>CreateFileGDB<SPAN class="punctuation token">(</SPAN>folderpath<SPAN class="punctuation token">,</SPAN> str<SPAN class="punctuation token">(</SPAN>gis<SPAN class="punctuation token">)</SPAN><SPAN class="operator token">+</SPAN><SPAN class="string token">'.gdb'</SPAN><SPAN class="punctuation token">)</SPAN>
<SPAN class="keyword token">else</SPAN><SPAN class="punctuation token">:</SPAN>
<SPAN class="keyword token">print</SPAN> <SPAN class="string token">'Folder already exists'</SPAN>
filelist <SPAN class="operator token">=</SPAN> <SPAN class="punctuation token">[</SPAN><SPAN class="punctuation token">]</SPAN>
gp<SPAN class="punctuation token">.</SPAN>Delete_management<SPAN class="punctuation token">(</SPAN>folderpath<SPAN class="operator token">+</SPAN>gis<SPAN class="operator token">+</SPAN><SPAN class="string token">'.gdb'</SPAN><SPAN class="punctuation token">)</SPAN>
filelist <SPAN class="operator token">=</SPAN> os<SPAN class="punctuation token">.</SPAN>listdir<SPAN class="punctuation token">(</SPAN>folderpath <SPAN class="operator token">+</SPAN> <SPAN class="string token">'spatial\\'</SPAN><SPAN class="punctuation token">)</SPAN>
a<SPAN class="operator token">=</SPAN><SPAN class="number token">0</SPAN>
<SPAN class="keyword token">while</SPAN> a <SPAN class="operator token"><</SPAN> len<SPAN class="punctuation token">(</SPAN>filelist<SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">:</SPAN>
os<SPAN class="punctuation token">.</SPAN>remove<SPAN class="punctuation token">(</SPAN>folderpath <SPAN class="operator token">+</SPAN> <SPAN class="string token">'spatial\\'</SPAN><SPAN class="operator token">+</SPAN> filelist<SPAN class="punctuation token">[</SPAN>a<SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">)</SPAN>
a<SPAN class="operator token">=</SPAN>a<SPAN class="operator token">+</SPAN><SPAN class="number token">1</SPAN>
gp<SPAN class="punctuation token">.</SPAN>CreateFileGDB<SPAN class="punctuation token">(</SPAN>folderpath<SPAN class="punctuation token">,</SPAN> str<SPAN class="punctuation token">(</SPAN>gis<SPAN class="punctuation token">)</SPAN><SPAN class="operator token">+</SPAN><SPAN class="string token">'.gdb'</SPAN><SPAN class="punctuation token">)</SPAN>
a<SPAN class="operator token">=</SPAN><SPAN class="number token">0</SPAN>
<SPAN class="keyword token">print</SPAN> <SPAN class="string token">'Folder creation complete'</SPAN>
<SPAN class="keyword token">def</SPAN> <SPAN class="token function">FormatTupleNum</SPAN><SPAN class="punctuation token">(</SPAN>self<SPAN class="punctuation token">,</SPAN>num<SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">:</SPAN>
numstr <SPAN class="operator token">=</SPAN> <SPAN class="string token">""</SPAN>
numstr <SPAN class="operator token">=</SPAN> num
<SPAN class="keyword token">return</SPAN> numstr<SPAN class="punctuation token">.</SPAN>lstrip<SPAN class="punctuation token">(</SPAN><SPAN class="string token">'('</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">.</SPAN>rstrip<SPAN class="punctuation token">(</SPAN><SPAN class="string token">'),'</SPAN><SPAN class="punctuation token">)</SPAN>
<SPAN class="keyword token">def</SPAN> <SPAN class="token function">get_filelist</SPAN><SPAN class="punctuation token">(</SPAN>self<SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">:</SPAN>
<SPAN class="keyword token">global</SPAN> filelist
<SPAN class="keyword token">global</SPAN> path
filelist <SPAN class="operator token">=</SPAN> os<SPAN class="punctuation token">.</SPAN>listdir<SPAN class="punctuation token">(</SPAN>path<SPAN class="punctuation token">)</SPAN>
<SPAN class="keyword token">print</SPAN> <SPAN class="string token">"Files:"</SPAN>
<SPAN class="keyword token">print</SPAN> filelist
<SPAN class="keyword token">def</SPAN> <SPAN class="token function">get_map</SPAN><SPAN class="punctuation token">(</SPAN>self<SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">:</SPAN>
<SPAN class="keyword token">global</SPAN> connect_string
<SPAN class="keyword token">global</SPAN> maplist
x<SPAN class="operator token">=</SPAN><SPAN class="number token">0</SPAN>
con <SPAN class="operator token">=</SPAN> cx_Oracle<SPAN class="punctuation token">.</SPAN>connect<SPAN class="punctuation token">(</SPAN>connect_string<SPAN class="punctuation token">)</SPAN>
cur <SPAN class="operator token">=</SPAN> con<SPAN class="punctuation token">.</SPAN>cursor<SPAN class="punctuation token">(</SPAN><SPAN class="punctuation token">)</SPAN>
<SPAN class="comment token">#maps = 'CC3D'</SPAN>
<SPAN class="comment token">#cur.execute('select b.name from PLATE_MAPS_DETAIL a, MAP_VIEWS b where A.MAP_NAME = B.NAME and a.map_name = '+'\''+maps+'\'')</SPAN>
cur<SPAN class="punctuation token">.</SPAN>execute<SPAN class="punctuation token">(</SPAN><SPAN class="string token">'select b.name from PLATE_MAPS_DETAIL a, MAP_VIEWS b where A.MAP_NAME = B.NAME order by b.name'</SPAN><SPAN class="punctuation token">)</SPAN>
<SPAN class="comment token">#cur.execute('select map_name from asset_plates_gis order by creation_date')</SPAN>
maplist <SPAN class="operator token">=</SPAN> cur<SPAN class="punctuation token">.</SPAN>fetchall<SPAN class="punctuation token">(</SPAN><SPAN class="punctuation token">)</SPAN>
<SPAN class="keyword token">while</SPAN> x <SPAN class="operator token"><</SPAN> len<SPAN class="punctuation token">(</SPAN>maplist<SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">:</SPAN>
<SPAN class="comment token">#mapstr = ''</SPAN>
mapstr <SPAN class="operator token">=</SPAN> self<SPAN class="punctuation token">.</SPAN>FormatTupleNum<SPAN class="punctuation token">(</SPAN>str<SPAN class="punctuation token">(</SPAN>maplist<SPAN class="punctuation token">[</SPAN>x<SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">)</SPAN>
maplist<SPAN class="punctuation token">[</SPAN>x<SPAN class="punctuation token">]</SPAN> <SPAN class="operator token">=</SPAN> mapstr<SPAN class="punctuation token">.</SPAN>replace<SPAN class="punctuation token">(</SPAN><SPAN class="string token">'\''</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">''</SPAN><SPAN class="punctuation token">)</SPAN>
x<SPAN class="operator token">=</SPAN>x<SPAN class="operator token">+</SPAN><SPAN class="number token">1</SPAN>
<SPAN class="keyword token">print</SPAN> <SPAN class="string token">'Maps:'</SPAN>
<SPAN class="keyword token">print</SPAN> maplist
con<SPAN class="punctuation token">.</SPAN>commit<SPAN class="punctuation token">(</SPAN><SPAN class="punctuation token">)</SPAN>
<SPAN class="comment token">#con.close()</SPAN>
<SPAN class="keyword token">def</SPAN> <SPAN class="token function">create_tfw</SPAN><SPAN class="punctuation token">(</SPAN>self<SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">:</SPAN>
<SPAN class="keyword token">global</SPAN> path
<SPAN class="keyword token">global</SPAN> maplist
x<SPAN class="operator token">=</SPAN><SPAN class="number token">0</SPAN>
y<SPAN class="operator token">=</SPAN><SPAN class="number token">0</SPAN>
self<SPAN class="punctuation token">.</SPAN>get_map<SPAN class="punctuation token">(</SPAN><SPAN class="punctuation token">)</SPAN>
con <SPAN class="operator token">=</SPAN> cx_Oracle<SPAN class="punctuation token">.</SPAN>connect<SPAN class="punctuation token">(</SPAN>connect_string<SPAN class="punctuation token">)</SPAN>
cur <SPAN class="operator token">=</SPAN> con<SPAN class="punctuation token">.</SPAN>cursor<SPAN class="punctuation token">(</SPAN><SPAN class="punctuation token">)</SPAN>
coordnumber <SPAN class="operator token">=</SPAN> <SPAN class="string token">'1.3369988'</SPAN>
cur<SPAN class="punctuation token">.</SPAN>execute<SPAN class="punctuation token">(</SPAN><SPAN class="string token">'delete from ASSET_PLATES'</SPAN><SPAN class="punctuation token">)</SPAN>
con<SPAN class="punctuation token">.</SPAN>commit<SPAN class="punctuation token">(</SPAN><SPAN class="punctuation token">)</SPAN>
<SPAN class="keyword token">while</SPAN> x <SPAN class="operator token"><</SPAN> len<SPAN class="punctuation token">(</SPAN>maplist<SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">:</SPAN>
mapstr <SPAN class="operator token">=</SPAN> <SPAN class="string token">''</SPAN>
mapstr <SPAN class="operator token">=</SPAN> maplist<SPAN class="punctuation token">[</SPAN>x<SPAN class="punctuation token">]</SPAN>
<SPAN class="keyword token">print</SPAN> mapstr
<SPAN class="keyword token">try</SPAN><SPAN class="punctuation token">:</SPAN>
<SPAN class="keyword token">print</SPAN> path <SPAN class="operator token">+</SPAN> mapstr <SPAN class="operator token">+</SPAN><SPAN class="string token">'.tif'</SPAN>
modified_time <SPAN class="operator token">=</SPAN> time<SPAN class="punctuation token">.</SPAN>asctime<SPAN class="punctuation token">(</SPAN>time<SPAN class="punctuation token">.</SPAN>localtime<SPAN class="punctuation token">(</SPAN>os<SPAN class="punctuation token">.</SPAN>path<SPAN class="punctuation token">.</SPAN>getmtime<SPAN class="punctuation token">(</SPAN>path <SPAN class="operator token">+</SPAN> mapstr <SPAN class="operator token">+</SPAN><SPAN class="string token">'.tif'</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">)</SPAN>
cur<SPAN class="punctuation token">.</SPAN>callproc<SPAN class="punctuation token">(</SPAN><SPAN class="string token">'pkg_assets.populate_asset_plates'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="punctuation token">(</SPAN>mapstr<SPAN class="punctuation token">,</SPAN>modified_time<SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">)</SPAN>
cur<SPAN class="punctuation token">.</SPAN>execute<SPAN class="punctuation token">(</SPAN><SPAN class="string token">'SELECT b.LLX FROM PLATE_MAPS_DETAIL a, MAP_VIEWS b WHERE A.MAP_NAME = B.NAME and a.map_name = '</SPAN><SPAN class="operator token">+</SPAN><SPAN class="string token">'\''</SPAN><SPAN class="operator token">+</SPAN>mapstr<SPAN class="operator token">+</SPAN><SPAN class="string token">'\''</SPAN><SPAN class="punctuation token">)</SPAN>
coordllxlist <SPAN class="operator token">=</SPAN> cur<SPAN class="punctuation token">.</SPAN>fetchone<SPAN class="punctuation token">(</SPAN><SPAN class="punctuation token">)</SPAN>
coord_llx <SPAN class="operator token">=</SPAN> <SPAN class="string token">''</SPAN>
coord_llx <SPAN class="operator token">=</SPAN> self<SPAN class="punctuation token">.</SPAN>FormatTupleNum<SPAN class="punctuation token">(</SPAN>str<SPAN class="punctuation token">(</SPAN>coordllxlist<SPAN class="punctuation token">[</SPAN><SPAN class="number token">0</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">)</SPAN>
cur<SPAN class="punctuation token">.</SPAN>execute<SPAN class="punctuation token">(</SPAN><SPAN class="string token">'SELECT B.URY FROM PLATE_MAPS_DETAIL a, MAP_VIEWS b WHERE A.MAP_NAME = B.NAME and a.map_name = '</SPAN><SPAN class="operator token">+</SPAN><SPAN class="string token">'\''</SPAN><SPAN class="operator token">+</SPAN>mapstr<SPAN class="operator token">+</SPAN><SPAN class="string token">'\''</SPAN><SPAN class="punctuation token">)</SPAN>
coordurylist <SPAN class="operator token">=</SPAN> cur<SPAN class="punctuation token">.</SPAN>fetchone<SPAN class="punctuation token">(</SPAN><SPAN class="punctuation token">)</SPAN>
coord_ury <SPAN class="operator token">=</SPAN> <SPAN class="string token">''</SPAN>
coord_ury <SPAN class="operator token">=</SPAN> self<SPAN class="punctuation token">.</SPAN>FormatTupleNum<SPAN class="punctuation token">(</SPAN>str<SPAN class="punctuation token">(</SPAN>coordurylist<SPAN class="punctuation token">[</SPAN><SPAN class="number token">0</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">)</SPAN>
f <SPAN class="operator token">=</SPAN> open<SPAN class="punctuation token">(</SPAN>path <SPAN class="operator token">+</SPAN> maplist<SPAN class="punctuation token">[</SPAN>x<SPAN class="punctuation token">]</SPAN> <SPAN class="operator token">+</SPAN> <SPAN class="string token">'.tfw'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'w'</SPAN><SPAN class="punctuation token">)</SPAN>
f<SPAN class="punctuation token">.</SPAN>write<SPAN class="punctuation token">(</SPAN>coordnumber <SPAN class="operator token">+</SPAN> <SPAN class="string token">'\n'</SPAN><SPAN class="punctuation token">)</SPAN>
f<SPAN class="punctuation token">.</SPAN>write<SPAN class="punctuation token">(</SPAN><SPAN class="string token">'0'</SPAN> <SPAN class="operator token">+</SPAN> <SPAN class="string token">'\n'</SPAN><SPAN class="punctuation token">)</SPAN>
f<SPAN class="punctuation token">.</SPAN>write<SPAN class="punctuation token">(</SPAN><SPAN class="string token">'0'</SPAN> <SPAN class="operator token">+</SPAN> <SPAN class="string token">'\n'</SPAN><SPAN class="punctuation token">)</SPAN>
f<SPAN class="punctuation token">.</SPAN>write<SPAN class="punctuation token">(</SPAN><SPAN class="string token">'-'</SPAN><SPAN class="operator token">+</SPAN>coordnumber <SPAN class="operator token">+</SPAN> <SPAN class="string token">'\n'</SPAN><SPAN class="punctuation token">)</SPAN>
f<SPAN class="punctuation token">.</SPAN>write<SPAN class="punctuation token">(</SPAN>coord_llx <SPAN class="operator token">+</SPAN> <SPAN class="string token">'\n'</SPAN><SPAN class="punctuation token">)</SPAN>
f<SPAN class="punctuation token">.</SPAN>write<SPAN class="punctuation token">(</SPAN>coord_ury<SPAN class="punctuation token">)</SPAN>
<SPAN class="keyword token">print</SPAN> maplist<SPAN class="punctuation token">[</SPAN>x<SPAN class="punctuation token">]</SPAN> <SPAN class="operator token">+</SPAN> <SPAN class="string token">'.tfw created'</SPAN>
f<SPAN class="punctuation token">.</SPAN>close<SPAN class="punctuation token">(</SPAN><SPAN class="punctuation token">)</SPAN>
con<SPAN class="punctuation token">.</SPAN>commit<SPAN class="punctuation token">(</SPAN><SPAN class="punctuation token">)</SPAN>
<SPAN class="keyword token">except</SPAN><SPAN class="punctuation token">:</SPAN>
<SPAN class="keyword token">print</SPAN><SPAN class="string token">"Cannot find image "</SPAN> <SPAN class="operator token">+</SPAN> mapstr
x<SPAN class="operator token">=</SPAN>x<SPAN class="operator token">+</SPAN><SPAN class="number token">1</SPAN>
con<SPAN class="punctuation token">.</SPAN>commit<SPAN class="punctuation token">(</SPAN><SPAN class="punctuation token">)</SPAN>
<SPAN class="comment token">#con.close()</SPAN>
<SPAN class="keyword token">def</SPAN> <SPAN class="token function">generate_plate_gis</SPAN><SPAN class="punctuation token">(</SPAN>self<SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">:</SPAN>
<SPAN class="keyword token">global</SPAN> user
<SPAN class="keyword token">global</SPAN> maplist
<SPAN class="keyword token">global</SPAN> plates_gis
<SPAN class="keyword token">global</SPAN> local_path
<SPAN class="keyword token">global</SPAN> temp_table_conn
<SPAN class="keyword token">global</SPAN> sde_conn
<SPAN class="keyword token">global</SPAN> connect_string
con <SPAN class="operator token">=</SPAN> cx_Oracle<SPAN class="punctuation token">.</SPAN>connect<SPAN class="punctuation token">(</SPAN>connect_string<SPAN class="punctuation token">)</SPAN>
cur <SPAN class="operator token">=</SPAN> con<SPAN class="punctuation token">.</SPAN>cursor<SPAN class="punctuation token">(</SPAN><SPAN class="punctuation token">)</SPAN>
x<SPAN class="operator token">=</SPAN><SPAN class="number token">0</SPAN>
counter<SPAN class="operator token">=</SPAN><SPAN class="number token">0</SPAN>
<SPAN class="comment token">#populate new plates into ASSET_PLATES_GIS</SPAN>
cur<SPAN class="punctuation token">.</SPAN>callproc<SPAN class="punctuation token">(</SPAN><SPAN class="string token">'pkg_assets.get_new_asset_plates'</SPAN><SPAN class="punctuation token">)</SPAN>
con<SPAN class="punctuation token">.</SPAN>commit<SPAN class="punctuation token">(</SPAN><SPAN class="punctuation token">)</SPAN>
<SPAN class="comment token">#self.MakeFolder(user, plates_gis)</SPAN>
<SPAN class="keyword token">print</SPAN> local_path<SPAN class="operator token">+</SPAN>plates_gis
<SPAN class="keyword token">if</SPAN> arcpy<SPAN class="punctuation token">.</SPAN>Exists<SPAN class="punctuation token">(</SPAN>local_path<SPAN class="operator token">+</SPAN>plates_gis<SPAN class="punctuation token">)</SPAN> <SPAN class="operator token">==</SPAN> <SPAN class="token boolean">True</SPAN><SPAN class="punctuation token">:</SPAN>
<SPAN class="keyword token">while</SPAN> x <SPAN class="operator token"><</SPAN> len<SPAN class="punctuation token">(</SPAN>maplist<SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">:</SPAN>
mapstr <SPAN class="operator token">=</SPAN> <SPAN class="string token">''</SPAN>
mapstr <SPAN class="operator token">=</SPAN> maplist<SPAN class="punctuation token">[</SPAN>x<SPAN class="punctuation token">]</SPAN>
counter <SPAN class="operator token">=</SPAN> cur<SPAN class="punctuation token">.</SPAN>callfunc<SPAN class="punctuation token">(</SPAN><SPAN class="string token">'pkg_assets.update_plates'</SPAN><SPAN class="punctuation token">,</SPAN>cx_Oracle<SPAN class="punctuation token">.</SPAN>NUMBER<SPAN class="punctuation token">,</SPAN><SPAN class="punctuation token">[</SPAN>mapstr<SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">)</SPAN>
<SPAN class="keyword token">if</SPAN> counter <SPAN class="operator token">></SPAN> <SPAN class="number token">0</SPAN><SPAN class="punctuation token">:</SPAN>
<SPAN class="keyword token">print</SPAN> mapstr <SPAN class="operator token">+</SPAN> <SPAN class="string token">' will be updated.'</SPAN>
<SPAN class="keyword token">try</SPAN><SPAN class="punctuation token">:</SPAN>
sqlexpression <SPAN class="operator token">=</SPAN> <SPAN class="string token">"\"NAME\" = \'"</SPAN> <SPAN class="operator token">+</SPAN> mapstr <SPAN class="operator token">+</SPAN> <SPAN class="string token">".tif\' OR "</SPAN> <SPAN class="operator token">+</SPAN> <SPAN class="string token">"\"NAME\" = \'"</SPAN> <SPAN class="operator token">+</SPAN> mapstr <SPAN class="operator token">+</SPAN> <SPAN class="string token">".TIF\' OR "</SPAN> <SPAN class="operator token">+</SPAN><SPAN class="string token">"\"NAME\" = \'"</SPAN> <SPAN class="operator token">+</SPAN> mapstr <SPAN class="operator token">+</SPAN> <SPAN class="string token">"\'"</SPAN>
<SPAN class="keyword token">print</SPAN> sqlexpression
sttime <SPAN class="operator token">=</SPAN> datetime<SPAN class="punctuation token">.</SPAN>datetime<SPAN class="punctuation token">.</SPAN>today<SPAN class="punctuation token">(</SPAN><SPAN class="punctuation token">)</SPAN>
<SPAN class="keyword token">print</SPAN> <SPAN class="string token">'Start Time: '</SPAN> <SPAN class="operator token">+</SPAN> str<SPAN class="punctuation token">(</SPAN>sttime<SPAN class="punctuation token">)</SPAN>
arcpy<SPAN class="punctuation token">.</SPAN>MakeRasterCatalogLayer_management <SPAN class="punctuation token">(</SPAN>local_path<SPAN class="operator token">+</SPAN>plates_gis<SPAN class="punctuation token">,</SPAN> mapstr<SPAN class="operator token">+</SPAN><SPAN class="string token">"_view"</SPAN><SPAN class="punctuation token">,</SPAN> sqlexpression<SPAN class="punctuation token">,</SPAN> <SPAN class="string token">""</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">""</SPAN><SPAN class="punctuation token">)</SPAN>
sttime <SPAN class="operator token">=</SPAN> datetime<SPAN class="punctuation token">.</SPAN>datetime<SPAN class="punctuation token">.</SPAN>today<SPAN class="punctuation token">(</SPAN><SPAN class="punctuation token">)</SPAN>
<SPAN class="comment token">#print 'Make Raster: ' + str(sttime)</SPAN>
<SPAN class="comment token">#print 'Raster Created'</SPAN>
arcpy<SPAN class="punctuation token">.</SPAN>DeleteRasterCatalogItems_management<SPAN class="punctuation token">(</SPAN>mapstr<SPAN class="operator token">+</SPAN><SPAN class="string token">"_view"</SPAN><SPAN class="punctuation token">)</SPAN>
sttime <SPAN class="operator token">=</SPAN> datetime<SPAN class="punctuation token">.</SPAN>datetime<SPAN class="punctuation token">.</SPAN>today<SPAN class="punctuation token">(</SPAN><SPAN class="punctuation token">)</SPAN>
<SPAN class="comment token">#print 'Deleted Raster: ' + str(sttime)</SPAN>
<SPAN class="comment token">#print 'Deleted existing Raster Catalog record.'</SPAN>
arcpy<SPAN class="punctuation token">.</SPAN>RasterToGeodatabase_conversion<SPAN class="punctuation token">(</SPAN>path<SPAN class="operator token">+</SPAN>mapstr<SPAN class="operator token">+</SPAN><SPAN class="string token">'.tif'</SPAN><SPAN class="punctuation token">,</SPAN>local_path<SPAN class="operator token">+</SPAN>plates_gis<SPAN class="punctuation token">)</SPAN>
<SPAN class="comment token">#arcpy.RasterToGeodatabase_conversion('C:\Python_Cloud_Scripts\*********\BC1Q.tif',sde_conn+plates_gis) </SPAN>
sttime <SPAN class="operator token">=</SPAN> datetime<SPAN class="punctuation token">.</SPAN>datetime<SPAN class="punctuation token">.</SPAN>today<SPAN class="punctuation token">(</SPAN><SPAN class="punctuation token">)</SPAN>
<SPAN class="comment token">#print 'RasterTo Geo: ' + str(sttime)</SPAN>
<SPAN class="comment token">#print 'RasterToGeodatabase_conversion'</SPAN>
cur<SPAN class="punctuation token">.</SPAN>callproc<SPAN class="punctuation token">(</SPAN><SPAN class="string token">'pkg_assets.asset_plates_gis_createtime'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="punctuation token">[</SPAN>mapstr<SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">)</SPAN>
con<SPAN class="punctuation token">.</SPAN>commit<SPAN class="punctuation token">(</SPAN><SPAN class="punctuation token">)</SPAN>
<SPAN class="keyword token">print</SPAN> mapstr <SPAN class="operator token">+</SPAN><SPAN class="string token">' added to SDE Raster Catalog.'</SPAN>
<SPAN class="keyword token">except</SPAN> Exception<SPAN class="punctuation token">,</SPAN> e<SPAN class="punctuation token">:</SPAN>
<SPAN class="keyword token">print</SPAN> e<SPAN class="punctuation token">.</SPAN>message
x<SPAN class="operator token">=</SPAN>x<SPAN class="operator token">+</SPAN><SPAN class="number token">1</SPAN>
<SPAN class="comment token">#arcpy.WorkspaceToRasterCatalog_management(asset_path+plates_gis+'.gdb',sde_conn+plates_gis,"NONE","NONE")</SPAN>
<SPAN class="keyword token">else</SPAN><SPAN class="punctuation token">:</SPAN>
<SPAN class="keyword token">print</SPAN> plates_gis <SPAN class="operator token">+</SPAN> <SPAN class="string token">' does not exist'</SPAN>
con<SPAN class="punctuation token">.</SPAN>commit<SPAN class="punctuation token">(</SPAN><SPAN class="punctuation token">)</SPAN>
<SPAN class="comment token">#con.close()</SPAN>
filelist <SPAN class="operator token">=</SPAN> <SPAN class="punctuation token">[</SPAN><SPAN class="punctuation token">]</SPAN>
files <SPAN class="operator token">=</SPAN> os<SPAN class="punctuation token">.</SPAN>listdir <SPAN class="punctuation token">(</SPAN>local_path<SPAN class="punctuation token">)</SPAN>
<SPAN class="keyword token">for</SPAN> filename <SPAN class="keyword token">in</SPAN> files<SPAN class="punctuation token">:</SPAN>
<SPAN class="keyword token">if</SPAN> filename<SPAN class="punctuation token">.</SPAN>endswith<SPAN class="punctuation token">(</SPAN><SPAN class="string token">".lock"</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">:</SPAN>
<SPAN class="keyword token">print</SPAN> <SPAN class="string token">'lock'</SPAN>
<SPAN class="keyword token">else</SPAN><SPAN class="punctuation token">:</SPAN>
filelist<SPAN class="punctuation token">.</SPAN>append<SPAN class="punctuation token">(</SPAN>filename<SPAN class="punctuation token">)</SPAN>
fullpath <SPAN class="operator token">=</SPAN> local_path <SPAN class="operator token">+</SPAN> filename
shutil<SPAN class="punctuation token">.</SPAN>copy<SPAN class="punctuation token">(</SPAN>fullpath<SPAN class="punctuation token">,</SPAN> final_path<SPAN class="punctuation token">)</SPAN>
<SPAN class="comment token">#shutil.copy(local_path, final_path)</SPAN>
self<SPAN class="punctuation token">.</SPAN>end_process<SPAN class="punctuation token">(</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="line-numbers-rows"><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN></SPAN>If needed we could just add to the current code and move it into the mosaic dataset from the GDB. Any...any...help would be massively appreciated as we are all at our programming limits.