SlideShare a Scribd company logo
Creating Maps with Style Defining and Using Custom Cartographic Symbols in MapGuide
Session Outline ,[object Object]
Simple Symbols and Point Usage
Simple Symbols and Line Usage
Compound Symbols
Data Driven Symbols,[object Object]
MapGuide Cartographic Examples Custom line styles and patterns Repeating line labels and directional arrows Ability to offset symbology from the geometry
MapGuide Cartographic Examples A more consistent and accurate way to define cased-lines Use of symbols on lines for labeling, e.g. highway shields, utility symbology, etc.
The New Cartographic Model Simple Symbol Definition Graphics Resize Box
The New Cartographic Model Simple Symbol Definition Graphics Resize Box Point Usage Line Usage Area Usage
The New Cartographic Model Simple Symbol Definition Graphics Resize Box Point Usage Line Usage Area Usage Parameter Definition
The New Cartographic Model Simple Symbol Definition Graphics Resize Box Point Usage Line Usage Area Usage Parameter Definition Compound Symbol Definition Simple Symbol Simple Symbol . . . Simple Symbol
The New Cartographic Model Layer Definition Simple Symbol Definition Vector Layer Definition Graphics Resize Box Vector Scale Range Point Usage Composite Type Style Line Usage Composite Rule Area Usage Composite Symbolization Parameter Definition Symbol Instance Compound Symbol Definition Simple Symbol Simple Symbol . . . Simple Symbol
Status of the Implementation With MapGuide Open Source 1.2 ,[object Object]
Usage for Highway Shields is fully functional
General usage for Lines is considered “Preview”
Code is in place to do line joins for complex line styles, however the code is buggy and requires massaging of the style definition to make it look goodComing in MapGuide Open Source 2.0 (this Fall) ,[object Object]
Lots of bug fixes, more control over rendering passes, angular offsets relative to geometry, and legend support for multi-variatethematics (RFC 29),[object Object]
In this Lab we’ll… And turn this: Into this:
Lab SetupLoad, Unpack, and Check Use the MapGuide Administrator application to load the MapsWithStyle.mgp file.http://localhost:8008/mapguide/mapadmin/login.php Unzip the Lab Application files MapsWithStyleApp.zip to:C:rogram FilesapGuideOpenSourceebServerExtensionswwbr />Unzip the lab exercise files MapsWithStyleEx.zip to: C:br />Test: http://localhost:8008/mapguide/maplab/index.php
Simple Symbols and Point Usage
Simple Symbol Definition
Defining Graphics as a Path ‘None’ ‘Round’ ‘Square’ ‘Triangle’ ‘None’ ‘Bevel’ ‘Round’ ‘Miter’
Specifying Geometry Syntax of the Geometry element is a subset of that defined in the Microsoft XPS Abbreviated Geometry Syntax. All coordinates are specified in millimeters and defined in the Cartesian Plane.
Geometry Example To draw a 5 mm square box Would look like: M -2.5,2.5 H 2.5 V -2.5 H -2.5 Z
Geometry Syntax
Geometry Syntax
Defining Graphics as an Image
Defining Graphicsas Text
Point Usage ‘FromAngle’ or ‘FromGeometry’
Example: A Simple Square Symbol <SimpleSymbolDefinition version="1.0.0">   <Name>Blue Square</Name>   <Description>Cool a Blue Square</Description>   <Graphics>     <Path>       <Geometry>M -2.5,2.5 H 2.5 V -2.5 H -2.5 Z</Geometry>       <FillColor>FF0000FF</FillColor>       <LineColor>FFFFFFFF</LineColor>       <LineWeight>0.75</LineWeight>       <LineWeightScalable>false</LineWeightScalable>     </Path> </Graphics>   <PointUsage>     <AngleControl>’FromAngle’</AngleControl>   </PointUsage>   <ParameterDefinition/> </SimpleSymbolDefinition>
Layer Definition Changes
Example: Layer with Simple Square --- Common Layer Definition Stuff Removed --- <CompositeTypeStyle>   <CompositeRule>     <LegendLabel></LegendLabel>     <CompositeSymbolization>       <SymbolInstance>         <ResourceId>           Library://CartoSymbols/Square.SymbolDefinition         </ResourceId>        <ParameterOverrides/>       </SymbolInstance>     </CompositeSymbolization>   </CompositeRule> </CompositeTypeStyle> --- Common Layer Definition Stuff Removed ---
Lab Exercise #1Define an International Hospital Symbol Navigate to C:apsWithStyleab1br />Complete Missing Geometry in Hospital.SymbolDefinition.xml Add Symbol Reference: Library://MapsWithStyle/CartoSymbols/Hospital.SymbolDefinitionin Hospital.LayerDefinition.xml In the Lab1 directory run “loadall.bat”
Simple Symbols and Line Usage
Defining Line Patterns ,[object Object]
For example:Geometry: M 0,0 H 4 Z M 6,0 H 2 Z Repeat: 10 Results in:
Lines with Decorations ,[object Object]
For example:Geometry: M -2.5,0.0 H 2.5 ZM 0.0,0.5 V -0.5 Z Repeat: 5 Results in:
Line Usage ‘FromAngle’ or ‘FromGeometry’ ‘OverlapNone’ ‘OverlapDirect’ ‘OverlapNoWrap’ ‘OverlapWrap’ ‘None’ ‘Bevel’ ‘Round’ ‘Miter’
Lab Exercise #2Replace the Railroad Line Pattern Navigate to C:apsWithStyleab2br />Complete Missing Geometry in Railroad.SymbolDefinition.xml Specify the Repeat value in theLineUsage element In the Lab2 directory run “loadall.bat”
Compound Symbols
Compound Symbol Definition ,[object Object]
Add decorative symbols at the start, end, or at repeating intervals along a line
The RenderingPass element provides fine-grained control of the draw order,[object Object]
Creating a Highway with Shields The Highway Inner Line  <SimpleSymbolDefinition>       <Name>Inner</Name> 	  <Graphics> 		<Path> 		   <Geometry>M 0.0,0.0 H 5.0 Z</Geometry> 		   <LineColor>FFFF0000</LineColor> 		   <LineWeight>0.8</LineWeight> 		</Path> 	  </Graphics> 	  <LineUsage> 		<VertexControl>'OverlapWrap'</VertexControl> 		<StartOffset>0</StartOffset> 		<Repeat>5.0</Repeat> 	  </LineUsage>   	  <ParameterDefinition/>     </SimpleSymbolDefinition>     <RenderingPass>1</RenderingPass>   </SimpleSymbol>
That was easy, what about the Shield? ,[object Object]
The Text element is placed atthe center of the shield
Using the ResizeControl andResizeBox elements the shield can grow to accommodate multi-digit route numbers

