Comparing polygons and showing arrowheads along the polygon boundary

3802
4
11-10-2014 02:45 PM
DymShiu
New Contributor

Hi,

I have a polygon shape file with neighborhoods' names and populations. I would like know to if there is a way to show arrow heads along the polygon boundary, pointing to the neighborhoods with the lower populations. Thank you!

final.jpg

0 Kudos
4 Replies
XanderBakker
Esri Esteemed Contributor

There are no standard visualization tools for this particular purpose. However there is a lot you can do with some Python programming and perhaps representations. First of all you should establish adjacency between polygons and compare the population, next the arrows should be defined. To define those arrows you could pick points on the border of a polygon, determine the bearing of the border at the point and create a line perpendicular to the bearing of the border depending on the populations. This line could be drawn with an arrow head. 

I have moved this thread to the Python place.

0 Kudos
BlakeTerhune
MVP Regular Contributor

I think symbolizing your polygons by population with a fill using a graduated color ramp is the easiest way to visually identify which feature is greater or less than the other.

Could you describe the overall goal here? Maybe there is a different way to approach your problem.

DarrenWiens2
MVP Honored Contributor

Depending on how many polygons you have, this semi-manual method may be suitable.

1.) Run Intersect on the polygons as the only input, specifying line as the output type. This creates boundary lines shared between polygons. Unfortunately, there will be two copies of each line, one for each participating polygon.

2.) Dissolve the duplicate lines, turning off create multipart, and unsplit lines. Now you'll have one boundary line between polygons.

3.) Symbolize the lines as an arrow underneath a line. See below - I added an arrow layer in the line symbology as a character marker symbol from the Arial font (↑).

1.PNG

4.) Inspect your lines. They will be symbolized according to the line orientation saved in the shapefile.

2.PNG

5.) If a line is not symbolized in the orientation you want, start editing, select the line, edit vertices, right-click the line, and choose Flip.

3.PNG

DymShiu
New Contributor

Hi xander_bakker, blake.terhune, dkwiens,

Sorry for the late reply. I just found out the Geonet has moved my post to

this page. My overall goal is to compare the polygons by the population by

showing arrowhead along the boundaries. In my original shapefile, there

were hundreds of polygons. Because I didn't know how to do it at that time,

so, I ended up doing this manually in Auto cad. I overlaid a grid layer on

the polygons, then placed the arrow heads one by one in each grid, so there

were arrow heads along the polygon's boundaries evenly.

I have done something similar to the xander_bakker's suggestion. The only

problem was our client wanted the arrow head in cad format. I had all those

arrow heads pointing to the boundary perpendicularly in the shapefile.

However, when I converted it to cad, something went wrong and the

orientation of those arrow heads were all messed up. I also tried to save

them as the annotation but it didn't work out during the conversion. So I

had to do it manually instead.

I had suggested blake.terhune suggestion to our client when I first started

on this project, however, they only wanted the arrow heads.

I will try dkwiens suggestion. Thanks for showing me how to remove the

duplicated line. When I was brainstorming this earlier, I thought about

doing something like that, but I couldn't figure out how to remove the

duplicated line at that time. We have to deliver the arrowhead whenever

there is a boundary changed. I will denitely try our your approach.

Thank you so much!

0 Kudos