It is frustrating when one wants to create symbols with the colors from polylines to polygons you have to create the colors 2 times. Not a big deal when you have a handful of attribute differences to color.
However when you have hundreds of different attributes it is very time cosuming.
I would like to see the ability to use the colors for a an attribute in one feature type used in the second feature that is not the same type.
Example. I have 573 unique line sections. I want to color all lines and points with same color based on the LineSection attribute. This can be quick and simply way to help find errors in data.
You can simple reuse a symbology defined in a line feature to a polygon or point feature. Export your symbology to a style and then reuse symbology by match this style in another layer.
Note: You must load icon "Export Map Styles" in Customize.
Within a map, polygon and point feature classes can be coloured according to a symbology defined in either .lyrx or .stylx.
I have a symbology created for a geological map with many different colours and i would like to apply this same colouring to a point feature class.
i cannot do this from a .lyrx file despite the same colour pallettes used for both types of feature class.
why would this be the case?
can ArcGIS pro not just take the colour codes from the polygons assigned to an attribute and assign those same colours to a point feature class with the same attribute code?
to remake the entire symbology for a new feature class is just too labourious to consider....
I support this request.
i also asked the same question on stack exchange years ago.
still havnt found out how to do it.
I tried testing the approach above and could not get it to work. Tried going from line to polygon and vice versa; doesn't allow for import. Suppose it makes sense because the symbology for lines and polygons are completely different ... but I figured I would give it a shot because like the OP mentioned, it's quite annoying to match colors between layers with 100's of records ...
This is a very legit requirement that specially in utilities it is required to match the symbology of line and point layers to be colored same to have a better analysis. It is very difficult to give a color to a unique ID if range is in thousands and doing the same activity for other layer with different geometry type is quite a challenge.
ESRI must work on this to provide any tool with which any one can symbolize line, polygon and point layers with a same color generated based on a unique ID.
I fully support this request. It seems a straightforward requirement and should be easily available.
We have soil polygon features layers for which we have developed symbology. When checking these maps with field-collected point data, we simply wish to apply the same symbology to the field points based on the code for each of the soils as contained in the polygon features.
This would be extremely helpful for me. I have a polygon layer with 80+ color categories, all manually grouped under headings. I've also manually changed the "label" text that shows up in the legend.
I have a line layer with an identical field and attributes that exactly match the polygon data. I need all of the same colors, heading groups, and labels in the line file. Image to help describe what I mean:
There should be an option to apply polygon fill color to the line stroke. The same way I use "Apply Symbology from Layer", but allowing for symbol application between different data types.
The only way I have found to work around this issue is to add a common symbology column (i.e. SYMBOL1 etc.) to each feature, fill it with a hex color code (or other recognized codes) where attributes match between the two features, then under Symbology, click the 'burger' button and check 'Allow symbol property connections', then set the various color properties line/fill to this new field. This symbology does not carry over to features published to ArcGIS Online or Portal in my experience though.
Is this Idea not feasible? Under consideration? Something else? Given that it was posted over eight years ago, it'd be nice to see some action one way or another on this useful request.
So, this is doable but I wouldn’t describe it as easy and I would describe it as absolutely horrible. I did it last year and went searching for a better way because of how horrible it is, but we are. It can destroy your layers so try it on a copy first and probably don't even bother unless you've tried editing JSONs with AGOL assistance before.
This has to be done in AGOL. There even more work arounds to get it done in ArcPro by opening the web map, exporting stuff, and re-importing it but I’m just going to describe the AGOL JSON Surgery needed. I’m using Polygon colors to Line colors as my example so values and structure may differ but in theory any geometry to other geometry would work.
First have both your Polygon and Line feature classes in the same web map. Set your target layer to Type (unique symbols). Change the line style/weights how you like but ignore the default colors. Open up the Web Map in AGOL Assistant and view it’s JSON. In this case I actually had to go to the layer’s JSON since I shared the layer to AGOL with the correct symbology and a web map will only store a layer symbology if it’s been changed from the default.
I look through the JSON and find the structures storing my color information:
{
"symbol": {
"type": "CIMSymbolReference",
"symbol": {
"type": "CIMPolygonSymbol",
"symbolLayers": [
{
"type": "CIMSolidStroke",
"enable": true,
"colorLocked": true,
"capStyle": "Butt",
"joinStyle": "Round",
"lineStyle3D": "Strip",
"miterLimit": 10,
"width": 0.3,
"color": [
104,
104,
104,
255
]
},
{
"type": "CIMSolidFill",
"enable": true,
"color": [
0,
0,
248,
178
]
}
],
"angleAlignment": "Map"
}
},
"value": "Team54",
"label": " Team54"
},
You’ll see this repeated for all your unique values, about 70 in my case. The color values I want are under the CIMSolidFill section, it may vary depending on what components your symbology has and if you want to match color to the borders or the fills. I want a table with the value and color values so if you can get this color information an easier way, I’d go with it. For me, I put this into Excel and used clever formulae to build a list:
"value": "Team46", "color": [0,0,248,178]
"value": "Team47", "color": [177,89,40,178]
"value": "Team48", "color": [255,127,0,178]
Then going back to the WebMap JSON you’ll look for the structures storing the symbology for the target layer, in my case under "uniqueValueGroups".
{
"label": "Team01",
"symbol": {
"type": "esriSLS",
"color": [
253,
127,
111,
255
],
"width": 0.9,
"style": "esriSLSSolid"
},
"values": [
[
"Team01"
]
]
},
This structure just repeats with the RGB color values and the attribute value for all unique values. Using this as a template and the RGB values pulled from the other JSON I again use Excel and the table I just created to rebuild this repeating structure with my update color values and paste it into the JSON replacing the symbology with the ones I created with matching color values. You don't have to worry about the tabs/line breaks as along as all your commas and brackets are correct. But misplace a single one, or forget or add an extra comma and will not work. Again, JSON editing is a little bit dangerous so I'd definitely not tackle this unless your comfortable and I would do it on a copy first because it can destroy layers permanently. But I found this slightly less horrible than setting the 70 color values twice.
Edit:
Also noticed for my line symbols there were two sets of structures. I don't fully know why this is the case, I think it has to do with symbol grouping even though I don't have any. The structures were very similar and maybe only one is required, but to be safe I did both, one set under uniqueValueGroups and the other under uniqueValueInfos.
{"label":"Team03","symbol":{"type":"esriSLS","color":[253,127,111,255],"width":0.9,"style":"esriSLSSolid"},"value":"Team03"},
{"label":"Team03","symbol":{"type":"esriSLS","color":[253,127,111,255],"width":0.9,"style":"esriSLSSolid"},"values":[["Team03"]]},
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.