More Related Content

Viewers also liked

NYC Open Data Meetup--D3.js workshop ii make beautiful maps
NYC Open Data Meetup--D3.js workshop ii make beautiful mapsNYC Open Data Meetup--D3.js workshop ii make beautiful maps
NYC Open Data Meetup--D3.js workshop ii make beautiful maps
Vivian S. Zhang
 
Global deforestation through time. Presentation at ESA
Global deforestation through time. Presentation at ESAGlobal deforestation through time. Presentation at ESA
Global deforestation through time. Presentation at ESA
Javier de la Torre
 
Making beautiful maps with Mapbox Studio by Charley Glynn
Making beautiful maps with Mapbox Studio by Charley GlynnMaking beautiful maps with Mapbox Studio by Charley Glynn
Making beautiful maps with Mapbox Studio by Charley Glynn
Shaun Lewis
 
Blackboard.ppt template
Blackboard.ppt templateBlackboard.ppt template
Blackboard.ppt template
Carm Macasling
 
Edi road mapping for innovations
Edi road mapping for innovationsEdi road mapping for innovations
Edi road mapping for innovations
Trong Tan Ho
 
AVID Overview - Cornell Notes
AVID Overview - Cornell NotesAVID Overview - Cornell Notes
AVID Overview - Cornell NotesJennifer Chiwaki
 
Making Web Maps Beautiful & Different with TileMill
Making Web Maps Beautiful & Different with TileMillMaking Web Maps Beautiful & Different with TileMill
Making Web Maps Beautiful & Different with TileMillarno974
 
Cornell notes intro template
Cornell notes intro templateCornell notes intro template
Cornell notes intro templatemcicconi
 
Classification of Programming Languages
Classification of Programming LanguagesClassification of Programming Languages
Classification of Programming Languages
Project Student
 
Cornell Notes Student PPT
Cornell Notes Student PPTCornell Notes Student PPT
Cornell Notes Student PPT
Hector Santiago
 
