MapWindow 6.0: An Extensible Architecture for Cartographic Symbology 12/6/2015 1 of 34 Ted Dunsford FOSS4G Conference October, 2009.

Slides:



Advertisements
Similar presentations
B2PDF b2pdf is the new and innovative release of our powerful command line tool for PDF customization b2pdf is a robust stand alone PDF file generation.
Advertisements

Geo GIS Practicuum Introduction to ArcGIS 8 Exercise 5 - ESRI Virtual Campus Chapters 1-2, ArcGIS Methods …
The GIMP Simple features tutorial By Mary A White.
Chapter 17 Creating Images for the Web. Chapter Lessons Learn about Web features Optimize images for Web use Create a button for a Web page Create slices.
Labeling and Annotation
Web Applications Development Using Coldbox Platform Eddie Johnston.
Welcome to DEP’s GIS Workshop Series Workshop 4 Symbology in ArcMap.
Intermediate Level Course. Text Format The text styles, bold, italics, underlining, superscript and subscript, can be easily added to selected text. Text.
Annotation & Nomenclature By Corey Fortezzo for PG&G GIS Workshop, 2010.
Accessing the Water Data of the World using Open Source Desktop GIS Enabled Software Tools (few steps forward…) Daniel P. Ames, Ph.D. P.E. Idaho State.
Macromedia Dreamweaver 4 Foundation Level Course.
Introduction to SVG & Batik Presented by Shang-Ming Huang.
Introducing the CUAHSI Hydrologic Information System Desktop Application (HydroDesktop) and Open Development Community Jiří Kadlec, Daniel Ames, Teva Velupillai.
ArcView Documents Francisco Olivera, Ph.D., P.E. Department of Civil Engineering Texas A&M University.
QGIS Matthew Rosencrans Tom DiLiberto. Outline What is QGIS? What can we do with it? What data can we work with?
19 th Advanced Summer School in Regional Science Overview and more advanced directions with ArcGIS.
ESRM 250 & CFR 520: Introduction to GIS © Phil Hurvitz, KEEP THIS TEXT BOX this slide includes some ESRI fonts. when you save this presentation,
ESRM 250 & CFR 520: Introduction to GIS © Phil Hurvitz, KEEP THIS TEXT BOX this slide includes some ESRI fonts. when you save this presentation,
Printing and Page Formatting ITSW 1401, Intro to Word Processing Instructor: Glenda H. Easter.
Professional Informatics & Quality Assurance Software Lifecycle Manager „Tools that are more a help than a hindrance”
2. Introduction to the Visual Studio.NET IDE 2. Introduction to the Visual Studio.NET IDE Ch2 – Deitel’s Book.
ArcGIS Overview Lecture 1: Software Layer characteristics Thematic maps.
® Page 1 Intel Compiler Lab – Intel Array Visualizer HDF Workshop VIII October 27, 2004 John Readey
Working with Cascading Style Sheets. Introducing Cascading Style Sheets Style sheets are files or forms that describe the layout and appearance of a document.
XP Tutorial 7New Perspectives on Creating Web Pages with HTML, XHTML, and XML 1 Working with Cascading Style Sheets Creating a Style for Online Scrapbooks.
Chapter 3 Dreamweaver: Part I The Web Warrior Guide to Web Design Technologies.
Java Beans.
What’s new in Fireworks 8 Optimization Integrated workflow Create without complexity Workflow Improvements.
Building a UI with Zen Pat McGibbon –Sales Engineer.
Exploring Map Layers in Google Earth Georeferencing Images.
CARLSON SOFTWARE CONFERENCE DANIEL V. SYPERSMA VICTOR GRAPHICS.
© 2012 Adobe Systems Incorporated. All Rights Reserved. Copyright 2012 Adobe Systems Incorporated. All rights reserved. ® INTRODUCTION TO FLASH ANIMATION.
® Copyright 2010 Adobe Systems Incorporated. All rights reserved. ® ® 1 INTRODUCTION TO ADOBE FLASH PROFESSIONAL CS5.
Introduction to ArcGIS for Environmental Scientists Module 2 – Fundamentals Chapter 7 – Queries.
JAOIT 8.  Dreamweaver is a program for creating web pages and managing websites without having to type HTML code.  WYSIWYG – What you see is what you.
CIS165 Desktop Publishing Microsoft Office Publisher 2007 Unit A – Getting Started.
Session 1 SESSION 1 Working with Dreamweaver 8.0.
ATN GIS Support ArcGIS: ArcMap Data View.
Introduction to ArcGIS for Environmental Scientists Module 1 – Data Visualization Chapter 3 – Symbology and Labeling.
1 of 27 MapWindow 6.0 Modeler By: Brian Marchionni (Presented by Ted Dunsford) Idaho State University September 2009.
Section 8.1 Create a custom theme Design a color scheme Use shared borders Section 8.2 Identify types of graphics Identify and compare graphic formats.
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
Adobe Photoshop CS3 Revealed – Chapter 16 FOR THE WEB CREATING IMAGES.
Return to Outline Copyright © 2011 by Maribeth H. Price 3-1 Labeling and annotation.
ATN GIS Support ArcGIS: ArcCatalog.
Using the AccuGlobe Software with the IndianaMap Using the AccuGlobe Software.
GIS + ADOBE ILLUSTRATOR
About Presentation Software & Learning to Use PowerPoint 2013.
Visualizing geographical data made extremely easy by SLD Editor!
Devanshu Bawa Customization Specialist Logo Business Solutions.
Unit 3: Text, Fields & Tables DT2510: Advanced CAD Methods.
Learning the Basics of ArcMap 3.3 Updated 4/27/2010 Using Arc/View pt. 1 1.
 2002 Prentice Hall. All rights reserved. 1 Introduction to the Visual Studio.NET IDE Outline Introduction Visual Studio.NET Integrated Development Environment.
