Guest User

Untitled

a guest
May 20th, 2018
115
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.12 KB | None | 0 0
  1. import arcpy
  2.  
  3. if arcpy.Exists("C:/Temp/Test.gdb"):
  4. arcpy.Delete_management("C:/Temp/Test.gdb")
  5.  
  6. arcpy.CreateFileGDB_management("C:/Temp","Test","CURRENT")
  7. arcpy.CreateFeatureDataset_management("C:/Temp/Test.gdb","TestFD")
  8. arcpy.CreateFishnet_management("C:/Temp/Test.gdb/TestFD/TestFishnetPoly",
  9. "0 0","0 1","1","1","4","4","",
  10. "NO_LABELS","DEFAULT","POLYGON")
  11. arcpy.Intersect_analysis("C:/Temp/Test.gdb/TestFD/TestFishnetPoly #",
  12. "C:/Temp/Test.gdb/TestFD/TestFishnetLine",
  13. "ALL","-1 Unknown","LINE")
  14. arcpy.Dissolve_management("C:/Temp/Test.gdb/TestFD/TestFishnetLine",
  15. "C:/Temp/Test.gdb/TestFD/TestStreet",
  16. "","","SINGLE_PART","DISSOLVE_LINES")
  17. arcpy.AddField_management("C:/Temp/Test.gdb/TestFD/TestStreet","StreetID","LONG")
  18. arcpy.CalculateField_management("C:/Temp/Test.gdb/TestFD/TestStreet","StreetID","!OBJECTID!","PYTHON_9.3")
  19. arcpy.CreateTable_management("C:/Temp/Test.gdb","TurnNotAllowed")
  20.  
  21. arcpy.AddField_management("C:/Temp/Test.gdb/TurnNotAllowed","FromStreetID","LONG")
  22. arcpy.AddField_management("C:/Temp/Test.gdb/TurnNotAllowed","ToStreetID","LONG")
  23.  
  24. cursor = arcpy.da.InsertCursor("C:/Temp/Test.gdb/TurnNotAllowed",["FromStreetID","ToStreetID"])
  25. cursor.insertRow([8,9])
  26. del cursor
  27.  
  28. arcpy.CreateTurnFeatureClass_na("C:/Temp/Test.gdb/TestFD","TestTurnFC","5")
  29. arcpy.AddField_management("C:/Temp/Test.gdb/TestFD/TestTurnFC","TurnPermitted","SHORT")
  30.  
  31. import arcpy
  32.  
  33. turnNotAllowedList = [[row[0],row[1]] for row in arcpy.da.SearchCursor(
  34. "C:/Temp/Test.gdb/TurnNotAllowed",["FromStreetID","ToStreetID"])]
  35. print turnNotAllowedList
  36.  
  37. streetDict = {row[1]: row[0].positionAlongLine(0.5,True).firstPoint for row in arcpy.da.SearchCursor(
  38. "C:/Temp/Test.gdb/TestFD/TestStreet", ["SHAPE@","StreetID"])}
  39. print streetDict
  40.  
  41. edit = arcpy.da.Editor("C:/Temp/Test.gdb")
  42. edit.startEditing(False,False)
  43. edit.startOperation()
  44.  
  45. cursor = arcpy.da.InsertCursor("C:/Temp/Test.gdb/TestFD/TestTurnFC",
  46. ["SHAPE@","TurnPermitted"])
  47. for turn in turnNotAllowedList:
  48. array = arcpy.Array()
  49. array.add(streetDict[turn[0]])
  50. array.add(streetDict[turn[1]])
  51. polyline = arcpy.Polyline(array)
  52. cursor.insertRow([polyline,-1])
  53. del cursor
  54.  
  55. edit.stopOperation()
  56. edit.stopEditing(True)
  57.  
  58. import arcpy
  59.  
  60. if arcpy.Exists("C:/Temp/Test.gdb"):
  61. arcpy.Delete_management("C:/Temp/Test.gdb")
  62.  
  63. arcpy.CreateFileGDB_management("C:/Temp","Test","CURRENT")
  64. arcpy.CreateFeatureDataset_management("C:/Temp/Test.gdb","TestFD")
  65. arcpy.CreateFishnet_management("C:/Temp/Test.gdb/TestFD/TestFishnetPoly",
  66. "0 0","0 1","1","1","4","4","",
  67. "NO_LABELS","DEFAULT","POLYGON")
  68. arcpy.Intersect_analysis("C:/Temp/Test.gdb/TestFD/TestFishnetPoly #",
  69. "C:/Temp/Test.gdb/TestFD/TestFishnetLine",
  70. "ALL","-1 Unknown","LINE")
  71. arcpy.Dissolve_management("C:/Temp/Test.gdb/TestFD/TestFishnetLine",
  72. "C:/Temp/Test.gdb/TestFD/TestStreet",
  73. "","","SINGLE_PART","DISSOLVE_LINES")
  74. arcpy.AddField_management("C:/Temp/Test.gdb/TestFD/TestStreet","StreetID","LONG")
  75. arcpy.CalculateField_management("C:/Temp/Test.gdb/TestFD/TestStreet","StreetID","!OBJECTID!","PYTHON_9.3")
  76. arcpy.CreateTable_management("C:/Temp/Test.gdb","TurnNotAllowed")
  77.  
  78. arcpy.AddField_management("C:/Temp/Test.gdb/TurnNotAllowed","FromStreetID","LONG")
  79. arcpy.AddField_management("C:/Temp/Test.gdb/TurnNotAllowed","ToStreetID","LONG")
  80.  
  81. cursor = arcpy.da.InsertCursor("C:/Temp/Test.gdb/TurnNotAllowed",["FromStreetID","ToStreetID"])
  82. cursor.insertRow([8,9])
  83. cursor.insertRow([10,11])
  84. del cursor
  85.  
  86. arcpy.CreateTurnFeatureClass_na("C:/Temp/Test.gdb/TestFD","TestTurnFC","5")
  87. arcpy.AddField_management("C:/Temp/Test.gdb/TestFD/TestTurnFC","TurnPermitted","SHORT")
  88.  
  89. arcpy.CreateFeatureclass_management(out_path="C:/Temp/Test.gdb/TestFD", out_name="TurnLines", geometry_type="POLYLINE", template="", has_m="DISABLED", has_z="DISABLED", spatial_reference="GEOGCS['GCS_GDA_1994',DATUM['D_GDA_1994',SPHEROID['GRS_1980',6378137.0,298.257222101]],PRIMEM['Greenwich',0.0],UNIT['Degree',0.0174532925199433]];-400 -400 1000000000;-100000 10000;-100000 10000;8.98315284119521E-09;0.001;0.001;IsHighPrecision", config_keyword="", spatial_grid_1="0", spatial_grid_2="0", spatial_grid_3="0")
  90. arcpy.AddField_management("C:/Temp/Test.gdb/TestFD/TurnLines","TurnPermitted","SHORT")
  91.  
  92. turnNotAllowedList = [[row[0],row[1]] for row in arcpy.da.SearchCursor(
  93. "C:/Temp/Test.gdb/TurnNotAllowed",["FromStreetID","ToStreetID"])]
  94. print turnNotAllowedList
  95.  
  96. streetDict = {row[1]: row[0].positionAlongLine(0.5,True).firstPoint for row in arcpy.da.SearchCursor(
  97. "C:/Temp/Test.gdb/TestFD/TestStreet", ["SHAPE@","StreetID"])}
  98. print streetDict
  99.  
  100. cursor = arcpy.da.InsertCursor("C:/Temp/Test.gdb/TestFD/TurnLines",
  101. ["SHAPE@","TurnPermitted"])
  102. for turn in turnNotAllowedList:
  103. array = arcpy.Array()
  104. array.add(streetDict[turn[0]])
  105. array.add(streetDict[turn[1]])
  106. polyline = arcpy.Polyline(array)
  107. cursor.insertRow([polyline,-1])
  108. del cursor
Add Comment
Please, Sign In to add comment