Automatically moving overlapping features using ArcGIS Desktop?Merge overlapping lines in ArcGISHow to generate discrete areas from multiple, overlapping features?Creating Layer for Selected Features, then Moving it using ArcGIS for Desktop?Using multi-part line features in network analysis?Filtering polyline features by direction using ArcGIS 10.2 (or ArcPy)Changing position of polygons in ArcGIS Desktop?How to select the highest points in overlapping point features?Combining overlapping polygons and their attributes using ArcGIS Desktop?Select point by number of overlapping featuresSectorizing census blocks using ArcGIS Desktop?

In Romance of the Three Kingdoms why do people still use bamboo sticks when papers are already invented?

Is it possible to create light that imparts a greater proportion of its energy as momentum rather than heat?

Twin primes whose sum is a cube

Is the Joker left-handed?

Can I use a neutral wire from another outlet to repair a broken neutral?

What exploit are these user agents trying to use?

How much of data wrangling is a data scientist's job?

Stopping power of mountain vs road bike

intersection of two sorted vectors in C++

90's TV series where a boy goes to another dimension through portal near power lines

How to model explosives?

How to show the equivalence between the regularized regression and their constraint formulas using KKT

Doing something right before you need it - expression for this?

What killed these X2 caps?

Neighboring nodes in the network

Can I ask the recruiters in my resume to put the reason why I am rejected?

Forgetting the musical notes while performing in concert

Does casting Light, or a similar spell, have any effect when the caster is swallowed by a monster?

Why do I get two different answers for this counting problem?

Facing a paradox: Earnshaw's theorem in one dimension

What does it mean to describe someone as a butt steak?

Diode datasheet reading

Brothers & sisters

I Accidentally Deleted a Stock Terminal Theme



Automatically moving overlapping features using ArcGIS Desktop?


Merge overlapping lines in ArcGISHow to generate discrete areas from multiple, overlapping features?Creating Layer for Selected Features, then Moving it using ArcGIS for Desktop?Using multi-part line features in network analysis?Filtering polyline features by direction using ArcGIS 10.2 (or ArcPy)Changing position of polygons in ArcGIS Desktop?How to select the highest points in overlapping point features?Combining overlapping polygons and their attributes using ArcGIS Desktop?Select point by number of overlapping featuresSectorizing census blocks using ArcGIS Desktop?






.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;








4















I am using ArcGIS 10.4.1. I make a map. I am have two shapefiles: one polyline and one polygon. The polyline is a road and polygon is a building.



The shapefiles overlap. I want to automatically resolve the overlapping features. I want to make a "After" picture.



If polygon is placed at the center of the line, it doesn't matter which direction it moves. You only need to move to either side. I want to moving distance is likely to be 15m-20m away from the road. The building should be located only near the road as shown.



I wonder if ArcGIS can automatically shift buildings by road.



I don't have programming skills. However, the GIS program is well used.I hope to solve this problem with ArcGIS.



How to automatically move overlapping features?



enter image description here



The above figure is one line and the figure below is three lines. The three lines mean the center line of the road and the two outside mean the width of the road










share|improve this question



















  • 1





    Welcome to Geographic Information Systems. Please follow the tour to learn how to ask a detailed question to attract good answers. Please tell us what you've tried so far and what type of solutions you're open to. That is, do you have programming skills? Or are you after and "out of the box" solution? This type of problem could likely be solved using python and cursors. How much do you want to move the features? How far away from the lines can the polygons be? Can they be touching at all?

    – Fezter
    Mar 6 '17 at 3:50











  • I agree that there is enough info here. OP has added info as well. It's an interesting question. It should stay open @Fezter

    – jbalk
    Mar 6 '17 at 7:24











  • @ilmare do you have Advanced License?

    – BERA
    Mar 6 '17 at 14:23












  • @BERA yes, i have

    – ilmare
    Mar 7 '17 at 0:24











  • An error occurs: Runtime error Traceback (most recent call last): File "<string>", line 20, in <module> File "c:program files (x86)arcgisdesktop10.6arcpyarcpymanagement.py", line 6560, in AddJoin raise e ExecuteError: ERROR 000229: Cannot open polygon_lyr Failed to execute (AddJoin).

    – sonia agnihotri
    Apr 1 at 17:16

