Answer In The Dark
Answer In The DarkAnswer In The Dark
Answer In The Dark
Presenter Media
 
Facility Layout in production management
Facility Layout in production managementFacility Layout in production management
Facility Layout in production management
Joshua Miranda
 
Programming languages
Programming languagesProgramming languages
Programming languages
Asmasum
 
Year 11 Revision Of Skills
Year 11 Revision Of SkillsYear 11 Revision Of Skills
Year 11 Revision Of Skills
msrichards
 
Introduction to Slide Design: 7 Rules for Creating Effective Slides
Introduction to Slide Design: 7 Rules for Creating Effective SlidesIntroduction to Slide Design: 7 Rules for Creating Effective Slides
Introduction to Slide Design: 7 Rules for Creating Effective Slides
Alex Rister
 
Lect 1. introduction to programming languages
Lect 1. introduction to programming languagesLect 1. introduction to programming languages
Lect 1. introduction to programming languagesVarun Garg
 

Viewers also liked (17)

The Map Of Innovation
The Map Of InnovationThe Map Of Innovation
The Map Of Innovation
 
NYC Open Data Meetup--D3.js workshop ii make beautiful maps
NYC Open Data Meetup--D3.js workshop ii make beautiful mapsNYC Open Data Meetup--D3.js workshop ii make beautiful maps
NYC Open Data Meetup--D3.js workshop ii make beautiful maps
 
Global deforestation through time. Presentation at ESA
Global deforestation through time. Presentation at ESAGlobal deforestation through time. Presentation at ESA
Global deforestation through time. Presentation at ESA
 
Making beautiful maps with Mapbox Studio by Charley Glynn
Making beautiful maps with Mapbox Studio by Charley GlynnMaking beautiful maps with Mapbox Studio by Charley Glynn
Making beautiful maps with Mapbox Studio by Charley Glynn
 
Blackboard.ppt template
Blackboard.ppt templateBlackboard.ppt template
Blackboard.ppt template
 
Edi road mapping for innovations
Edi road mapping for innovationsEdi road mapping for innovations
Edi road mapping for innovations
 
AVID Overview - Cornell Notes
AVID Overview - Cornell NotesAVID Overview - Cornell Notes
AVID Overview - Cornell Notes
 
Making Web Maps Beautiful & Different with TileMill
Making Web Maps Beautiful & Different with TileMillMaking Web Maps Beautiful & Different with TileMill
Making Web Maps Beautiful & Different with TileMill
 
Cornell notes intro template
Cornell notes intro templateCornell notes intro template
Cornell notes intro template
 
Classification of Programming Languages
Classification of Programming LanguagesClassification of Programming Languages
Classification of Programming Languages
 
Cornell Notes Student PPT
Cornell Notes Student PPTCornell Notes Student PPT
Cornell Notes Student PPT
 
Answer In The Dark
Answer In The DarkAnswer In The Dark
Answer In The Dark
 
Facility Layout in production management
Facility Layout in production managementFacility Layout in production management
Facility Layout in production management
 
Programming languages
Programming languagesProgramming languages
Programming languages
 
Year 11 Revision Of Skills
Year 11 Revision Of SkillsYear 11 Revision Of Skills
Year 11 Revision Of Skills
 
Introduction to Slide Design: 7 Rules for Creating Effective Slides
Introduction to Slide Design: 7 Rules for Creating Effective SlidesIntroduction to Slide Design: 7 Rules for Creating Effective Slides
Introduction to Slide Design: 7 Rules for Creating Effective Slides
 
Lect 1. introduction to programming languages
Lect 1. introduction to programming languagesLect 1. introduction to programming languages
Lect 1. introduction to programming languages
 

Similar to Creating Maps With Style

Beholding the giant pyramid of application development; why Ajax applications...
Beholding the giant pyramid of application development; why Ajax applications...Beholding the giant pyramid of application development; why Ajax applications...
Beholding the giant pyramid of application development; why Ajax applications...
Javeline B.V.
 
Gimias 1.2 & 1.3
Gimias 1.2 & 1.3Gimias 1.2 & 1.3
Struts2
Struts2Struts2
Struts2
yuvalb
 
Building real-time collaborative apps with Ajax.org Platform
Building real-time collaborative apps with Ajax.org PlatformBuilding real-time collaborative apps with Ajax.org Platform
Building real-time collaborative apps with Ajax.org Platform
Javeline B.V.
 
