Symbolizing Linear Features as Points

3108
10
01-05-2016 08:31 AM
MattAllen
New Contributor II

I have a linear dataset that has features that may be as small as 10 meters (under road drainage etc) and as big as several miles. When viewing these on a statewide map the shorter features are not visible. I would like to symbolize these features as points so that they are visible from all scales. I tried using the ArrowRightMiddle symbol and changing the marker to a point. This works great until the width of the point exceeds the length of the line. At that point the marker is suppressed. Is there a way to disable this behavior? Is there another way I can do this to overcome this limitation?

My attachments show the behavior as I zoom in you see more points displayed. I'd like them to display at all times. Thanks!

0 Kudos
10 Replies
Elizabeth_R_Jarvie
New Contributor III

You could use a label.

- label expression = " "

- add a marker text background for the symbol

- check 'Never Remove' under placement properties.

MattAllen
New Contributor II

I was able to get this to work. However I'm still looking into what using a label vs a symbol means as far as display priority etc. Thank you for the reply! I'll be sure to report back on what I find on this.

0 Kudos
Elizabeth_R_Jarvie
New Contributor III

Oh, yes, dealing with the multiple layers and labels can be a bit of an art. 

I like to use Maplex labeling to set priority and weight and I've found that setting the labels to 'Background labels' can be helpful.

Good luck.

ChrisDonohue__GISP
MVP Alum

If your dataset is static (not edited often), a workaround could be to select only the segments that are "disappearing", then use Feature to Point (Data Management) to make a separate point feature class from them.

ArcGIS Help 10.1

Caveat:  this requires an Advanced license.

Chris Donohue, GISP

MattAllen
New Contributor II

Thanks for the response! Unfortunately the dataset is updated daily using ETL processing and is stored in Oracle. Currently I am pulling the "points" out to another table/layer and setting the symbology that way. However, it's a lot of overhead just for symbology on the map. I'm trying to find a simple way that I can keep them both in the same table/layer and handle the symbols on the fly.

0 Kudos
DanPatterson_Retired
MVP Emeritus

As a followup to Chris's idea, calculate the X,Y coordinates for those segments (mid-point preferably), export the rows, add back as an event layer, save to a featureclass or shapefile and you will then have points for those small segments that you can use for symbolizing.  you can then set the scale so they disappear when zoomed in and appear when zoomed out

DarrenWiens2
MVP Honored Contributor

As a followup to Chris and Dan's ideas, here is how to set the scale range for your layers:

GUID-AF13EB1A-9676-47D0-95DF-1799482BA62F-web.png

MattAllen
New Contributor II

Thanks for the reply! This is actually similar to what I am currently doing (two layers for one dataset) and trying to move away from. I'd like to have the symbology built on the fly. I was able to get very close with the markers (in my original post) however when I zoom out too far the markers get suppressed. I was hoping there was a way to fix that. I need a solution(s) that will work for ArcMap products as well as ArcGIS Online and ArcGIS Server. Currently I am handling them as two separate tables and I'd prefer to only have one since this is really a visualization issue and not data. PS - I'm a DBA so I'm pretty rusty on this side of things!

0 Kudos
ChrisDonohue__GISP
MVP Alum

You may already be doing this, but if not:

  1. Reference the same layer twice.
  2. Use a Definition Query each layer to separate out the lines that look fine from the lines that dissippear.  Example.  Shape.length<100 for one (the "dissippearing lines") and Shape.length >=100 for the other.
  3. Symbolize each differently.

To provide discernable lines throughout a wide variety of viewing ranges, you also may have to employ multiple layer references of the "dissippearing lines" and not only use the definition query but employ Scale Dependency as suggested by Darren Wiens

Chris Donohue, GISP

0 Kudos