4















I am using ArcGIS 10.4.1. I make a map. I am have two shapefiles: one polyline and one polygon. The polyline is a road and polygon is a building.



The shapefiles overlap. I want to automatically resolve the overlapping features. I want to make a "After" picture.



If polygon is placed at the center of the line, it doesn't matter which direction it moves. You only need to move to either side. I want to moving distance is likely to be 15m-20m away from the road. The building should be located only near the road as shown.



I wonder if ArcGIS can automatically shift buildings by road.



I don't have programming skills. However, the GIS program is well used.I hope to solve this problem with ArcGIS.



How to automatically move overlapping features?



enter image description here



The above figure is one line and the figure below is three lines. The three lines mean the center line of the road and the two outside mean the width of the road










share|improve this question



















  • 1





    Welcome to Geographic Information Systems. Please follow the tour to learn how to ask a detailed question to attract good answers. Please tell us what you've tried so far and what type of solutions you're open to. That is, do you have programming skills? Or are you after and "out of the box" solution? This type of problem could likely be solved using python and cursors. How much do you want to move the features? How far away from the lines can the polygons be? Can they be touching at all?

    – Fezter
    Mar 6 '17 at 3:50











  • I agree that there is enough info here. OP has added info as well. It's an interesting question. It should stay open @Fezter

    – jbalk
    Mar 6 '17 at 7:24











  • @ilmare do you have Advanced License?

    – BERA
    Mar 6 '17 at 14:23












  • @BERA yes, i have

    – ilmare
    Mar 7 '17 at 0:24











  • An error occurs: Runtime error Traceback (most recent call last): File "<string>", line 20, in <module> File "c:program files (x86)arcgisdesktop10.6arcpyarcpymanagement.py", line 6560, in AddJoin raise e ExecuteError: ERROR 000229: Cannot open polygon_lyr Failed to execute (AddJoin).

    – sonia agnihotri
    Apr 1 at 17:16













4












4








4


1






I am using ArcGIS 10.4.1. I make a map. I am have two shapefiles: one polyline and one polygon. The polyline is a road and polygon is a building.



The shapefiles overlap. I want to automatically resolve the overlapping features. I want to make a "After" picture.



If polygon is placed at the center of the line, it doesn't matter which direction it moves. You only need to move to either side. I want to moving distance is likely to be 15m-20m away from the road. The building should be located only near the road as shown.



I wonder if ArcGIS can automatically shift buildings by road.



I don't have programming skills. However, the GIS program is well used.I hope to solve this problem with ArcGIS.



How to automatically move overlapping features?



enter image description here



The above figure is one line and the figure below is three lines. The three lines mean the center line of the road and the two outside mean the width of the road










share|improve this question
















I am using ArcGIS 10.4.1. I make a map. I am have two shapefiles: one polyline and one polygon. The polyline is a road and polygon is a building.



The shapefiles overlap. I want to automatically resolve the overlapping features. I want to make a "After" picture.



If polygon is placed at the center of the line, it doesn't matter which direction it moves. You only need to move to either side. I want to moving distance is likely to be 15m-20m away from the road. The building should be located only near the road as shown.



I wonder if ArcGIS can automatically shift buildings by road.



I don't have programming skills. However, the GIS program is well used.I hope to solve this problem with ArcGIS.



How to automatically move overlapping features?



enter image description here



The above figure is one line and the figure below is three lines. The three lines mean the center line of the road and the two outside mean the width of the road







arcgis-desktop arcpy arcgis-10.4 overlapping-features






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Apr 1 at 17:46









BERA

16.9k62044




16.9k62044










asked Mar 6 '17 at 1:16









ilmareilmare

254




