"""
Tesing the detect Gaps
"""
#import arcpy module
import arcpy
#Chcek out any necessary to licnes
arcpy.CheckOutExtension("Calgary1_done")
#local variables set
setNetwork = r"G:\Jason Ma\2022Q3 HERE shapefiles\Corridors\Old corridors\Calgary1_done"
#event =
final_gaps_output= r"G:\Jason Ma\2022Q3 HERE shapefiles\Corridors\Old corridors\New_Gaps_Cal1"
#Detect the GAPS in the linear events
arcpy.env.overwriteOutput = 1
arcpy.DetectGapsForLinearEvents_locref(setNetwork, final_gaps_output)
Hello all staff of Esri,
I am trying to create a function which detect gaps within road layer, seems that the library from Arcpy is not reading the module correctly in of the arcpy functions:
Error:
Runtime error
Traceback (most recent call last):
File "<string>", line 18, in <module>
AttributeError: 'module' object has no attribute 'DetectGapsForLinearEvents_locref'
>>>
Any suggests and Help I glad to hear , Thanks you
This is not available in Pro / Py 3.0.
unavailable-tools - Location Referecing Tools section
You'll have to use the arcpy 2.7 version if you want to use that method DetectGapsForLinearEvents_locref
Hey @Anonymous User ,
Thanks for the reply, Yes I believe I understand the version difference, I did run the script in the 3.8 version, but the ArcMAP desktop I have is build-in fixed as 2.7, do the method DetectGapsForLinearEvents_locref should have recognized from the library, but I do not why arcpy is not reading the method and/or not found. Is there something I am missing? From the Code above?
That is expected because arcpy modules are independent per python version and python environment.
Since you ran it in 3.8, it is looking at the 3.8 arcpy module within the 3.8 environment and it doesn't reach out to 2.7.
You have to point your IDE to which python version you want the script to execute in, so it would be using the C:\Python27\ArcGIS10.x\python.exe and 2.7 arcpy module, where the DetectGapsForLinearEvents_locref is.
Hello @Anonymous User ,
Thank for the reply, I will see if IDE script which I can run maybe using 2.7 script rather than the 3.8 script environment. My question is I am running the above script directly in the ArcMap python build-in which is fixed 2.7 version , but I used version , I didnt run it in 3.8 IDE since there are no arcpy build into it. If you understand what I mean ? OR if there is something I am missing , please let me know
Thanks again for the help and comments
Not sure if I follow that, are you running it in Pro, or ArcMap?
If you are in 2.7, the docs show that you need the 'Roads and Highways' extension (not Calgary1_done- which looks like it is something else) and you are missing a required parameter at the event argument. Your out_feature is in the in_event slot:
arcpy.locref.DetectGapsForLinearEvents(in_network, in_event, out_feature, {in_tvd}, {in_from_measure}, {in_to_measure}, {in_tolerance})
Hey @Anonymous User ,
I am running ArcMap 10.8 and built in python version 2.7 , Calgary1_done is just a city work I m trying correct urban areas. I want to see if I can make a Gap script to indenified missing data and gaps within these city. I need these parameters possible to make it work ? I thought I needed a local variable where need set to my folder thats all'
Thanks
also what are functions of these parameters?
in_network, in_event, out_feature, {in_tvd}, {in_from_measure}, {in_to_measure}, {in_tolerance}
Check out the docs for the explanation of those arguments:
Thanks @Anonymous User for the post,my apologies for intrusion, I put on the arguments and other parameters where necessary according to your instructions and I not why python 2.7 shell was not able to read library locref as you wrote , I received this error :
Traceback (most recent call last):
File "G:\Jason Ma\Python scripts\CCTD\GapDetect.py", line 7, in <module>
from locref import DetectGapsForLinearEvents
ImportError: No module named locref
"""
Tesing the detect Gaps
"""
#import arcpy module
import arcpy
from arcpy import env
#from locref import DetectGapsForLinearEvents
#Chcek out any necessary to licnes
arcpy.CheckOutExtension("Calgary1_done")
#local variables set
setNetwork = r"G:\Jason Ma\2022Q3 HERE shapefiles\Corridors\Old corridors\Calgary1_done"
#event =
final_gaps_output= r"G:\Jason Ma\2022Q3 HERE shapefiles\Corridors\Old corridors\New_Gaps_Cal1"
#Detect the GAPS in the linear events
arcpy.env.overwriteOutput = 1
arcpy.DetectGapsForLinearEvents_roads(in_network,in_event,out_feature,{in_tvd},{in_from_measure},{in_to_measure},{in_tolerance},setNetwork, final_gaps_output)
@Anonymous User wrote:Check out the docs for the explanation of those arguments:
roads-and-highways-toolbox/detect-gaps-for-linear-events