Version 5 (modified by 18 years ago) ( diff ) | ,
---|
This page contains an change request (RFC) for the MapGuide Open Source project. More MapGuide RFCs can be found on the RFCs page.
Status
RFC Template Version | (1.0) |
Submission Date | (Date/Time submitted) |
Last Modified | Walt Welton-Lair Timestamp |
Author | Many |
RFC Status | draft |
Implementation Status | pending |
Proposed Milestone | 1.2 |
Assigned PSC guide(s) | (when determined) |
Voting History | (vote date) |
+1 | |
+0 | |
-0 | |
-1 |
Overview
This document describes a proposal for adding a cartographic styling engine to MapGuide. The main goal is to be able to handle point, line, and fill styles as sophisticated as AutoCAD as well as being able to represent all symbols described in
http://ngmdb.usgs.gov/fgdc_gds/geolsymstd/fgdc-geolsym-allnoplates.pdf
We are aware that this is a high standard we want to live up to and it is currently beyond our ability to fully test against this standard. At this point though we still believe that we can create all symbols with the proposed solution represented by these two major requirements. Note: the FGDC standard goes beyond line styles, fill styles, and point styles – we are ignoring anything else in that document.
Motivation
Most GIS applications are in need of very sophisticated symbolization. In many countries published maps must adhere to high standards that are often even written into law. This RFC introduces a high quality symbolization engine for MapGuide.
The new engine will also support using point symbols as labels. This addresses a long standing MapGuide request for being able to create maps that use highway symbolization as part of labeling.
Proposed Solution
The proposal is to create one engine that will satisfy the requirements of all three symbolizations (point, line, and area). This engine will use as input a new XML resource, parameters, and geometry, and will use the rendering interface of MapGuide to perform high quality stylization from those inputs. The resource format and the engine will ultimately be able to handle all three symbolization types.
To implement all of this we will create a new type-style element for the MapGuide layer definition schema. This type-style can reference the new symbolization resources.
Symbols themselves will be represented as a new resource type, and will be stored in the MapGuide resource repository. Groups of symbols can then be easily stored in folders in the repository to represent symbol libraries. The proposed design includes the ability to define both simple and compound symbols. A simple symbol consists of a collection of path, image, and text elements that define the graphics, and information on how the symbol is used in the context of points, lines, and areas. A compound symbol contains a collection of simple symbols, either inlined or using references to existing symbols.
The details on how the symbolization works are best gathered from the XML schema. Please refer to appendix A for the schema. Here are some examples to make it more clear how the symbol engine will work.
Implications
This section allows discussion of the repercussions of the change, such as whether there will be any breakage in backwards compatibility, if documentation will need to be updated, etc.
Test Plan
How the proposed change will be tested, if applicable. New unit tests should be detailed here???
Funding/Resources
This section will confirm that the proposed feature has enough support to proceed. This would typically mean that the entity making the changes would put forward the RFC, but a non-developer could act as an RFC author if they are sure they have the funding to cover the change.
Attachments (11)
- ex1.jpg (4.1 KB ) - added by 18 years ago.
- ex2.jpg (937 bytes ) - added by 18 years ago.
- ex3.jpg (2.7 KB ) - added by 18 years ago.
- ex4.jpg (2.6 KB ) - added by 18 years ago.
- ex4a.jpg (3.3 KB ) - added by 18 years ago.
- ex4b.jpg (3.2 KB ) - added by 18 years ago.
- ex5.jpg (2.7 KB ) - added by 18 years ago.
- ex6a.jpg (3.7 KB ) - added by 18 years ago.
- ex6b.jpg (3.9 KB ) - added by 18 years ago.
- Symbolization.zip (442.8 KB ) - added by 18 years ago.
-
LineUsage.doc
(567.0 KB
) - added by 14 years ago.
Description of LineUsage behavior
Download all attachments as: .zip