254







  • 1





    Welcome to Geographic Information Systems. Please follow the tour to learn how to ask a detailed question to attract good answers. Please tell us what you've tried so far and what type of solutions you're open to. That is, do you have programming skills? Or are you after and "out of the box" solution? This type of problem could likely be solved using python and cursors. How much do you want to move the features? How far away from the lines can the polygons be? Can they be touching at all?

    – Fezter
    Mar 6 '17 at 3:50











  • I agree that there is enough info here. OP has added info as well. It's an interesting question. It should stay open @Fezter

    – jbalk
    Mar 6 '17 at 7:24











  • @ilmare do you have Advanced License?

    – BERA
    Mar 6 '17 at 14:23












  • @BERA yes, i have

    – ilmare
    Mar 7 '17 at 0:24











  • An error occurs: Runtime error Traceback (most recent call last): File "<string>", line 20, in <module> File "c:program files (x86)arcgisdesktop10.6arcpyarcpymanagement.py", line 6560, in AddJoin raise e ExecuteError: ERROR 000229: Cannot open polygon_lyr Failed to execute (AddJoin).

    – sonia agnihotri
    Apr 1 at 17:16












  • 1





    Welcome to Geographic Information Systems. Please follow the tour to learn how to ask a detailed question to attract good answers. Please tell us what you've tried so far and what type of solutions you're open to. That is, do you have programming skills? Or are you after and "out of the box" solution? This type of problem could likely be solved using python and cursors. How much do you want to move the features? How far away from the lines can the polygons be? Can they be touching at all?

    – Fezter
    Mar 6 '17 at 3:50











  • I agree that there is enough info here. OP has added info as well. It's an interesting question. It should stay open @Fezter

    – jbalk
    Mar 6 '17 at 7:24











  • @ilmare do you have Advanced License?

    – BERA
    Mar 6 '17 at 14:23












  • @BERA yes, i have

    – ilmare
    Mar 7 '17 at 0:24











  • An error occurs: Runtime error Traceback (most recent call last): File "<string>", line 20, in <module> File "c:program files (x86)arcgisdesktop10.6arcpyarcpymanagement.py", line 6560, in AddJoin raise e ExecuteError: ERROR 000229: Cannot open polygon_lyr Failed to execute (AddJoin).

    – sonia agnihotri
    Apr 1 at 17:16







1




1





Welcome to Geographic Information Systems. Please follow the tour to learn how to ask a detailed question to attract good answers. Please tell us what you've tried so far and what type of solutions you're open to. That is, do you have programming skills? Or are you after and "out of the box" solution? This type of problem could likely be solved using python and cursors. How much do you want to move the features? How far away from the lines can the polygons be? Can they be touching at all?

– Fezter
Mar 6 '17 at 3:50





Welcome to Geographic Information Systems. Please follow the tour to learn how to ask a detailed question to attract good answers. Please tell us what you've tried so far and what type of solutions you're open to. That is, do you have programming skills? Or are you after and "out of the box" solution? This type of problem could likely be solved using python and cursors. How much do you want to move the features? How far away from the lines can the polygons be? Can they be touching at all?

– Fezter
Mar 6 '17 at 3:50













I agree that there is enough info here. OP has added info as well. It's an interesting question. It should stay open @Fezter

– jbalk
Mar 6 '17 at 7:24





I agree that there is enough info here. OP has added info as well. It's an interesting question. It should stay open @Fezter

– jbalk
Mar 6 '17 at 7:24













@ilmare do you have Advanced License?

– BERA
Mar 6 '17 at 14:23






@ilmare do you have Advanced License?

– BERA
Mar 6 '17 at 14:23














@BERA yes, i have

– ilmare
Mar 7 '17 at 0:24





@BERA yes, i have

– ilmare
Mar 7 '17 at 0:24













An error occurs: Runtime error Traceback (most recent call last): File "<string>", line 20, in <module> File "c:program files (x86)arcgisdesktop10.6arcpyarcpymanagement.py", line 6560, in AddJoin raise e ExecuteError: ERROR 000229: Cannot open polygon_lyr Failed to execute (AddJoin).

– sonia agnihotri
Apr 1 at 17:16





