1

In Arcgis, I have a polygon grid layer (100 cells) and a layer with polylines (the polylines cross the polygon grid). The polygon grid layer has in the attribute table a numeric integer field (named "weight") that give to the respective cell a weight. Example:
cell1-->100
cell2-->105
cell3-->2
cell4-->27 cell5-->3
...-->...
cell100-->89

my goal is ONLY purely visual nothing more. I want color each cell of the the polygon grid with a color based on the weight attribute (clearly if weight of cells is almost equal I want use similar color). After (this is the main problem) I want that only a part of each polyline take the color of the cell that cross. So the final view of each polyline will be N-polyline with multiple gradient color. The intersect tool isn't a good solution because in real case I have a lot of polyline and a lot of cells, so the intersection process is very slow.

enter image description here

  • What version/extensions are you using? there may be additional tools you could use in more recent versions – TDavis Sep 15 '16 at 14:14
  • I use arcgis 10.3 – lausent Sep 15 '16 at 14:51
1

You need to use intersect tool from ArcToolboxes->Analysis tools->Overlay->Intersect in ArcGIS to intersect the polygon grid with polyline.

enter image description here

Then use the field "Weight" that will output after applying the intersection to classify the polyline and the polygon grid with the same symbology color.

  • This is not a good solution because I have a lot of polyline and a lot of cells, in this case the intersect process is very slow. – lausent Sep 15 '16 at 9:25
  • Then you can use spatial join to join the attribute table of the polyline with polygon spatially, and use Intersection as a spatial method. – ahmadhanb Sep 15 '16 at 9:28
  • can you describe me the steps? – lausent Sep 15 '16 at 9:31
  • I updated my answer. However, I prefer the intersect tool as it will cut the polyline into smaller one based on each polygon grid. – ahmadhanb Sep 15 '16 at 9:34
  • Sorry, Spatial join will not work as it should cut each line with each polygon grid and the spatial join will not do that. – ahmadhanb Sep 15 '16 at 9:41
0

If the Intersect tool is unable to process the whole task, you may need to break the steps up. so break the polylines first, then join them. 1)Breaking up the lines: If you are using 10.0 or later with advanced licence, you could try the Split tool to divide the polylines, or the Identity tool. Also, you could convert the polygon cells into polylines, merge this with the original polyline layer (ensure you have a field that will let you filter them back out again), and use the Topology tool 'Planarize Lines' to break up the lines. delete all the cell border polylines from the dataset, and you'll have a fully segmented set of polylines that you can join to the corresponding cells.

If your goal is purely visual, you could work with symbology instead to get the desired effect. Select a line style that has a wide middle and two edge lines (the default 'Double, Plain' for example, doesn't even have a middle line, just edges) and set the color to 'No Color'. you'll have an edged line that shows the underlying polygon color see below the resulting appearance hollow highway lines

  • my goal is ONLY purely visual nothing more. Can you explain better the steps for use symbology? – lausent Sep 15 '16 at 15:33
  • I try to use "Freeway" with no color in polyline layer (the polyline layer is above the polygon grid layer). The result was polyline become all black and doesn't take the color of the underlying polygon color – lausent Sep 15 '16 at 15:42
  • Oops, maybe try 'double, plain', the way 'freeway' is drawn uses a wider black line under a coloured line, instead of two offset lines to make the edge. the idea is to make a 'hollow' line to show the underlying colours – TDavis Sep 15 '16 at 16:35
  • open the polyline layer properties, click the symbology tab, click the 'symbol' button, and scroll or search to find 'Double, Plain'. click OK, and OK, and that's it – TDavis Sep 15 '16 at 16:38

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.