Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import arcpy
- if arcpy.Exists("C:/Temp/Test.gdb"):
- arcpy.Delete_management("C:/Temp/Test.gdb")
- arcpy.CreateFileGDB_management("C:/Temp","Test","CURRENT")
- arcpy.CreateFeatureDataset_management("C:/Temp/Test.gdb","TestFD")
- arcpy.CreateFishnet_management("C:/Temp/Test.gdb/TestFD/TestFishnetPoly",
- "0 0","0 1","1","1","4","4","",
- "NO_LABELS","DEFAULT","POLYGON")
- arcpy.Intersect_analysis("C:/Temp/Test.gdb/TestFD/TestFishnetPoly #",
- "C:/Temp/Test.gdb/TestFD/TestFishnetLine",
- "ALL","-1 Unknown","LINE")
- arcpy.Dissolve_management("C:/Temp/Test.gdb/TestFD/TestFishnetLine",
- "C:/Temp/Test.gdb/TestFD/TestStreet",
- "","","SINGLE_PART","DISSOLVE_LINES")
- arcpy.AddField_management("C:/Temp/Test.gdb/TestFD/TestStreet","StreetID","LONG")
- arcpy.CalculateField_management("C:/Temp/Test.gdb/TestFD/TestStreet","StreetID","!OBJECTID!","PYTHON_9.3")
- arcpy.CreateTable_management("C:/Temp/Test.gdb","TurnNotAllowed")
- arcpy.AddField_management("C:/Temp/Test.gdb/TurnNotAllowed","FromStreetID","LONG")
- arcpy.AddField_management("C:/Temp/Test.gdb/TurnNotAllowed","ToStreetID","LONG")
- cursor = arcpy.da.InsertCursor("C:/Temp/Test.gdb/TurnNotAllowed",["FromStreetID","ToStreetID"])
- cursor.insertRow([8,9])
- del cursor
- arcpy.CreateTurnFeatureClass_na("C:/Temp/Test.gdb/TestFD","TestTurnFC","5")
- arcpy.AddField_management("C:/Temp/Test.gdb/TestFD/TestTurnFC","TurnPermitted","SHORT")
- import arcpy
- turnNotAllowedList = [[row[0],row[1]] for row in arcpy.da.SearchCursor(
- "C:/Temp/Test.gdb/TurnNotAllowed",["FromStreetID","ToStreetID"])]
- print turnNotAllowedList
- streetDict = {row[1]: row[0].positionAlongLine(0.5,True).firstPoint for row in arcpy.da.SearchCursor(
- "C:/Temp/Test.gdb/TestFD/TestStreet", ["SHAPE@","StreetID"])}
- print streetDict
- edit = arcpy.da.Editor("C:/Temp/Test.gdb")
- edit.startEditing(False,False)
- edit.startOperation()
- cursor = arcpy.da.InsertCursor("C:/Temp/Test.gdb/TestFD/TestTurnFC",
- ["SHAPE@","TurnPermitted"])
- for turn in turnNotAllowedList:
- array = arcpy.Array()
- array.add(streetDict[turn[0]])
- array.add(streetDict[turn[1]])
- polyline = arcpy.Polyline(array)
- cursor.insertRow([polyline,-1])
- del cursor
- edit.stopOperation()
- edit.stopEditing(True)
- import arcpy
- if arcpy.Exists("C:/Temp/Test.gdb"):
- arcpy.Delete_management("C:/Temp/Test.gdb")
- arcpy.CreateFileGDB_management("C:/Temp","Test","CURRENT")
- arcpy.CreateFeatureDataset_management("C:/Temp/Test.gdb","TestFD")
- arcpy.CreateFishnet_management("C:/Temp/Test.gdb/TestFD/TestFishnetPoly",
- "0 0","0 1","1","1","4","4","",
- "NO_LABELS","DEFAULT","POLYGON")
- arcpy.Intersect_analysis("C:/Temp/Test.gdb/TestFD/TestFishnetPoly #",
- "C:/Temp/Test.gdb/TestFD/TestFishnetLine",
- "ALL","-1 Unknown","LINE")
- arcpy.Dissolve_management("C:/Temp/Test.gdb/TestFD/TestFishnetLine",
- "C:/Temp/Test.gdb/TestFD/TestStreet",
- "","","SINGLE_PART","DISSOLVE_LINES")
- arcpy.AddField_management("C:/Temp/Test.gdb/TestFD/TestStreet","StreetID","LONG")
- arcpy.CalculateField_management("C:/Temp/Test.gdb/TestFD/TestStreet","StreetID","!OBJECTID!","PYTHON_9.3")
- arcpy.CreateTable_management("C:/Temp/Test.gdb","TurnNotAllowed")
- arcpy.AddField_management("C:/Temp/Test.gdb/TurnNotAllowed","FromStreetID","LONG")
- arcpy.AddField_management("C:/Temp/Test.gdb/TurnNotAllowed","ToStreetID","LONG")
- cursor = arcpy.da.InsertCursor("C:/Temp/Test.gdb/TurnNotAllowed",["FromStreetID","ToStreetID"])
- cursor.insertRow([8,9])
- cursor.insertRow([10,11])
- del cursor
- arcpy.CreateTurnFeatureClass_na("C:/Temp/Test.gdb/TestFD","TestTurnFC","5")
- arcpy.AddField_management("C:/Temp/Test.gdb/TestFD/TestTurnFC","TurnPermitted","SHORT")
- 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")
- arcpy.AddField_management("C:/Temp/Test.gdb/TestFD/TurnLines","TurnPermitted","SHORT")
- turnNotAllowedList = [[row[0],row[1]] for row in arcpy.da.SearchCursor(
- "C:/Temp/Test.gdb/TurnNotAllowed",["FromStreetID","ToStreetID"])]
- print turnNotAllowedList
- streetDict = {row[1]: row[0].positionAlongLine(0.5,True).firstPoint for row in arcpy.da.SearchCursor(
- "C:/Temp/Test.gdb/TestFD/TestStreet", ["SHAPE@","StreetID"])}
- print streetDict
- cursor = arcpy.da.InsertCursor("C:/Temp/Test.gdb/TestFD/TurnLines",
- ["SHAPE@","TurnPermitted"])
- for turn in turnNotAllowedList:
- array = arcpy.Array()
- array.add(streetDict[turn[0]])
- array.add(streetDict[turn[1]])
- polyline = arcpy.Polyline(array)
- cursor.insertRow([polyline,-1])
- del cursor
Add Comment
Please, Sign In to add comment