An error occurs: Runtime error Traceback (most recent call last): File "<string>", line 20, in <module> File "c:program files (x86)arcgisdesktop10.6arcpyarcpymanagement.py", line 6560, in AddJoin raise e ExecuteError: ERROR 000229: Cannot open polygon_lyr Failed to execute (AddJoin).

– sonia agnihotri
Apr 1 at 17:16










1 Answer
1






active

oldest

votes


















3














Script below use Near tool to calculate distance and angle from polygon centroids to nearest line and then move them either closer or further away depending on the specified desired distance. Create a File Geodatabase and import the shapefiles and use as inputs in script.



You can execute the code in the Python window in ArcMap.



import arcpy,math
#Inputs, change paths and fc names to match your data
polygon_fc=r'C:TEST.gdbSample_points_buffer'
line_fc=r'C:TEST.gdbLine'
#Output, change path (and fc name if you want)
output_polygon_fc=r'C:TEST.gdbSample_points_buffer_near'
#Desired distance from polygon centroids to nearest line. Change
desired_distance=200

temp_points=r'in_memorypoints'

def bearing_to_radians(bearing):
return math.radians((450-bearing)%360)

#Create centroid points, calculate near distance and angle and join this to polygons
arcpy.FeatureToPoint_management(in_features=polygon_fc, out_feature_class=temp_points)
arcpy.Near_analysis(in_features=temp_points, near_features=line_fc,location=True, angle=True, method='PLANAR')
arcpy.MakeFeatureLayer_management(in_features=polygon_fc, out_layer='polygon_lyr')
arcpy.AddJoin_management(in_layer_or_view='polygon_lyr', in_field='OBJECTID', join_table=temp_points,
join_field='OBJECTID')
arcpy.CopyFeatures_management(in_features='polygon_lyr', out_feature_class=output_polygon_fc)

#Move the polygons
with arcpy.da.UpdateCursor(output_polygon_fc,['SHAPE@X','SHAPE@Y','points_NEAR_DIST','points_NEAR_ANGLE']) as cursor:
for row in cursor:
newx=row[0]+(row[2]-desired_distance)*math.sin(bearing_to_radians(row[3]))
newy=row[1]+(row[2]-desired_distance)*math.cos(bearing_to_radians(row[3]))
row[0]=newx
row[1]=newy
cursor.updateRow(row)


enter image description here



How to create a File Geodatabase and import shapefiles:



enter image description here






share|improve this answer

























  • An error occurs : --- Runtime error Traceback (most recent call last): File "<string>", line 15, in <module> File "c:program files (x86)arcgisdesktop10.4arcpyarcpymanagement.py", line 2483, in FeatureToPoint raise e ExecuteError: ERROR 000732: Input Features: Dataset C:TEST.gdbSample_points_buffer does not exist or is not supported. --- The path of the data is exactly the same.

    – ilmare
    Mar 7 '17 at 7:42












  • You need to change the paths to match your data. If you have shapefile inputs i would export them to a file geodatabase and use as inputs.

    – BERA
    Mar 7 '17 at 7:45












  • I'll try again.

    – ilmare
    Mar 7 '17 at 7:53











  • An error occurs : --- Runtime error Traceback (most recent call last): File "<string>", line 25, in <module> RuntimeError: A column was specified that does not exist.-----

    – ilmare
    Mar 8 '17 at 0:43












  • If you add the output polygon to arcgis, do they have the columns 'points_NEAR_DIST' and 'points_NEAR_ANGLE'?

    – BERA
    Mar 8 '17 at 6:24











Your Answer








StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "79"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);

else
createEditor();

);

function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);



);













draft saved

draft discarded


















StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fgis.stackexchange.com%2fquestions%2f230889%2fautomatically-moving-overlapping-features-using-arcgis-desktop%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown

























1 Answer
1






active

oldest

votes








1 Answer
1






active

oldest

votes









active

oldest

votes






active

oldest

votes









3














