User Tools

Site Tools


map_suite_gis_editor

Map Suite GIS Editor

The Map Suite GIS Editor is a native .Net editor allowing you to visualize, explore, and modify your GIS data. A core piece of the GIS Editor is the ability to extend it through a MEF powered plugin system. The information below providing guides, videos and samples of plugins for you to get familiar with the GIS Editor's extensibility options. The GIS Editor was written using the Map Suite WPF Desktop and its Map Suite Core technologies and in many cases being familiar with other Map Suite technology is critical to writing plugins. With this we encourage you to also review the wiki entries for these technologies for additional guides, videos and samples to help in your plugin writing.

Developer Guides

Guides Description
UI Plugin Guide This guide will show you how to create a UI Plugin. UI Plugins allow you to add items to the menubar and are the most common plugin type in the system. The guide will walk you step by step from setting up your environment to debugging our sample plugin. We will also go over the creating setting controls to allow your UI plugin to have setting integrated into the main options page. The same things discussed in the guide will also be covered in a related video in the section below.
Layer Plugin Guide This guide will show you how to create a Layer Plugin to integrate your own data into the Map Suite GIS Editor. Layer Plugins enable you to integrate different types of data into the GIS Editor seamlessly. We will cover creating the plugin as well as debugging it. It is important to note that the core of the integration of your own data is in the creation of a FeatureSource and FeatureLayer and these are concepts that are shared by all Map Suite Products. This means that we have another videos to cover this and you will we instructed to watch that video to get up to speed on this part of the plugin development. The same things discussed in the guide will also be covered in a related video in the section below.
Project Plugin Guide This guide outlines how to create a project plugin which are used to integrate different plugin repositories into the Map Suite GIS Editor. Using the these techniques you can build repositories backed by any data store you wish such as a SQL Server, Cloud Storage provider, or even on a local file server. This allows you to control where and how projects are stored. It also aids in the ability for groups of people to share projects within or between organization or users.
Control Plugin Guide This guide shows you step by step how to enhance control plugins. Control plugins allows you change out certain embedded user controls in the GIS Editor. Things like the color picker can be enhanced or replaced completely allow you to get in a customize some of the more important embedded user controls.
Application Menu Plugin Guide This guide shows you how to create plugins that allow you to add new items to the application menu system. This is useful when adding additional high level screens such as our printing system or packaging screen. We make it easy for you to add new screens directly to the menu system.
Data Repository Plugin Guide This guide takes you step by step in creating plugins to add new data repository types. The data repository is a plugin we provide which allows you to catalog and have quick access to commonly used data sets. We provide a disk based plugin along with a plugin for web based raster data sets. By implementing your own you could pull down data from the cloud, corporate file based data source, or even SQL based data sets residing on SQL Server, Oracle or beyond.
Logger Plugin Guide This guide shows you how you can create your own logger plugin to capture and report on exceptions that happen within the Map Suite GIS Editor. The logging system is designed to work with multiple plugins so you can write specific plugins to go to disk and log things out in the cloud. We support not only logging but to also be able to query exceptions back.
Task Plugin Guide This guide shows you how to create your own tasks in the Map Suite GIS Editor. Task plugins allow you to run long running processing tasks out of the main GIS Editor process. We handle the launching of the process, communication channels between process along with cancellation and status updating. Task plugins, once written, can be called from any other plugin though typically called form UI plugins. Examples in the Map Suite GIS Editor are all of the geometry wizards, index building and
Style Plugin Guide This guide outlines creating a simple style plugin. Style plugins allow you to add additionally style options for your GIS data. You can control the way the style is rendered as well as how it is displayed on the layer list view and the property window to configure it. We make it simple to integrate your own customs styles in the GIS Editor. We have also produced a accompanying video below which you may want to review for even more information.
Manager Extensibility Guide This guide details the GIS Editor's manager extensibility system. Managers are at the core of the GIS Editor and allow you to do things such as change the way you save and load project, adjust the language, load style plugins, log errors etc. Each manager is a singleton extensible by using MEF and is intended to be point of flexibility at the GIS Editors core. One specific example of extending a manager would be to allow you to change how certain plugins are loaded. If you did not want to do MEF discovery you could hard code in your own assemblies instead.
Language Extensibility Guide This guide shows you how the Map Suite GIS Editor can be adapted to other languages or nomenclature. Taking you step by step into how to install your language pack and things to watch for or consider when applying your own verbiage.

Videos

Topic Attachment Description
Introduction to the GIS Editor Plugin System Video

Presentation

Sample
In this video we do a high level review of the element of the GIS Editor plugin system. The GIS Editor has a rich plugin system ranging from low level infrastructure plugins that change the fundamental way the GIS Editor works to higher level plugins for styles and new layer types. This video is an excellent starting point for any developer who wish to developer plugins for the GIS Editor. After viewing this video we suggest you then view the other videos more specific to the type of plugin you with to write.
Extending Managers Video

Presentation

