I had the goal of adding a third symbology class to my standard parcel fabric set up. I wanted some sort of visual indicator on parcels that were outside of our error tolerance. For instance, if a parcels deeded (stated) acreage is 10 acres, but the calculated acreage is only 8.5, I wanted that parcel to be highlighted in red since it is outside our target threshold of 10%. Setting up the symbology was fairly easy. I just tweaked the existing symbology expression from this:
to this:
That allowed me to set up the symbology that I was going for:
However, in my editing after, I noticed an unexpected behavior when using the "Shrink to Seed" tool. Rather than shrinking shirnking and applying the default blue symbology for a parcel seed, it shrinks and applies the error symbology.
It seems to be recognized as a seed since it is getting labeled by the seed label class, but it is also getting labeled by the Error label class, and I can't quite figure out why. Are there any hidden facets to the "Shrink to Seed" tool that could be causing this? Have I just missed something in my symbology tweaks? I would greatly appreciate any assistance that anyone could provide!
I was able to resolve the issue, through rephrasing the symbology expression to this:
I am not really sure why that resolved the issue, but it did. When I use the shrink to seed tool now, it applies the correct symbology:
If someone could fill me in on what the difference maker was, I would appreciate it! Just thankful to have it resolved either way, though!
Hi Matt,
Not sure about the logic in your 1st version. I'd have to test it.
In your 2nd version, if it is a seed, the logic immediately exits and returns seed. It should never execute the other else if statements.
I don't have your data to try, but this logic should work as well:
If ($feature.IsSeed!=1) {
if ($feature.ERROR_ACRES > ( $feature.StatedArea * 0.1)) || ($feature.ERROR_ACRES < ( $feature.StatedArea * -0.1))
{
return "Check acreage error";
}
else if ($feature.ERROR_ACRES < ( $feature.StatedArea * 0.1)) || ($feature.ERROR_ACRES > ( $feature.StatedArea * -0.1))
{
return "Parcel";
}
else{
return "Seed";
}