Script below use Near tool to calculate distance and angle from polygon centroids to nearest line and then move them either closer or further away depending on the specified desired distance. Create a File Geodatabase and import the shapefiles and use as inputs in script.



You can execute the code in the Python window in ArcMap.



import arcpy,math
#Inputs, change paths and fc names to match your data
polygon_fc=r'C:TEST.gdbSample_points_buffer'
line_fc=r'C:TEST.gdbLine'
#Output, change path (and fc name if you want)
output_polygon_fc=r'C:TEST.gdbSample_points_buffer_near'
#Desired distance from polygon centroids to nearest line. Change
desired_distance=200

temp_points=r'in_memorypoints'

def bearing_to_radians(bearing):
return math.radians((450-bearing)%360)

#Create centroid points, calculate near distance and angle and join this to polygons
arcpy.FeatureToPoint_management(in_features=polygon_fc, out_feature_class=temp_points)
arcpy.Near_analysis(in_features=temp_points, near_features=line_fc,location=True, angle=True, method='PLANAR')
arcpy.MakeFeatureLayer_management(in_features=polygon_fc, out_layer='polygon_lyr')
arcpy.AddJoin_management(in_layer_or_view='polygon_lyr', in_field='OBJECTID', join_table=temp_points,
join_field='OBJECTID')
arcpy.CopyFeatures_management(in_features='polygon_lyr', out_feature_class=output_polygon_fc)

#Move the polygons
with arcpy.da.UpdateCursor(output_polygon_fc,['SHAPE@X','SHAPE@Y','points_NEAR_DIST','points_NEAR_ANGLE']) as cursor:
for row in cursor:
newx=row[0]+(row[2]-desired_distance)*math.sin(bearing_to_radians(row[3]))
newy=row[1]+(row[2]-desired_distance)*math.cos(bearing_to_radians(row[3]))
row[0]=newx
row[1]=newy
cursor.updateRow(row)


enter image description here



How to create a File Geodatabase and import shapefiles:



enter image description here






share|improve this answer

























  • An error occurs : --- Runtime error Traceback (most recent call last): File "<string>", line 15, in <module> File "c:program files (x86)arcgisdesktop10.4arcpyarcpymanagement.py", line 2483, in FeatureToPoint raise e ExecuteError: ERROR 000732: Input Features: Dataset C:TEST.gdbSample_points_buffer does not exist or is not supported. --- The path of the data is exactly the same.

    – ilmare
    Mar 7 '17 at 7:42












  • You need to change the paths to match your data. If you have shapefile inputs i would export them to a file geodatabase and use as inputs.

    – BERA
    Mar 7 '17 at 7:45












  • I'll try again.

    – ilmare
    Mar 7 '17 at 7:53











  • An error occurs : --- Runtime error Traceback (most recent call last): File "<string>", line 25, in <module> RuntimeError: A column was specified that does not exist.-----

    – ilmare
    Mar 8 '17 at 0:43












  • If you add the output polygon to arcgis, do they have the columns 'points_NEAR_DIST' and 'points_NEAR_ANGLE'?

    – BERA
    Mar 8 '17 at 6:24















3














Script below use Near tool to calculate distance and angle from polygon centroids to nearest line and then move them either closer or further away depending on the specified desired distance. Create a File Geodatabase and import the shapefiles and use as inputs in script.



You can execute the code in the Python window in ArcMap.



import arcpy,math
#Inputs, change paths and fc names to match your data
polygon_fc=r'C:TEST.gdbSample_points_buffer'
line_fc=r'C:TEST.gdbLine'
#Output, change path (and fc name if you want)
output_polygon_fc=r'C:TEST.gdbSample_points_buffer_near'
#Desired distance from polygon centroids to nearest line. Change
desired_distance=200

temp_points=r'in_memorypoints'

def bearing_to_radians(bearing):
return math.radians((450-bearing)%360)