Sample
This video details the GIS Editor manager system. Managers are at the core of the GIS Editor and allow you to do things such as change the way you save and load project, adjust the language, load style plugins, log errors etc. Each manager is a singleton extensible by using MEF and is intended to be point of flexibility at the GIS Editors core. One specific example of extending a manager would be to allow you to change the location where logged errors are sent. Currently exceptions are sent to us at ThinkGeo however you could extend our infrastructure plugin and send then anywhere you wish or even use a different transport and storage mechanism.
Creating UI Plugins Video

Presentation

Sample
In this video we will explore creating UI Plugins. These types of plugins are the most common in the GIS Editor and represent the toolbar items associated with most of the applications functionality. UI Plugins can consist of menu bar items, configuration panels, as well as docking windows. If you are looking to add end user tools into the GIS Editor then UI plugins are the place to start.
Creating Layer Plugins Video

Presentation

Sample
In this video we will show you how to create layer plugins within the GIS Editor. Layer Plugins enable you to integrate different types of data into the GIS Editor seamlessly. We will cover creating the plugin as well as debugging it. It is important to note that the core of the integration of your own data is in the creation of a FeatureSource and FeatureLayer and these are concepts that are shared by all Map Suite Products.
Creating Style Plugins Video

Presentation

Sample
This video will show you how to create and integrate style plugins. Style plugins allow you to add your own custom styling to the map. You create the styles, their property pages, and even how they display on the layer list for complete control. If you are familiar with out other Map Suite developer products then creating custom styles will be very familiar to you.
Creating Project Plugins Video

Presentation

Sample
This video will show you how to create project plugins within the GIS Editor. Project plugins allow you to change the location and way that projects are stored in the GIS Editor. With a project plugin you could allow your users to store their projects in the cloud, on a local networked SQL Server or just about anywhere. The plugin allows you to display a custom dialog for saving and loading and offers user the ability to have multiple project repositories available at one time providing allot of flexibility.
Creating Control Plugins Video

Presentation

Sample
This video will show you how to create control plugins for the GIS Editor. Control plugins allows you change out certain embedded user controls in the GIS Editor. Things like the color picker can be enhanced or replaced completely allow you to get in a customize some of the more important embedded user controls.
Creating Application Menu Plugins Video

Presentation

Sample
This video will instruct you in how to create application menu plugins. Application menu plugin allow you to add items to the main application menu. An example of what we used it for was things like a printing dialog, packaging projects etc. You can use this to integrate other high level commands into the Map Suite GIS Editor.
Creating Data Repository Plugins Video

Presentation

Sample
This video will show you how to create and add data reposatory plugins. Data repository plugins allow you to extend the the tree based data repository. This can include adding different data types such as cloud vector sources or even custom sets of static data already on a users hard drives. Be default we have a plugin to browse on the directory system as well as on that integrates Bing Maps, OSM, and other tiles raster sources.
Creating Logger Plugins Video

Presentation

Sample
This video will show you how to create logger plugins. Logger plugins give you control over how exceptions are logged and where they go. In our default implementation we send exceptions back to ThinkGeo however leveraging the logger plugin model you can replace or add additional levels of logging to save the data to a cloud database or just a simple text file on the disk. You will find with out logger plugin that you have complete control over your exception handling.
Creating Task Plugins Video

Presentation

Sample
This video will show you how to create task plugins for the GIS Editor. Task plugins allow you to create out of process long running tasks to be used in the Map Suite GIS Editor. The plugin infrastructure provides the ability to get your code of of process and handles the updating of status between your work and the main process. This makes isolating long tasks quick and easy and allows you to create long running processes that wont impact the main editor directly.
Adding Languages Video

Presentation

Q&A

Sample
In this video we will show you how the Map Suite GIS Editor can be adapted to other languages or nomenclature. Taking you step by step into how to install your language pack and things to watch for or consider when applying your own verbiage.
Integrating Custom Data Formats Video

Presentation

Sample

Q&A
In this video we will show you how to integrate your custom data using a FeatureSource and FeatureLayer. This video is an overview of hoe to integrate data source with Map Suite in general and not specific to the Map Suite GIS Editor. In the GIS Editor there is a layer plugin system which will integrate with the FeatureLayer. In this way you will want to watch this video to understand how to create your FeatureLayer and FeatureSource and then the Creating Layer Plugins video on how to integrate it with the GIS Editor.
Creating Custom Styles Video

Presentation

Q&A

Sample
In this video we will show you how to create custom styles. These styles are not specific to the GIS Editor but generally accessible by and Map Suite product. The GIS Editor has a higher level style plugin system which leverage the styles you will learn to create in this video. Once you understand how to create styles you need to watch the Creating Style Plugins video on how to integrate your style with the GIS Editor.
Exploring Layers Video

Presentation

Q&A

Sample
In this video we will learn how to create Layers that can be used by any Map Suite product. These layers can then also be leverage in the GIS Editor though the use of the layer plugin system. After grasping the elements in this video we suggest you watch the Creating Layer Plugins video to show you how to integrate your new layers with the GIS Editor.

Code Samples

We have provided a number of .Net code samples to help you create plugins quickly. We have categorized them to allow you to quickly find what you are looking for. Each code sample includes an overview, complete code online to review and the ability to download the sample to run it yourself.