Cleveland Silverlight Firestarter - XAML Basics
Cleveland Silverlight Firestarter - XAML BasicsCleveland Silverlight Firestarter - XAML Basics
Cleveland Silverlight Firestarter - XAML Basics
Sarah Dutkiewicz
 
HTML5 Fundamentals
HTML5 FundamentalsHTML5 Fundamentals
HTML5 Fundamentals
Doncho Minkov
 
Csphtp1 18
Csphtp1 18Csphtp1 18
Csphtp1 18
HUST
 
Degrafa Beta 3 - 360|MAX
Degrafa Beta 3 - 360|MAXDegrafa Beta 3 - 360|MAX
Degrafa Beta 3 - 360|MAX
Juan Sanchez
 
Rendering OpenStreetMap Data using Mapnik
Rendering OpenStreetMap Data using MapnikRendering OpenStreetMap Data using Mapnik
Rendering OpenStreetMap Data using Mapnik
Graham Jones
 
The State of GeoServer
The State of GeoServerThe State of GeoServer
The State of GeoServer
Justin Deoliveira
 
CRUD with Dojo
CRUD with DojoCRUD with Dojo
CRUD with Dojo
Eugene Lazutkin
 
C++.pptx
C++.pptxC++.pptx
C++.pptx
Sabi995708
 
Graphs made easy with SAS ODS Graphics Designer (PAPER)
Graphs made easy with SAS ODS Graphics Designer (PAPER)Graphs made easy with SAS ODS Graphics Designer (PAPER)
Graphs made easy with SAS ODS Graphics Designer (PAPER)
Kevin Lee
 
Opensource gis development - part 3
Opensource gis development - part 3Opensource gis development - part 3
Opensource gis development - part 3
Andrea Antonello
 
Yahoo Mobile Widgets
Yahoo Mobile WidgetsYahoo Mobile Widgets
Yahoo Mobile Widgets
Jose Palazon
 
Playing with d3.js
Playing with d3.jsPlaying with d3.js
Playing with d3.jsmangoice
 
Combres
CombresCombres
Combres
Buu Nguyen
 

Similar to Creating Maps With Style (20)

Beholding the giant pyramid of application development; why Ajax applications...
Beholding the giant pyramid of application development; why Ajax applications...Beholding the giant pyramid of application development; why Ajax applications...
Beholding the giant pyramid of application development; why Ajax applications...
 
Gimias 1.2 & 1.3
Gimias 1.2 & 1.3Gimias 1.2 & 1.3
Gimias 1.2 & 1.3
 
Struts2
Struts2Struts2
Struts2
 
Building real-time collaborative apps with Ajax.org Platform
Building real-time collaborative apps with Ajax.org PlatformBuilding real-time collaborative apps with Ajax.org Platform
Building real-time collaborative apps with Ajax.org Platform
 
Odp
OdpOdp
Odp
 
Cleveland Silverlight Firestarter - XAML Basics
Cleveland Silverlight Firestarter - XAML BasicsCleveland Silverlight Firestarter - XAML Basics
Cleveland Silverlight Firestarter - XAML Basics
 
HTML5 Fundamentals
HTML5 FundamentalsHTML5 Fundamentals
HTML5 Fundamentals
 
Csphtp1 18
Csphtp1 18Csphtp1 18
Csphtp1 18
 
Degrafa Beta 3 - 360|MAX
Degrafa Beta 3 - 360|MAXDegrafa Beta 3 - 360|MAX
Degrafa Beta 3 - 360|MAX
 
Rendering OpenStreetMap Data using Mapnik
Rendering OpenStreetMap Data using MapnikRendering OpenStreetMap Data using Mapnik
Rendering OpenStreetMap Data using Mapnik
 
The State of GeoServer
The State of GeoServerThe State of GeoServer
The State of GeoServer
 
CRUD with Dojo
CRUD with DojoCRUD with Dojo
CRUD with Dojo
 
C++.pptx
C++.pptxC++.pptx
C++.pptx
 
Graphs made easy with SAS ODS Graphics Designer (PAPER)
Graphs made easy with SAS ODS Graphics Designer (PAPER)Graphs made easy with SAS ODS Graphics Designer (PAPER)
Graphs made easy with SAS ODS Graphics Designer (PAPER)
 