#Create centroid points, calculate near distance and angle and join this to polygons
arcpy.FeatureToPoint_management(in_features=polygon_fc, out_feature_class=temp_points)
arcpy.Near_analysis(in_features=temp_points, near_features=line_fc,location=True, angle=True, method='PLANAR')
arcpy.MakeFeatureLayer_management(in_features=polygon_fc, out_layer='polygon_lyr')
arcpy.AddJoin_management(in_layer_or_view='polygon_lyr', in_field='OBJECTID', join_table=temp_points,
join_field='OBJECTID')
arcpy.CopyFeatures_management(in_features='polygon_lyr', out_feature_class=output_polygon_fc)

#Move the polygons
with arcpy.da.UpdateCursor(output_polygon_fc,['SHAPE@X','SHAPE@Y','points_NEAR_DIST','points_NEAR_ANGLE']) as cursor:
for row in cursor:
newx=row[0]+(row[2]-desired_distance)*math.sin(bearing_to_radians(row[3]))
newy=row[1]+(row[2]-desired_distance)*math.cos(bearing_to_radians(row[3]))
row[0]=newx
row[1]=newy
cursor.updateRow(row)


enter image description here



How to create a File Geodatabase and import shapefiles:



enter image description here






share|improve this answer

























  • An error occurs : --- Runtime error Traceback (most recent call last): File "<string>", line 15, in <module> File "c:program files (x86)arcgisdesktop10.4arcpyarcpymanagement.py", line 2483, in FeatureToPoint raise e ExecuteError: ERROR 000732: Input Features: Dataset C:TEST.gdbSample_points_buffer does not exist or is not supported. --- The path of the data is exactly the same.

    – ilmare
    Mar 7 '17 at 7:42












  • You need to change the paths to match your data. If you have shapefile inputs i would export them to a file geodatabase and use as inputs.

    – BERA
    Mar 7 '17 at 7:45












  • I'll try again.

    – ilmare
    Mar 7 '17 at 7:53











  • An error occurs : --- Runtime error Traceback (most recent call last): File "<string>", line 25, in <module> RuntimeError: A column was specified that does not exist.-----

    – ilmare
    Mar 8 '17 at 0:43












  • If you add the output polygon to arcgis, do they have the columns 'points_NEAR_DIST' and 'points_NEAR_ANGLE'?

    – BERA
    Mar 8 '17 at 6:24













3












3








3







Script below use Near tool to calculate distance and angle from polygon centroids to nearest line and then move them either closer or further away depending on the specified desired distance. Create a File Geodatabase and import the shapefiles and use as inputs in script.



You can execute the code in the Python window in ArcMap.



import arcpy,math
#Inputs, change paths and fc names to match your data
polygon_fc=r'C:TEST.gdbSample_points_buffer'
line_fc=r'C:TEST.gdbLine'
#Output, change path (and fc name if you want)
output_polygon_fc=r'C:TEST.gdbSample_points_buffer_near'
#Desired distance from polygon centroids to nearest line. Change
desired_distance=200

temp_points=r'in_memorypoints'

def bearing_to_radians(bearing):
return math.radians((450-bearing)%360)

#Create centroid points, calculate near distance and angle and join this to polygons
arcpy.FeatureToPoint_management(in_features=polygon_fc, out_feature_class=temp_points)
arcpy.Near_analysis(in_features=temp_points, near_features=line_fc,location=True, angle=True, method='PLANAR')
arcpy.MakeFeatureLayer_management(in_features=polygon_fc, out_layer='polygon_lyr')
arcpy.AddJoin_management(in_layer_or_view='polygon_lyr', in_field='OBJECTID', join_table=temp_points,
join_field='OBJECTID')
arcpy.CopyFeatures_management(in_features='polygon_lyr', out_feature_class=output_polygon_fc)

#Move the polygons
with arcpy.da.UpdateCursor(output_polygon_fc,['SHAPE@X','SHAPE@Y','points_NEAR_DIST','points_NEAR_ANGLE']) as cursor:
for row in cursor:
newx=row[0]+(row[2]-desired_distance)*math.sin(bearing_to_radians(row[3]))
newy=row[1]+(row[2]-desired_distance)*math.cos(bearing_to_radians(row[3]))
row[0]=newx
row[1]=newy
cursor.updateRow(row)


