Any ideas on if ArcMap is able to create labeling similar to this map? Ie. 95xx or 9500 is listed outside of the units and the the actual last 2 digits are listed within so that each unit does not have 4 digits labeling inside? enter image description here


3 Answers 3


You can accomplish labeling the LAST two digits using label expressions for your parcel layers.

Your expression would look something like this in VB:

Right ( [Field], 2 )

Or you can use maplex labeling engine to abbreviate the labels

To label the FIRST two digits you could set up an additional field with the area of the parcel, so that if it's below a certain area it will truncate the labels to your specification (using either maplex or the label expressions above). From there you could place the remaining label (for the block) as ANNOTATION on the blocks where the labels are truncated.

You could also fool around with boundary based labeling for each block. It all depends on how your data is set up!

  • The most important keyword that @GISKid used (and is kind of lost in the mix) is in the last sentence: "place the ... label as annotation on the blocks". This will allow you to accurately position every item of the text to meet your needs. Good answer! Jun 5, 2014 at 14:23
  • @RyanDalton Thanks Ryan, I'll edit my post to make it a bit clearer. I don't really see a way around not using annotation unless the data is set up in such a way where neighbourhood blocks contain the correct label, or street From-to is set up. May be a pain if there is a lot of congested areas!
    – GISHuman
    Jun 5, 2014 at 14:26

As GISKid states, it depends on how your data is set up.

Based on your other questions, no, there is no straight labeling scheme available that would do what you want. Any solution is going to involve modifying or creating new data. In this case you would need to create an aggregate polygon of each contiguous building poly with an attribute that has the building number (unless you already have that - without specific details or examples of your data we cannot give specific, readily-applicable solutions).

You would then utilize label expressions to label the individual building polys with the last x digits constrained to the interior, and label your new aggregate polys with the first x digits constrained to the exterior.


The only way I could see this happening is to select everything with 4 digits (or more) and export, from the exported feature class calculate the first len([field])-2 into a field and the last two into another field. Dissolve the export by first digits and label as [first_digits] & "xx" to get the outside label and then label each of the smaller blocks with the last two digits. Of course these would need to be excluded from the original boundaries but would give you most of what you want.

Unfortunately this is not an on-the-fly solution, but more of a data exercise - but that's the essence of GIS.

In the end you would be displaying 3 feature classes: 1. Features with less than 4 digits 2. The dissolved first digits features 3. The features with 4 digits labelled by their last two.

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.