My Account     Contact Us     Cart

The Difference Between Constraints and Bounds in a Graticule

A graticule is the network of lines of latitude and longitude drawn at regular intervals on a map. Graticules are created in MAPublisher using the Grids and Graticules tool. In some maps, you may want to limit the area on the map that a graticule covers. For example, you may want it to cover only the map’s area of interest. The image below is a map of North America with a graticule drawn at 5-degree intervals. US State boundaries are drawn in white. In this post, we’ll modify the graticule three times so it conforms to the edges of the image, so it covers only the Continental United States, and lastly a combination of the previous two modifications.

North America with a graticule of 5 degree intervals.

MAPublisher can limit the geographic extents of a graticule in two ways: using Grid Bounds and using Grid Constraints. In both cases, you’ll specify the lower left and upper right corners of the graticule. Specifying Grid Bounds will limit the extent of the graticule to a rectangular area while specifying Grid Constraints will limit the graticule along lines of latitude and longitude. If both Grid Bounds and Grid Constraints are specified, the graticule will cover an intersection of the two areas. The image below shows bounds and the constraints and the intersecting area which forms the graticule.

Bounds and the constraints and the intersecting area which forms the graticule.

To modify a graticule so that it conforms to the edges of the image, you’ll need to specify grid constraints. In the Grids and Graticules dialog box, click the Specify Grid Constraints check box and set the Lower Left and Upper Right corners to the corners of the image which are -127°, 7° and -50°, 65° respectively.

Specifying Grid Constraints.

To create a rectangular graticule covering only the lower 48 states, click the Specify Grid Bounds check box and set the Lower Left and Upper Right corners to the corners of that area. Tip: click the MAP World Locations drop-down arrow to choose the values for the lower left and upper right corners.

Specifying Grid Bounds.

When both Specify Grid Bounds and Specify Grid Constraints check boxes are both checked, the graticule will cover an intersection of each of the extents. For instance, in the map below, the northern extent follows the 49th parallel at the Canadian border, the western extent is at the edge of the image (127° west) and the south and east extents are the same as in the previous map.

Both Specify Grid Bounds and Specify Grid Constraints selected.



 

Easy Map Creation with WFS and WMS

Online services can be used to create high-quality maps without the need to download and maintain large spatial datasets or spend time designing base maps. In this post, we’ll use two online sources to import data and create a map showing the potential energy generated from existing and proposed wind power projects in the state of Massachusetts.

Wind map

There are two types of online mapping services MAPublisher can use to import layers: Web Map Services (WMS) and Web Feature Services (WFS). WMS is an interface for accessing geo-registered images from an online source. This means that users aren’t able to modify individual elements of a WMS layer and are only able to select an area of the map to import. WMS also allows for transparency so map layers can be overlaid on top of one another.

WFS, on the other hand, is an interface for accessing vector map features in GML format. Features are imported as a MAP Layer which can be further modified using MAPublisher and Illustrator tools. To create this map, we’ll import data from two sources: a topo map from the US Geological Survey (USGS) and the Massachusetts Office of Geographic Information (MassGIS).

To start, open Adobe Illustrator and create a new document in portrait mode. Import a MAP Layer and select Web Feature Service from the Format drop-down. Click the “Click to select services and layer(s)”. link. The MassGIS layers are included with MAPublisher by default. If you do not see this service, click Load Services from Avenza. Select Commonwealth of Massachusetts, USA – MassGIS in the USA folder.

Selecting WFS for import

On the Select Features dialog box, select Wind Power. Note the default SRS – EPSG 26986. On the Import dialog box, click the link to select a coordinate system. Choose Massachusetts Mainland Zone (EPSG 26986). Click OK.

WFS information

The Wind Projects layer has been imported as a MAP Layer. It can be modified using MAPublisher or Illustrator tools to symbolize, label, select, and so forth. To create the style for this layer, add a new Stylesheet MAP Theme of Point feature type, then Batch generate rules for the KW column using three quantiles, and select Set scale so the symbols scale proportionally to the value. For more on how to replicate this style, see the MAPublisher Help article MAP Themes.

Wind point attributes (click to see larger image)
Batch generate rules

The next step is to import a WMS layer to use as a base layer. This map uses the USGS Topo Base Map which was created as part of the National Map program. A list of WMS and WFS services provided by USGS is available at http://viewer.nationalmap.gov/services/.