enter image description here



How to create a File Geodatabase and import shapefiles:



enter image description here






share|improve this answer















Script below use Near tool to calculate distance and angle from polygon centroids to nearest line and then move them either closer or further away depending on the specified desired distance. Create a File Geodatabase and import the shapefiles and use as inputs in script.



You can execute the code in the Python window in ArcMap.



import arcpy,math
#Inputs, change paths and fc names to match your data
polygon_fc=r'C:TEST.gdbSample_points_buffer'
line_fc=r'C:TEST.gdbLine'
#Output, change path (and fc name if you want)
output_polygon_fc=r'C:TEST.gdbSample_points_buffer_near'
#Desired distance from polygon centroids to nearest line. Change
desired_distance=200

temp_points=r'in_memorypoints'

def bearing_to_radians(bearing):
return math.radians((450-bearing)%360)

#Create centroid points, calculate near distance and angle and join this to polygons
arcpy.FeatureToPoint_management(in_features=polygon_fc, out_feature_class=temp_points)
arcpy.Near_analysis(in_features=temp_points, near_features=line_fc,location=True, angle=True, method='PLANAR')
arcpy.MakeFeatureLayer_management(in_features=polygon_fc, out_layer='polygon_lyr')
arcpy.AddJoin_management(in_layer_or_view='polygon_lyr', in_field='OBJECTID', join_table=temp_points,
join_field='OBJECTID')
arcpy.CopyFeatures_management(in_features='polygon_lyr', out_feature_class=output_polygon_fc)

#Move the polygons
with arcpy.da.UpdateCursor(output_polygon_fc,['SHAPE@X','SHAPE@Y','points_NEAR_DIST','points_NEAR_ANGLE']) as cursor:
for row in cursor:
newx=row[0]+(row[2]-desired_distance)*math.sin(bearing_to_radians(row[3]))
newy=row[1]+(row[2]-desired_distance)*math.cos(bearing_to_radians(row[3]))
row[0]=newx
row[1]=newy
cursor.updateRow(row)


enter image description here



How to create a File Geodatabase and import shapefiles:



enter image description here







share|improve this answer














share|improve this answer



share|improve this answer








edited Mar 8 '17 at 7:01

























answered Mar 7 '17 at 6:48









BERABERA

16.9k62044




16.9k62044












  • An error occurs : --- Runtime error Traceback (most recent call last): File "<string>", line 15, in <module> File "c:program files (x86)arcgisdesktop10.4arcpyarcpymanagement.py", line 2483, in FeatureToPoint raise e ExecuteError: ERROR 000732: Input Features: Dataset C:TEST.gdbSample_points_buffer does not exist or is not supported. --- The path of the data is exactly the same.

    – ilmare
    Mar 7 '17 at 7:42












  • You need to change the paths to match your data. If you have shapefile inputs i would export them to a file geodatabase and use as inputs.

    – BERA
    Mar 7 '17 at 7:45












  • I'll try again.

    – ilmare
    Mar 7 '17 at 7:53











  • An error occurs : --- Runtime error Traceback (most recent call last): File "<string>", line 25, in <module> RuntimeError: A column was specified that does not exist.-----

    – ilmare
    Mar 8 '17 at 0:43












  • If you add the output polygon to arcgis, do they have the columns 'points_NEAR_DIST' and 'points_NEAR_ANGLE'?

    – BERA
    Mar 8 '17 at 6:24

















  • An error occurs : --- Runtime error Traceback (most recent call last): File "<string>", line 15, in <module> File "c:program files (x86)arcgisdesktop10.4arcpyarcpymanagement.py", line 2483, in FeatureToPoint raise e ExecuteError: ERROR 000732: Input Features: Dataset C:TEST.gdbSample_points_buffer does not exist or is not supported. --- The path of the data is exactly the same.

    – ilmare
    Mar 7 '17 at 7:42












  • You need to change the paths to match your data. If you have shapefile inputs i would export them to a file geodatabase and use as inputs.

    – BERA
    Mar 7 '17 at 7:45












  • I'll try again.

    – ilmare
    Mar 7 '17 at 7:53











  • An error occurs : --- Runtime error Traceback (most recent call last): File "<string>", line 25, in <module> RuntimeError: A column was specified that does not exist.-----

    – ilmare
    Mar 8 '17 at 0:43












  • If you add the output polygon to arcgis, do they have the columns 'points_NEAR_DIST' and 'points_NEAR_ANGLE'?

    – BERA
    Mar 8 '17 at 6:24
