USING ILLUSTRATIONS AND GRAPHICS Lesson 8 - #1.08.
1 Word Processing Intermediate Using Microsoft Office 2000.
Copyright © 2014 Natural Environmental Research Council (NERC)1 Map Visualization, Symbology, Labels & Annotation in ArcGIS 10.1.
Section 8.1 Section 8.2 Create a custom theme Design a color scheme
Guided By: Dr. Mingon Kang
Mapping for the interwebs
Introduction to Computer CC111
Flash Interface, Commands and Functions
Chapter 2 – Introduction to the Visual Studio .NET IDE
WPF AKEEL AHMED.
.NET and .NET Core 7. XAML Pan Wuming 2017.
Chapter 2 – Introduction to the Visual Studio .NET IDE
INTRODUCTION TO FLASH ANIMATION
Creating Images for the Web
Learning the Basics of ArcMap 3.3 Updated 4/27/2010
Desktop Publishing Features
Chapter 4 Enhancing the Graphical User Interface
Presentation transcript:

MapWindow 6.0: An Extensible Architecture for Cartographic Symbology 12/6/ of 34 Ted Dunsford FOSS4G Conference October, 2009

12/6/ of 34 Ted Dunsford Graduate Research Assistant Idaho State University with Dr. Dan Ames, in collaboration with U.S. Environmental Protection Agency, AQUA TERRA Consultants, and CUAHSI

Overview 12/6/ of 34 MapWindow 6.0 & Component Architecture Extensibility & Interfaces Extensible Symbology Architecture

MapWindow 4 ActiveX Control 12/6/ of 34 The Map Window 4 project is a windows project that started with the idea of an ActiveX control. Very easy to use. Drag and drop files to open them. Built in zooming an panning. Works with a large number of languages.

MapWindow 4 Application 12/6/ of 34 Strictly 2D Requires ActiveX Supports one plug-in interface that controls the entire application. Fast C++ drawing but limited symbology Slow data manipulation

The Curent Project: MapWindow 4.x –Our Legacy Open Source project wrapping an ActiveX control MapWindow 5.x – Our Dot Net Web Mapping Tools 6 of 34 Community Code No ActiveX control dependencies Modular Extendable Versatile