Opensource gis development - part 3
Opensource gis development - part 3Opensource gis development - part 3
Opensource gis development - part 3
 
BluePrint Mobile Framework
BluePrint Mobile FrameworkBluePrint Mobile Framework
BluePrint Mobile Framework
 
Yahoo Mobile Widgets
Yahoo Mobile WidgetsYahoo Mobile Widgets
Yahoo Mobile Widgets
 
Playing with d3.js
Playing with d3.jsPlaying with d3.js
Playing with d3.js
 
Combres
CombresCombres
Combres
 
02 create first-map
02 create first-map02 create first-map
02 create first-map
 

Recently uploaded

Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
Quantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIsQuantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIs
Vlad Stirbu
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
Pierluigi Pugliese
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
Welocme to ViralQR, your best QR code generator.
Welocme to ViralQR, your best QR code generator.Welocme to ViralQR, your best QR code generator.
Welocme to ViralQR, your best QR code generator.
ViralQR
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Product School
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Aggregage
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
RinaMondal9
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 

Recently uploaded (20)

Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
Quantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIsQuantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIs
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
Welocme to ViralQR, your best QR code generator.
Welocme to ViralQR, your best QR code generator.Welocme to ViralQR, your best QR code generator.
Welocme to ViralQR, your best QR code generator.
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 