An error occurs : --- Runtime error Traceback (most recent call last): File "<string>", line 15, in <module> File "c:program files (x86)arcgisdesktop10.4arcpyarcpymanagement.py", line 2483, in FeatureToPoint raise e ExecuteError: ERROR 000732: Input Features: Dataset C:TEST.gdbSample_points_buffer does not exist or is not supported. --- The path of the data is exactly the same.

– ilmare
Mar 7 '17 at 7:42






An error occurs : --- Runtime error Traceback (most recent call last): File "<string>", line 15, in <module> File "c:program files (x86)arcgisdesktop10.4arcpyarcpymanagement.py", line 2483, in FeatureToPoint raise e ExecuteError: ERROR 000732: Input Features: Dataset C:TEST.gdbSample_points_buffer does not exist or is not supported. --- The path of the data is exactly the same.

– ilmare
Mar 7 '17 at 7:42














You need to change the paths to match your data. If you have shapefile inputs i would export them to a file geodatabase and use as inputs.

– BERA
Mar 7 '17 at 7:45






You need to change the paths to match your data. If you have shapefile inputs i would export them to a file geodatabase and use as inputs.

– BERA
Mar 7 '17 at 7:45














I'll try again.

– ilmare
Mar 7 '17 at 7:53





I'll try again.

– ilmare
Mar 7 '17 at 7:53













An error occurs : --- Runtime error Traceback (most recent call last): File "<string>", line 25, in <module> RuntimeError: A column was specified that does not exist.-----

– ilmare
Mar 8 '17 at 0:43






An error occurs : --- Runtime error Traceback (most recent call last): File "<string>", line 25, in <module> RuntimeError: A column was specified that does not exist.-----

– ilmare
Mar 8 '17 at 0:43














If you add the output polygon to arcgis, do they have the columns 'points_NEAR_DIST' and 'points_NEAR_ANGLE'?

– BERA
Mar 8 '17 at 6:24





If you add the output polygon to arcgis, do they have the columns 'points_NEAR_DIST' and 'points_NEAR_ANGLE'?

– BERA
Mar 8 '17 at 6:24

















draft saved

draft discarded
















































Thanks for contributing an answer to Geographic Information Systems Stack Exchange!


  • Please be sure to answer the question. Provide details and share your research!

But avoid


  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.

To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fgis.stackexchange.com%2fquestions%2f230889%2fautomatically-moving-overlapping-features-using-arcgis-desktop%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

រឿង រ៉ូមេអូ និង ហ្ស៊ុយលីយេ សង្ខេបរឿង តួអង្គ បញ្ជីណែនាំ

QGIS export composer to PDF scale the map [closed] Planned maintenance scheduled April 23, 2019 at 23:30 UTC (7:30pm US/Eastern) Announcing the arrival of Valued Associate #679: Cesar Manara Unicorn Meta Zoo #1: Why another podcast?Print Composer QGIS 2.6, how to export image?QGIS 2.8.1 print composer won't export all OpenCycleMap base layer tilesSave Print/Map QGIS composer view as PNG/PDF using Python (without changing anything in visible layout)?Export QGIS Print Composer PDF with searchable text labelsQGIS Print Composer does not change from landscape to portrait orientation?How can I avoid map size and scale changes in print composer?Fuzzy PDF export in QGIS running on macSierra OSExport the legend into its 100% size using Print ComposerScale-dependent rendering in QGIS PDF output

PDF-ში გადმოწერა სანავიგაციო მენიუproject page