Components Component Based Architecture Lets you… 7 of 34

Drag and Drop a New GIS! 12/6/ of 34 Tool Strip Pre-Loaded Buttons Status Strip Handles Progress Messages

Drag and Drop a Map 12/6/ of 34

Drag’n Drop a Legend 12/6/ of 34

Wire Controls Together 12/6/ of 34 Properties Right on the Controls allow them to link together.

Even Plug-in Management! 12/6/ of 34

Interfaces 13 of 34 Color Width Height Interface Original Object

12/6/ of 34 Color Width Height Interface Unknown Object ??? Extensibility

12/6/ of 34 MapWindow Defines Interfaces Color Width Height Interface MapWindow Plug-in Plug-ins provide new code that satisfies standardized interfaces.

12/6/ of 34 Interfaces Define the Plug-in MapWindow Interfaces MapWindow Application MapWindow searches for classes that implement specific interfaces by using System.Reflection

Managers Wrangle Plugins Plugins do the work: –Loading data –Performing a process –Handle events Managers decide which provider gets used. 17 of 34 deutsch.istockphoto.com

Feature Symbology 12/6/ of 34 Feature Layer FeatureSet Feature Scheme Symbology Feature Category Collection Categories Symbolizer (default) Feature Category 0 Feature Category 1 [0] [1] Symbolizer

Point Symbolizers 12/6/ of 34 Point Category Point Symbolizer Filter Expression List Symbols Character Symbol [1] [0] Your Symbol GetColor()

Symbolizers Stack Symbols 12/6/ of 34

Built In Point Symbols 12/6/ of 34

Simple Point Symbols 12/6/ of 34 Simple Symbols: Color Shape Symbols Size Offset Angle Outline Symbols Outline Color Outline Width Use Outline

Character Point Symbols 12/6/ of 34 Character Symbols: Character FontFamilyName Color Style Symbols Size Offset Angle * True Type fonts are scalable vectors, and many are symbolic.

Picture Point Symbols 12/6/ of 34 Picture Symbols: Image ImageFilename Opacity Symbols Size Offset Angle Outline Symbols Outline Color Outline Width Use Outline

Multiple Layers in Action 12/6/ of 34

Point Categories 12/6/ of 34 Symbolizer Selection Symbolizer Filter Expression

Filter Expressions 12/6/ of 34 PointCategory smallSize = new PointCategory(Color.Blue, PointShapes.Rectangle, 4); smallSize.FilterExpression = "[Area] <.01"; smallSize.LegendText = "Small Cities"; PointCategory largeSize = new PointCategory(Color.Yellow, PointShapes.Star, 16); largeSize.FilterExpression = "[Area] >=.01"; largeSize.LegendText = "Large Cities";

Multiple Categories 12/6/ of 34

Make Your Own ISymbol 12/6/ of 34 Step 1: Implement ISymbol public class Symbol : ISymbol Step 2: Draw public void Draw(Graphics g, double scale) { Rectangle bounds = new Rectangle(-5, -5, 10, 10); g.DrawEllipse(Pens.Black, bounds); }

UI for Custom Symbols 12/6/ of 34 Property Grid Built in to.Net Customizable Editors Adapts to Any Object Reflection Use System.Reflection More Design Control Much more effort

Save and Load Custom Symbols 12/6/ of 34 using MapWindow.Serialization; [Serialize("PointShapes")] public PointShapes PointShape { get { return _pointShape; } set { _pointShape = value; } } 1.Add Reference 2.Add an Attribute Tag

XML File Saves Object Definition 12/6/ of 34 Object Types Cached At The Top Types are re-used

Upcomming Goals File-based Vector Formats OGR Feature Providers Large scale raster & image handling 33 of 34

Thanks! 34 of 34 Thanks to the U.S. Environmental Protection Agency AQUA TERRA Consultants CUAHSI HIS And Dr. Daniel P. Ames