Go to the USGS web page and open the WMS link under Base Maps (Cached) > USGS Topo Base Map – Primary Tile Cache (Tiled). This is an XML document with the location and metadata of the WMS. Copy the link from the address bar and in Adobe Illustrator, click the MAPublisher Import button and choose Web Map Service from the Format drop-down menu. Click the “Click to select service and image” link. Click Add New Service and paste the URL into the GetCapabilities URL text box. Choose the service from the list and click OK.

Add new service

On the Select Web Map Layer dialog box, choose USGS Topo Base Map from the Layers list. Set the Image Size to 1000 to increase the resolution. To change the extents of the output image click Select Area. This dialog box provides several options for setting the extents of the base map image. Click-and-drag to specify an area to select – the image will automatically crop. The buttons at the top of the panel allow you to enter the coordinate extents manually, match the extents of a MAP View or match the extents of a vector layer. Since we have already added the Wind Power layer to the map, we will set the extents to match this map view by clicking “Select area by MAP View” and choosing Wind_Projects from the drop-down menu. Leave the other options as default and import the base map image.

Select area

For the final step, open the MAP View panel and drag the layer DMARRIER.EEA_WIND_Point to the MAP View USGS_TNM_Toppo_Base_Map. This will transform the points to the same coordinate system as the base map.

There are thousands of freely available WMS and WFS sources available online. For a good starting place see this blog post from the Open Geospatial Consortium for advice on finding services. You could also use a basic web search – for example – “WMS Toronto” or similar. For more help on web services in MAPublisher see the help article Web Map/Feature Service.

It’s #NationalColdCutDay, So Here’s a Subway Subway Map of Toronto

March 3rd is National Cold Cut Day… so happy #NationalColdCutDay to you! Cold cuts have been around for more than 2,000 years and today, it is so ubiquitous that any populated place with a market or grocery store stocks it. Even more so, the up-rise of fast food provides the convenience of someone making a cold cut sandwich for you (even better!). Recently, we came across a subreddit called /r/subwaysubway – a collection of subway-style maps of Subway® sandwich restaurants. While most cities boast several dozen Subway locations, Toronto, ON has the density and population to support more than 200. So in honour of National Cold Cut Day, we’re going to create a Subway subway map of Toronto with some of our favourite mapping tools. While this is only meant to be a light-hearted project and not an authoritative source of all Subway locations, please forgive us if we missed a few locations. That said, we used some available web tools in combination with MAPublisher to create a mapping workflow that might inspire you to create your own Subway subway map.

Finding Subway locations

Finding all (most) of the Subway shops was easier said than done. A combination of several sources were used to achieve this. We used the MAPublisher feature called Find Places to scan areas of Toronto to search and import the Subway location point data. This task was performed several times, simply because of the high density of Subway locations in Toronto. In addition, the source provides useful attribute data including name, address, and neighbourhood fields that will be useful for labeling (more on that below).

MAPublisher Find Places - Subway locations

To verify these locations, we also used a web tool called overpass turbo that has some handy tools to build a query that searches OpenStreetMap and filters data that can be easily exported. We simply exported the queried locations as a KML file and used MAPublisher to import it. Unfortunately, these locations did not include any attribute data, however, there were several points included that the MAPublisher Find Places tool missed. We then searched Google Maps and the Subway website to verify several addresses that were missing in the attribute data. Again, we probably missed some locations, but this is supposed to be fun, right?

Overpass Turbo Subway query

With most of the sourcing completed, we end up with a map that looks like the one below. All the Subway restaurant locations can now be considered subway stations. We also used a Toronto boundary layer and streets layer from Open Data Toronto that was transformed to use a projection of NAD 83 / UTM Zone 17N with a -18 degree rotation at approximately 1:65,000 scale. The boundary and streets layer won’t be used in the final map, but helps when navigating the map, especially if you’re (un)familiar with the city.

Subway location imported into MAPublisher

Converting to a subway style map

Using a very liberal amount of cartographic license, we created MAP line layers and used the Adobe Illustrator pen tool to connect Subway locations to what felt natural based on knowledge of the city including following major roads, existing transit corridors, geography, and neighbourhoods. The downtown core was the most difficult to connect as it was densely populated with Subway shops (almost one at every major intersection — impressive), although it loosely represents the grid layout that the downtown core is actually based on.

After some quick connections, we created a MAP Theme to style for the Subway points layer. We created two styles: one for regular stations and one for interchange stations – where our fictional subway riders (eaters?) can transfer to another line. To mark stations as an interchange, we created a new boolean attribute that designates it as true or false. If the rule is true, then it uses a Interchange symbol to denote it as an interchange.

Station stylesheet