Category Description
Map Suite GIS Editor All Samples All Map Suite GIS Editor plugin samples.
UI Plugins UI plugins are the most common plugin and are represented by all of the items in the menu bar at the top of the screen. In the Map Suite GIS Editor every menu bar item is a plugin itself so we used out own plugin system to implement every piece of functionality you see. This fact ensures that there are almost no limits as to what a UI plugin can do.
Style Plugins Style plugins allow you to add your own custom styling to the map. You create the styles, their property pages, and even how they display on the layer list for complete control. If you are familiar with out other Map Suite developer products then creating custom styles will be very familiar to you.
Layer Plugins Layer plugins enable you to integrate new data format into the Map Suite GIS Editor. In the plugin you create a Map Suite Layer class that represents your data and that's about it. If you have worked with any of the Map Suite developer products then you will be familiar with this process. We have some great videos on how to create your own Layers so be sure to watch those in conjunction with looking over the samples.
Logger Plugins Logger plugins give you control over how exceptions are logged and where they go. In our default implementation we send exceptions back to ThinkGeo however leveraging the logger plugin model you can replace or add additional levels of logging to save the data to a cloud database or just a simple text file on the disk. You will find with out logger plugin that you have complete control over your exception handling.
Application Menu Plugins Application menu plugin allow you to add items to the main application menu. An example of what we used it for was things like a printing dialog, packaging projects etc. You can use this to integrate other high level commands into the Map Suite GIS Editor.
Data Repository Plugins Data repository plugins allow you to extend the the tree based data repository. This can include adding different data types such as cloud vector sources or even custom sets of static data already on a users hard drives. Be default we have a plugin to browse on the directory system as well as on that integrates Bing Maps, OSM, and other tiles raster sources.
Task Plugins Task plugins allow you to create out of process long running tasks to be used in the Map Suite GIS Editor. The plugin infrastructure provides the ability to get your code of of process and handles the updating of status between your work and the main process. This makes isolating long tasks quick and easy and allows you to create long running processes that wont impact the main editor directly.
Project Plugins Project plugins allow you to change the location and way that projects are stored in the GIS Editor. With a project plugin you could allow your users to store their projects in the cloud, on a local networked SQL Server or just about anywhere. The plugin allows you to display a custom dialog for saving and loading and offers user the ability to have multiple project repositories available at one time providing allot of flexibility.
Control Plugins Control plugins allows you change out certain embedded user controls in the GIS Editor. Things like the color picker can be enhanced or replaced completely allow you to get in a customize some of the more important embedded user controls.
Manager Extensibility Managers are important infrastructure pieces in the GIS Editor and control how plugins are loaded as well as other critical parts of the system. Each managers is a singleton which is loaded by MEF and unlike plugins we only create one instance of each manager.

Frequently Asked Questions

Category Description
All Questions All the frequently asked questions about the Map Suite GIS Editor .
General Questions These frequently asked questions cover high level Map Suite GIS Editor topics that are not categorized in other areas.

Change Logs

Namespace Description
Release Change Log The Map Suite GIS Editor change log details the changes made to the product for each major release cycle.
Features & Bug Fixes Change Log This change log details the new features and bug fixes applied to the product for each major release cycle.

API Documentation

Namespace Description
ThinkGeo.MapSuite.GisEditor The Core API documentation covers the ThinkGeo.MapSuite.GisEditor namespace. It contains all of the manager classes.
ThinkGeo.MapSuite.Core The Core API documentation covers the ThinkGeo.MapSuite.Core namespace which resides in the MapSuiteCore.dll assembly. It contains all of the core GIS classes that are shared between the different Map Suite edition map controls and servers. It includes such classes as Style, FeatureSource, Layer, Projection etc. This is where the bulk of the classes are for most of the Map Suite products.
ThinkGeo.MapSuite.WpfDesktopEdition The Wpf Desktop Edition API documentation covers the ThinkGeo.MapSuite.WpfDesktopEdition namespace which resides in the Wpf DesktopEditon.dll assembly. It contains all of the Wpf Desktop Edition specific classes such as the map control itself, Overlays, and supported map classes.

Help & Support Guides

  • Support Options

    This article outlines various support options available through ThinkGeo. It explains the various methods and recommendations of which options work best depending on your issue.

  • Support Ticket Guide

    This guide explains how to create a support ticket using the ThinkGeo customer portal. The guide also covers recommendation on when to use a support tickets versus other forms of support.

  • Discussion Forum Guide

    This guide explains how to create a constructive discussion forum post. It outlines the best practices in posting to ensure that your GIS questions get answered quickly and accurately.

  • NuGet Guide

    In Map Suite 10.0 we are starting to provide our products via packages on NuGet. This will allow references to our products to be added and updated easily. We have three different types of packages on NuGet, feature packages, dependency packages, and product packages, which will be expained in detail below. Each of these packages will also have two different build branches, production and development.

  • Release Cycle Guide

    This guide explains the process and rations behind the Map Suite release schedule. It outlines release dates, version information, and various aspects related to publicly releasing Map Suite software.

map_suite_gis_editor.txt · Last modified: 2015/09/18 09:06 by admin