Marc Boulanger

MULTI ATTRIBUTE POLYGON LABELLING: WHEN SCREEN EDITING WAS THE ONLY WAY TO DO IT...

This paper presents an overview of an ArcInfo based multiple attribute polygon labelling application (Positext), for natural resources inventory mapping. Description of the software, the business domain it is aimed at, software design, functions, operation, and operational capacities are also presented. Finally the benefits are further described.



What is Positext?

In natural resources inventory mapping production, up to 50% of production time is spent on text positioning and text justification within corresponding polygons to be described (ex.: 1:20 000 or 1:50 000 inventory forest maps, geological survey maps...). This process is often referred to as "multiple attribute polygon labelling". Usually, textual information resides in an external RDBMS and is linked (through each polygon tag) to a corresponding geometric polygon file in a GIS. One major task is to automate as much as possible the cartographic placement of a series of attribute values in an order previously defined by the user. Positext is an application software specifically addressing this task through multiple user defined iterations (on all polygons of an entire map).

Positext business domain

Major potential users of Positext are government agencies/departments, companies as well as consultants involved in natural resources inventory mapping. Two business sectors are more specifically targeted: forestry and geological surveys. Pulp and paper companies, forest engineering consulting firms, forestry departments, non government agencies involved in forest inventories and monitoring, geological surveys governmental agencies as well as other "annotation oriented" producers are prime users of Positext. In addition, Positext can also benefit to other sectors like agriculture, environment and, in general, to any "polygonally depicted" domains.

The designer's job behind Positext

In mapping production involving polygonal thematics, Positext automates the "multiple attribute polygon labelling" task, through an interational process. Prior to initiate the task, minimal data preparation needs to be done. Maps to be processed must be put in a specific directory. External database attribute values must be converted into an ascii file, which will also contain tags of the polygons to be processed. An ascii file describing the database structure must also be creaded (at least for user selected attribute fields to be processed). When this data preparation is completed, the iterational process can begin. For each iteration, the software allows the user to choose which combination of attribute fields will be processed (called "multiple attribute value strings" or MAVS). Then it determines the dimensions of "text annotation rectangles" used to position the selected attribute values to be written inside each polygon. Dimensions of rectangles are automatically determined from user defined parameters such as character hight, width, spacing, rotation angle, rotation angle increment, multi-line annotation... and the exact lenght of the actual concatenated attribute values. Once these dimensions are known for each polygon, Positext searches for available space within each one of these polygons in order to position corresponding "annotation rectangles". The software prevents overwriting on existing symbols, texts, polygon limits, or islands belonging to reference themes already annotated. Two algorythms are used by Positext. With the first algorythm, the software attempts to position the annotation rectangles related to each polygon's MAVS on a single annotation line, unless otherwise defined. For each polygon, the positioning algorythm will try to position the annotation rectangle in the center of the polygon. If unable to do so, it will then work downwards and from left to right. When available space is found, the annotation rectangle will be centered between the last and next "obstacle". Such an obstacle may be an existing text, symbol, island or polygon boundary. When unable to position the MAVS as a single annotation line, Positext switches to the second algorythm, which allows for multiple annotation lines. For all polygons where it was impossible to position corresponding annotation rectangles using the multi-line algorythm, the software "traps" these polygon tags into a separate file for further annotation processing under refined user parameters. It is at this point in time that the next iteration will be initiated, using for example a smaller font size, a shorter character width and so on. When Positext is unable to automatically position annotation rectangles anymore, the user can then make the software to generate the annotation map based, as previously mentioned, on each actual attribute value string at the exact location of each polygon computed annotation rectangle. For these polygons which size or geometry did not allow to position annotation rectangles using either of the two algorythms, software options allow the user to display these unresolved polygon MAVS in "red color" indicating a need for subsequent and final manual screen editing. Finally, the software generates the ArcInfo binary annotation map.

Positext current functions

In interactive mode, major functions are: If and when activated, a set of options allow the user to:

Positext operation

Positext runs on ArcInfo v.7 Unix workstations or in a X-Windows environment. The only resources requested from ArcInfo through AML programming are for "grabbing" the geometric description of each polygon of the polygon map(s) to be processed; and for generating the ArcInfo binary annotation map(s) once the multiple attribute polygon labelling has been completed. The software can be used in either interactive mode, or in batch mode (allowing for multiple maps processing). In general, Positext users will firstly operate in the interactive mode in order to "test" and define optimal parameters which are to be used to compute and position the annotation rectangles. These users do so by processing a polygon map most representative of the set of maps to process. Then they continue in batch mode and process the full set of maps for a first iteration. They will further switch back into interactive mode in order to "refine" their own user defined parameters which had been used by Positext to compute the placement of annotation rectangles during the first iteration. These new refined parameters serve for the second iteration, which will most likely be conducted in a batch mode. And so on.

Capacities and limits in using Positext

Positext software operational capacities allow the user to operate according to the following maximum values: 20 attribute values per MAVS; 80 characters length per attribute value; 5001 records for the DB ascii attribute file (one file per polygon map to be processed); 5001 X-Y coordinates per polygon; 200 "islands" within a polygon; 5001 X-Y coordinates per "island"; 5001 symbols in "reference theme", for each polygon map to process; 5001 texts in "reference theme", for each polygon map to process; 2000 symbols in "reference theme" for each polygon to process; 2000 texts in "reference theme" for each polygon to process.

Benefits of using Positext

Actual users of Positext in natural resources inventory mapping, have experienced up to 55% reduction time in their multiple attribute polygon labelling procedure. This has translated into a 20% to 30% reduction in their map production total costs. In general, after three iterations more than 95% of polygons will have at least their respective ID labelled, and over 75% of these polygons will have their corresponding set of attributes labelled. Positext is a product of BCGT and is sold for 1 995 $ per CPU licence. BCGT Inc., based in Quebec City, Canada, advises and assists public and private organizations in the design, development and implementation of geographic information systems and related technologies.

Marc Boulanger
GIS Consultant
BCGT Inc.
710, Bouvier, Suite 295
Quebec QC G2J 1C2
Telephone: (418) 622-8411
Fax: (418) 622-0427