Once we felt like we had a solid coverage with interconnecting lines, we copied the Adobe Illustrator document to a new one, hid the boundary and street layers, and began the task of converting it into a styled subway map. For simplicity, we used a typical orthogonal method that employs lines at any multiple of 45 degrees. Needless to say, this took some time and patience as there are many points to align, nudge and decipher. This is where having the geographically accurate map, some of the online maps, and other sources to refer to was very handy.

Styled Subway Map

Compare it to the geographic version (some lines and points may have been moved or redone during the conversion to follow the orthogonal method).

Geographic station map

Labeling shouldn’t be tough, right?

We decided to use MAPublisher LabelPro, an intelligent and obstacle-detecting labeling engine, to label the subway stations because there are so many of them. With a little bit of setup, it can label the entire map in just a few seconds. Using the same rule used to designate stations as an interchange, we created two styles for the labels using the label filter. Interchange stations are slightly larger and have a bold font. We designated the label source to use the attributes from the Subway point layer, in this case, a neighbourhood name. Lastly, we designated the lines as obstacles so that LabelPro can detect whether a label will interfere with them or not.

Using MAP LabelPro to label stations

We also configured placement rules so that the stations have a preference to be labeled at bottom and top, and then at positions around the point if the first two aren’t possible. In addition, we specified a label offset so that the labels are placed more evenly without too much fine-tuning afterwards.

Station point rules

After LabelPro placement and some manual tweaking, the result is a cleanly labeled map. Here’s a detailed view.

Detailed station labels

While the neighbourhood attribute was unique in most cases, some dense areas such as downtown Toronto had station names repeat itself. In these instances, we relabeled them with its street name, a nearby landmark or park. This may not be the most accurate, but it was fun to come across neighbourhoods or areas we’ve never heard of and it allowed us to learn more about our own city.  Another great source to use was this Toronto neighbourhood map that allowed us to quickly verify which neighbourhood a particular Subway sandwich was in.

While we’re sure there are probably many more tweaks to make to this map and more stations to add, here’s our take on the Subway subway Map of Toronto. Make sure to click the links below to see the high-res PDF versions.

Toronto Subway subway map

Click to see the high-resolution PDF version

And in the spirit of traditional Toronto Transit Commission (TTC) maps, here’s one with a black background.

Toronto Subway subway map TTC style

Click to see the high-resolution PDF version

Additional resources

Avenza Systems Fixed and Floating License Solutions: What Are The Differences?

Avenza desktop applications, MAPublisher and Geographic Imager offer two options for the licensing system: Fixed license and Floating license.

The Fixed license option allows only one license per computer. For most users or small companies, this is generally sufficient, even with a few licenses. Since your license is fixed to a specific computer, it can’t be moved freely to another machine. However, Avenza does allow you to move your license occasionally. For example, if you purchased a new computer or when your computer is being fixed and you need to transfer your fixed license to another computer. If your subscription status for MMP (MAPublisher Maintenance Program) or GMP (Geographic Imager Maintenance Program) is up-to-date, then moving your fixed license to another computer (i.e. rehosting a license) can be done without a cost. Complete this form to do so. You will receive a notification email from Avenza when this is completed.

The Floating license option is for users who wants to share a number of licenses on the network. This is a great solution for any size company that has multiple users who share use of MAPublisher or Geographic Imager. You will need to set up a license server for which users will need check out a license from the server before using MAPublisher or Geographic Imager. In general, this option is used when sharing a number of license with colleagues. For example, the license server holds two seats of MAPublisher license. When users on Computer A and Computer B are using MAPublisher, other users can’t check out a license until the borrowed licenses are checked in.

An example environment of a floating license system

Another great advantage of the floating license the ability to borrow a roaming license with their laptop so that they can use MAPublisher and Geographic Imager outside their immediate office. This is a good solution for users who need to use the software on the go and doesn’t have a connection to the floating license server.

For more information about the licensing options for our MAPublisher and Geographic Imager, contact Avenza sales.

If you have any technical questions about setting up a license server or any other licensing issues, contact Avenza Technical Support.

Force Multiple Line Labels By Adjusting Text Attributes In MAPublisher

Single line label vs. multi-line label

There may be times when you want to have labels be multiple lines. Multi-line labels allow them to fit in tighter positions on the map. Currently, in MAPublisher LabelPro there’s a rule to allow stacking up to 2, 3 or even 4 lines. However, this rule only “allows” stacking and doesn’t “force” stacking. It is only meant to fit labels when there isn’t enough space for a single line.

MAP LabelPro allow stacking rule