Creating Maps With Style

  • 1. Creating Maps with Style Defining and Using Custom Cartographic Symbols in MapGuide
  • 2.
  • 3. Simple Symbols and Point Usage
  • 4. Simple Symbols and Line Usage
  • 6.
  • 7. MapGuide Cartographic Examples Custom line styles and patterns Repeating line labels and directional arrows Ability to offset symbology from the geometry
  • 8. MapGuide Cartographic Examples A more consistent and accurate way to define cased-lines Use of symbols on lines for labeling, e.g. highway shields, utility symbology, etc.
  • 9. The New Cartographic Model Simple Symbol Definition Graphics Resize Box
  • 10. The New Cartographic Model Simple Symbol Definition Graphics Resize Box Point Usage Line Usage Area Usage
  • 11. The New Cartographic Model Simple Symbol Definition Graphics Resize Box Point Usage Line Usage Area Usage Parameter Definition
  • 12. The New Cartographic Model Simple Symbol Definition Graphics Resize Box Point Usage Line Usage Area Usage Parameter Definition Compound Symbol Definition Simple Symbol Simple Symbol . . . Simple Symbol
  • 13. The New Cartographic Model Layer Definition Simple Symbol Definition Vector Layer Definition Graphics Resize Box Vector Scale Range Point Usage Composite Type Style Line Usage Composite Rule Area Usage Composite Symbolization Parameter Definition Symbol Instance Compound Symbol Definition Simple Symbol Simple Symbol . . . Simple Symbol
  • 14.
  • 15. Usage for Highway Shields is fully functional
  • 16. General usage for Lines is considered “Preview”
  • 17.
  • 18.
  • 19. In this Lab we’ll… And turn this: Into this:
  • 20. Lab SetupLoad, Unpack, and Check Use the MapGuide Administrator application to load the MapsWithStyle.mgp file.http://localhost:8008/mapguide/mapadmin/login.php Unzip the Lab Application files MapsWithStyleApp.zip to:C:rogram FilesapGuideOpenSourceebServerExtensionswwbr />Unzip the lab exercise files MapsWithStyleEx.zip to: C:br />Test: http://localhost:8008/mapguide/maplab/index.php
  • 21. Simple Symbols and Point Usage
  • 23. Defining Graphics as a Path ‘None’ ‘Round’ ‘Square’ ‘Triangle’ ‘None’ ‘Bevel’ ‘Round’ ‘Miter’
  • 24. Specifying Geometry Syntax of the Geometry element is a subset of that defined in the Microsoft XPS Abbreviated Geometry Syntax. All coordinates are specified in millimeters and defined in the Cartesian Plane.
  • 25. Geometry Example To draw a 5 mm square box Would look like: M -2.5,2.5 H 2.5 V -2.5 H -2.5 Z
  • 30. Point Usage ‘FromAngle’ or ‘FromGeometry’
  • 31. Example: A Simple Square Symbol <SimpleSymbolDefinition version="1.0.0"> <Name>Blue Square</Name> <Description>Cool a Blue Square</Description> <Graphics> <Path> <Geometry>M -2.5,2.5 H 2.5 V -2.5 H -2.5 Z</Geometry> <FillColor>FF0000FF</FillColor> <LineColor>FFFFFFFF</LineColor> <LineWeight>0.75</LineWeight> <LineWeightScalable>false</LineWeightScalable> </Path> </Graphics> <PointUsage> <AngleControl>’FromAngle’</AngleControl> </PointUsage> <ParameterDefinition/> </SimpleSymbolDefinition>
  • 33. Example: Layer with Simple Square --- Common Layer Definition Stuff Removed --- <CompositeTypeStyle> <CompositeRule> <LegendLabel></LegendLabel> <CompositeSymbolization> <SymbolInstance> <ResourceId> Library://CartoSymbols/Square.SymbolDefinition </ResourceId> <ParameterOverrides/> </SymbolInstance> </CompositeSymbolization> </CompositeRule> </CompositeTypeStyle> --- Common Layer Definition Stuff Removed ---
  • 34. Lab Exercise #1Define an International Hospital Symbol Navigate to C:apsWithStyleab1br />Complete Missing Geometry in Hospital.SymbolDefinition.xml Add Symbol Reference: Library://MapsWithStyle/CartoSymbols/Hospital.SymbolDefinitionin Hospital.LayerDefinition.xml In the Lab1 directory run “loadall.bat”
  • 35. Simple Symbols and Line Usage
  • 36.
  • 37. For example:Geometry: M 0,0 H 4 Z M 6,0 H 2 Z Repeat: 10 Results in:
  • 38.
  • 39. For example:Geometry: M -2.5,0.0 H 2.5 ZM 0.0,0.5 V -0.5 Z Repeat: 5 Results in:
  • 40. Line Usage ‘FromAngle’ or ‘FromGeometry’ ‘OverlapNone’ ‘OverlapDirect’ ‘OverlapNoWrap’ ‘OverlapWrap’ ‘None’ ‘Bevel’ ‘Round’ ‘Miter’
  • 41. Lab Exercise #2Replace the Railroad Line Pattern Navigate to C:apsWithStyleab2br />Complete Missing Geometry in Railroad.SymbolDefinition.xml Specify the Repeat value in theLineUsage element In the Lab2 directory run “loadall.bat”
  • 43.
  • 44. Add decorative symbols at the start, end, or at repeating intervals along a line
  • 45.
  • 46. Creating a Highway with Shields The Highway Inner Line <SimpleSymbolDefinition> <Name>Inner</Name> <Graphics> <Path> <Geometry>M 0.0,0.0 H 5.0 Z</Geometry> <LineColor>FFFF0000</LineColor> <LineWeight>0.8</LineWeight> </Path> </Graphics> <LineUsage> <VertexControl>'OverlapWrap'</VertexControl> <StartOffset>0</StartOffset> <Repeat>5.0</Repeat> </LineUsage> <ParameterDefinition/> </SimpleSymbolDefinition> <RenderingPass>1</RenderingPass> </SimpleSymbol>
  • 47.
  • 48. The Text element is placed atthe center of the shield
  • 49. Using the ResizeControl andResizeBox elements the shield can grow to accommodate multi-digit route numbers
  • 50. StartOffset and EndOffset elements are used to ensure it starts and ends 50 mm from the endpoints
  • 51.
  • 53.
  • 54.
  • 56.
  • 58. Parameter Overrides Example <ParameterOverrides> <Override> <SymbolName>MySymbol</SymbolName> <ParameterIdentifier> MY_PARAMETER </ParameterIdentifier> <ParameterValue>“MY_VALUE_FIELD"</ParameterValue> </Override> </ParameterOverrides> Any FDO Expression!!!
  • 59. Lab Exercise #4Replace the ‘#’ in the Shield with the Route Number Navigate to C:apsWithStyleab4br />Review the Parameter Definition of the Shield symbol provided in Freeway.SymbolDefinition.xml Specify the Parameter Identifier: ROUTE_NUMBER. Replace the constant ‘#’ with the Parameter Identifier: %ROUTE_NUMBER%. Review the Parameter Overrides elements provided in Roads.LayerDefinition.xml Set the Parameter Identifier elements to: ROUTE_NUMBER. In the Lab4 directory run “loadall.bat”
  • 60. Q & A robert.bray@autodesk.com