My Account     Contact Us     Cart

Articles

Optimizing Point Symbol Placement with MAPublisher LabelPro

This post was contributed by Hans van der Maarel of Red Geographics.


The problem with using GIS data for point symbols is that depending on the scale and symbolization you often end up with symbols partly overlapping each other. Of course, the symbols can be manually moved around after initial placement to get a more aesthetically pleasing result, but that can be a tedious and time-intensive task.

Thankfully, there is a way to automate at least part of this process by using MAPublisher and LabelPro.

Example map of Breda, The Netherlands

This example shows the heart of an old European city (Breda in The Netherlands to be exact). The map is composed of Dutch Top10NL topographic base data, a few labels were manually added for larger features (such as the park), and points imported from OpenStreetMap (OSM) and styled using a Map Theme. As you can see, there are a number of spots where the symbols are densely located and overlap each other.

The MAPublisher LabelPro add-on is capable of collision-avoidance to make sure overlaps don’t happen. But it only works when generating labels (text). Fortunately, the solution is to trick LabelPro into processing symbols too, so that they can benefit from better placement without overlaps.

Let’s start by adding a column to the attributes to the OSM points layer and filling it with a default value, a capital O.

Thankfully, there is a way to automate at least part of this process by using MAPublisher and LabelPro.

Editing the attribute schema

Next, determine how big the symbols are. On the artboard, use the Type tool to place a capital O and adjust its size so that it’s about the same size as one of the point symbols. In this case, a 14 pt Futura Medium, shown here in red, seems to cover it well (your results might be different).

Determine the approximate font size

Futura is a good font in this case because the O is a perfect circle. Once you’ve determined the approximate font size to use, delete the O text as it won’t be needed anymore.

Next, set up the LabelPro labelling rules. Since there is already a layer with the manually placed labels and the symbols shouldn’t interfere with them, the manually placed labels will be designated as an obstacle layer. The symbols layer will be labelled with the attribute created earlier and the style set to the font and size that was just determined.

Set obstacle layer

Setting the appropriate rules partly depends on personal preference but it’s important to specify that the placement prefers the center position (position 1 on the placement control). In other words: if there’s enough space for placement, the label doesn’t need to be moved or offset. Another important rule to configure is that font reduction should be turned off. All of the labels (eventually symbols) are going to be a fixed and similar size.

Set placement point rules
Set fitting point rules

Also, another good practice is to specify a suppression layer. Any labels that can’t be placed with the rules set will be placed on the suppression layer. After placement, you can determine if any labels need to be adjusted manually.

Let’s label! Go ahead and label with these settings and afterward hide the original symbols layer and the suppression layer. The map is filled with O’s where the original symbols are located.

O labels placed

At first glance, this does not seem very useful, but closer inspection shows that the labels have retained the attributes of the original OSM point symbols.

Attributes migrated to the O labels

This means that if they can be turned back into points, they will be able to be styled!

In order to turn them back into points, a text reference point needs to be created. In other words: a little dot on the text selection line, in the center of the O. This is a two-step process. First, select all the O’s on the artboard, open MAPublisher Text Utilities, and set the Action to Set text alignment and Alignment to Center. This action changes the alignment of the text without changing the actual position of the text (due to LabelPro labeling the text alignment is different based on where the label ended up in relation to the original point). This step takes care of the horizontal positioning.

Set text alignment in MAPublisher Text Utilities

The second step is to adjust vertical positioning. Vertical positioning is adjusted by moving all text up by a certain distance. Make sure all the O’s are selected, then use the (Adobe Illustrator) Move tool. In the Position group, set the Horizontal to 0 (no adjustment here since Text Utilities was used), set the Vertical to minus half the text size (font size in this example was 14 pt, so a vertical adjustment of -7 pt), and the Angle to 90 degrees.

Use the Move panel to fine tune position

For reference, this example is zoomed into a symbol that did not get displaced.

Next, these labels need to be turned into point symbols. There is a handy option in MAPublisher Text Utilities that can do that, but it places a point to the lower left of the text and the symbols need to use the center text reference point that was just created. Instead, with all of the O labels selected, open the MAP Attributes panel and export the attribute table to a text file. Make sure to specify the option Export All Attributes because there are two important hidden attributes needed to make this work: #MapX and #MapY, which are the coordinates of the text reference point.

Export attributes to a .txt file
(Click for larger version)
Export attributes to a .txt file

Using MAPublisher Import, add the attributes text file that was just created to the map and make sure to appropriately specify #MapX and #MapY in the X and Y coordinate columns.

Import .txt file as Delimited XY

Since there is no projection information stored in the text file, you’ll need to specify that the coordinates are in the same system as the MAP View it’s coming from and you’ll need to add it to that MAP View upon import.

On the map, there is now a new point layer and because they still have all of their original attributes, the layer can simply be added to the MAP Theme to have all the point symbols reapplied to them instantly. Let’s admire the results:

Symbols reapplied with MAP Themes

If needed, repeat the last few steps for the suppressed labels as well (to a different file and different layer of course) to see what still needs to be done manually.

Calibrating Your Device’s Compass for Improved Navigation in Avenza Maps

Ensure you’re going the right way!

One of the great features of Avenza Maps is being able to navigate offline using your own maps or maps from the Map Store. By tapping the GPS icon twice (once to locate yourself and then again to enable the compass), the map will rotate and align with your compass. Your current location is represented by a blue dot and the little arrow points in the direction you are facing. This feature allows you to navigate easily, however it can be problematic when your devices’ compass isn’t calibrated. If you notice that your blue dot’s arrow is not pointing in the right direction, or isn’t functioning as you’d expect, try these steps to calibrate your device’s compass!

Android

Not calibrated (Android)

To calibrate your compass on Android, go to your Google Maps app. If your blue dot’s beam (the blue shading coming out of it) is pointing in a different direction to where you are facing or is very wide, your compass will need to be calibrated. To calibrate, tap the blue dot and select “calibrate blue dot compass”. From here, you will be instructed to move and tilt your device in a figure 8 pattern, shown in the following diagram.

Calibrate device (Android)

Your compass accuracy will improve as you continue to do this. When you are happy with your compass accuracy, tap Done. The beam from the blue dot on the display will now be narrower and point in the right direction. If at any point the accuracy lowers again, this process can be repeated. If this does not solve your issues, you can select “report blue dot issues” by pressing the blue dot again. For more information, click here.

Calibrated device (Android)

iOS

On Apple devices, use the Compass app to calibrate your compass. This app comes pre-installed on iPhone devices. If for any reason it has been deleted, it can be found in the App Store if you search for “Compass”.

Compass app on App Store (iOS)

When the calibration screen appears after you open the Compass app, you’ll need to perform a few easy steps to calibrate the compass. Follow the on screen instructions and tilt your phone until the ball moves all the way around the circle. If you are using an earlier iOS, you will be prompted to move your phone in a figure 8 motion.

Calibrate device (iOS)

Once this process has been completed, the default compass screen will appear – your compass is calibrated and ready to be used! If the default compass screen appears as soon as the app is opened, your compass is already calibrated. If you see a different page appear on screen, the Compass app also doubles as a leveler; swipe left you will return to the compass screen.

Calibrated device (iOS)

Happy navigating!

Privacy Preference Center

Close your account?

Your account will be closed and all data will be permanently deleted and cannot be recovered. Are you sure?