Fortunately, there is a trick to manually force text to label as multi-line: you need to manipulate the text attribute. Always make sure to create a backup or duplicate of your layer before trying this on your own data.

1. Go to your attribute table. Double-click to edit the text and click the Edit icon.

Edit feature attribute in MAP Attribute table

2. Edit the text so it is on separate lines.

Edit the text so it is on separate lines

In the attribute table, you will only see the first word of the multi-line text. But all the text is still there and you can see it by adjusting the row height.

Adjust the row height to see all the text

3. Run MAPublisher LabelPro, Label Features, or the MAP Label Tagger tool. MAPublisher will label the feature using the multi-line text specified in your attributes.

Labeling result

If you have the Allow Stacking rule enabled in MAPublisher LabelPro, it won’t affect multi-line text since it’s already setup that way. Generally, it’s good practice to leave the allow stacking rule enabled in case other labels require tighter fitting. Remember to create a MAP Text layer to contain labels that could not be placed. This can provide hints as to what LabelPro rule adjustments you need to make.

Illustrator GPU Performance Beta invite

Are you using Adobe Creative Cloud 2015? Would you like to improve the performance of Adobe Illustrator? If so, participate in the Adobe Illustrator GPU performance beta program by registering here. Your participation will significantly help to improve the performance of Adobe Illustrator in the future.

Adobe CC 2015 introduced a new feature in Illustrator Preferences and depending on the combination of the environment components, you might have already experienced that the performance can be really slow especially when making maps. We all know that many Illustrator files with cartographic projects can be very complex in terms of file size, layer/object structure, number of features, geometry, effects and tasks to every object applied. As a result, even if a supported GPU card is installed, the performance of Adobe Illustrator can be very slow.

We would like to introduce this beta program to you and our customers so that we can assist the Adobe Illustrator team to receive the customer feedback directly to help the development of the future version of Adobe Illustrator. If you could participate in this beta program, your voice will directly reach to the Adobe Illustrator team so that they can closely investigate to enhance the feature.

Adobe Illustrator CC 2015 Preferences: GPU Performance

Working With Avenza Floating Licenses Outside of Your Work Network

If you or your organization have a floating license for MAPublisher or Geographic Imager, this blog post is for you. Having a floating license provides you with a lot of flexibility when you want to bring your laptop computer outside your work network and use MAPublisher and Georaphic Imager at home or in the field.

Let’s say you have a laptop computer and you want to work on your mapping project outside your office network. You can do it if your organization has a floating license.

Step 1: Make sure all the software is installed

On your laptop computer, make sure that you have MAPublisher for Adobe Illustrator or Geographic Imager for Adobe Photoshop installed and that there is a valid floating license (for one or each product).

Step 2: Connect your laptop to the network and to the licensing server

If you are not sure how to connect your laptop to the network and to the server, please contact your IT administrator. It is essential that your laptop computer is connected to the license server so that you can obtain a liecnse from it.

Step 3: Follow the steps in the MAPublisher/Geographic Imager license management window

Open the License Management dialog box.

If you’re using MAPublisher, access MAPublisher by going to Help > MAPublisher Licensing > License Management.

If you’re using Geographic Imager, access License Management by going to File > Automate > Geographic Imager: License Management.

Click the Floating button to open the Floating License Setup dialog box.

Make sure that the “Allow roaming licenses” option is selected. Click OK.

Allow roaming licenses

Click the “Use roaming license” option and specify the number of days in the Duration of borrow option. This indicates how long you want to use the license outside of your network.

Specify duration of borrow

Clicking the “Checkout” button will change the status of the license. In this example, we borrowed a license from the license server for two days (December 16, 2015 starting date).

Checkout the license

Now you will be able to use your MAPublisher or Geographic license when your computer is disconnected from your work network.  You might want to test it by closing Adobe Illustrator or Photoshop, disconnect your computer from the network, restart Adobe Illustrator or Photoshop, and see if you can use MAPublisher or Geographic Imager.

Placing Text with an Offset Value Using MAP LabelPro

Having introduced some background information about text insertion point coordinate values in a previous post, it would be good to explore if this method works when trying to place text objects (annotations/labels) with a specific offset value. For example, if you have a point layer and there is an attribute for the offset value so that every object has a different offset value.

An Attribute table with the offset value for every object

Placing text objects with a specific offset is possible in MAP LabelPro. You can specify the Label Offset value in the MAP LabelPro dialog box. However, this setting will be applied to all text labels. In the example below (see screenshot), all the text will be placed 0.2 inches away from the object. However, that does not help when every point has different offset value like this example. Also, MAP LabelPro uses page units, not the world/map units. In this example, the offset distance was specified in the world/map unit (metres).

The offset option in The Point Rules dialog window from MAP LabelPro.

There are two methods you can accomplish to make the text placed with offset value. The first method is the same as the step shown above. You can adjust the text placement position by calculating the “ideal” coordinate for the text insertion point. From a MAP layer (point, line, or area), generate text with a MAPublisher feature (MAP LabelPro or Feature Label).  Then adjust the text position (maybe you will have to calculate a new position by adding/subtracting the offset values from the current point), then apply it to #MapX and #MapY. The second method is to adjust the position of the points first before labeling.

In the example below, a point layer with offset values in the attribute: x_Offset and y_Offset.

An example map with offset attributes (x_offset and y_offset)

Step 1: Calculate coordinates with offset.

  1. Create a copy of the layer just because the point value will be adjusted.
  2. Make the #MapX and #MapY visible (so that it’s easy to see when calculating).
  3. Create new columns (here we created “x+coord_withOffsetX” and “y+coord_withOffsetY”).
  4. Calculate the new coordinate of the points for X and Y (here we used Apply Expression) as shown below.

Step 1: Calculating the coordinates with offset

Step 2: Move the points to the calculated coordinates with the offset values.

Use the same method as the one introduced in the previous post. This method works for the Point layer as well. Open the Edit Schema window and apply “x_coord_withOffset” and “y_coord_withOffset” to #MapX and #MapY, respectively.

Step2: moving the points to the calculated coordinates with the offset values

Now, the points are moved to new position. The red point is the original and the blue points are the ones moved to the offset. Now you can label each points. After placing labels for the point layer (blue), you can make the point layer invisible.

The point position is adjusted by #MapX and #MapY

Now you can run the label engine (MAP LabelPro / Label Feature) for the new point layer with offset.

Sorting MAPublisher Layers with FME Auto

In this blog post we’ll look at how you can control the order of layers in MAPublisher when using FME Auto.

FME Auto to MAPublisher

FME currently doesn’t provide a way to explicitly define the output order of Feature Types in a workspace. In the Navigator you can reorder Readers and Writers to control the order in which they are run, but unfortunately you cannot do the same with the Feature Types they read and write respectively.

By default when you write layers to MAPublisher from FME using FME Auto, the layers are arranged first by geometry (text first, then Points, Lines, Polygons and lastly Images), then alphabetically by layer name. This behaviour can be changed by unchecking the FME Auto Parameter “Sort Layers by Geometry”. Once this has been turned off, MAPublisher will display layers in the order they are received from FME. Using this behaviour, some FME transformers and a Feature Type fanout (or new to 2015.1, specifying the Feature Type name) we can control the order of the layers in MAPublisher for optimal cartographic output.

The first thing we want to do is to add some input Feature Types.

Natural Earth Shapefiles
(Click for larger version)

We will then create a template AttributeCreator Transformer to give each layer two attributes: MP_LayerName and MP_Order. MP_LayerName will define the name of the layer in MAPublisher and MP_Order will determine the order the layer is passed to MAPublisher; hence the order in which it is displayed.

AttributeCreator Transformer to add MAPublisher Specific attributes

Each Feature Type will be connected to a copy of the AttributeCreator Transformer and the values will be populated for that layer. The layer with an order of 1 will be on top with larger numbers descending below.

Layer Name Order
Border 1
Graticules 2
Pacific Groupings 3
Tiny Countries 4
Coastline 5
Lakes 6
Countries 7
Rivers 8
Glaciated Areas 9
Land 10
Ocean 11
AttributeCreator Transformers connected to input Feature types
(Click for larger version)

Once this is done, all the inputs can be connected to a Sorter Transformer. The Sorter will be set to numeric and ascending.

Sorter Transformer
(Click for larger version)

Finally, the MAPublisher writer is added. The Sort by Geometry parameter needs to be set to No and the Feature Type name should be set by the MP_LayerName attribute we created earlier. This replaces Feature Type fanouts and has slightly new behaviour at FME 2015.1. It is explained more fully (here).

MAPublisher writer added with Sort by Geometry Set to No
(Click for larger version)
Output Feature Types are defined by the LayerName attribute

Once we run the workspace, we’ll see the layers in the Adobe Illustrator Layers panel in the exact order we specified.

Layers in Adobe Illustrator are in the correct order
The final map after some cartographic styling
(Click for larger version)

News Archive