User Tools

Site Tools


map_suite_desktop_edition_faq_miscellaneous

Map Suite Desktop Edition FAQ Miscellaneous

How do I save or serialize my objects once I have created them?

This question has a corresponding sample application(s) associated with it.

Sample: Serialize To Xml

This sample shows you how to serialize objects in Map Suite to XML and then deserialze them back to objects. This is usefully in many GIS mapping application to save the state of styles, layers, projections or just about anything. The XML is readable and well formatted, great for working with in you GIS application.

How do I generate source code from objects once I have created them?

This question has a corresponding sample application(s) associated with it.

Sample: Code Generator

This sample shows you how to generate source code calls from Map Suite objects. Imagine that you have a Layer that has been styled a particular way and uses a certain projection. Once the object is created you can pass it to the code generator and it will create source code to re-create the model passed in. This is very helpful especially in GIS applications where users define things through a custom UI but then want to leverage that in code.

How do I export the current extent to a geo-referenced bitmap?

This question has a corresponding sample application(s) associated with it.

Sample:Current Extent to Bitmap

In today’s project we learn how to convert to bitmap the current extent of the map. In order to have the bitmap georeferenced or being tied to the ground an accompanying world file needs to be created. That way it can be used as an image layer along with the other layers of the same projection (in this case geodetic). To test the result, you can load the bitmap to Map Suite Explorer and add a vector layer in geodetic to see how the two layers align with each other.

How do I create a custom scale bar that is accurate in another projection?

This question has a corresponding sample application(s) associated with it.

Sample:Custom Scale Bar

In today’s Web project, we learn how to extend ScaleBarAdornmentLayer to create a custom scale bar that is based on a projection of choice instead of the projection of the map. This can be useful when the displayed projection of the map has highly distortable distances especially at high latitudes such as Spherical Mercator (used by Google Map, Virtual Earth, Yahoo maps etc). Using a scale bar based on distance geometry of the Geodetic (WGS84) projection will give a more accurate result. Note that the CustomScaleBar class is based on MapSuiteCore and can be used in any other versions of MapSuite such as Desktop.

Do you have a sample of a complete application using your map control?

This question has a corresponding sample application(s) associated with it.

Sample:Map Suite Explorer

This week, we decided to publish in the Code Community the project for Map Suite Explorer. You are already familiar with that free Desktop tool that comes with any edition of Map Suite. It is a basic GIS tool that allows you to view your geographic data and its tabular information. It also allows doing some basic manipulation on your date such as building the spatial index. With the source code at your disposition, you can cut time developing your own application by having at your disposal the code for doing common tasks such as loading, unloading layers, building spatial index, changing styles etc. You will also find interesting the legend and see how you can add, remove, move up and down the different layers. It is by far the most comprehensive project in the Code Community to that date. You will need the reference for MapSuiteDesktop.dll and MapSuiteCore.dll (full or evaluation) to run it.

How do I use the map with the MVC framework?

This question has a corresponding sample application(s) associated with it.

Sample:Use Map with MVC Framework

This project demonstrates how to create a web-based map using Microsoft ASP.NET MVC 1.0 and Map Suite Web Edition. To meet the requirements of MVC, we inherit the interface IMapInitializer in the controller, which has a function InitializeMap that is overridden in the controller. We then implement the class “MapInitializerHelper” to initialize the map instance.

How can I draw an exception instead of being thrown during drawing?

This question has a corresponding sample application(s) associated with it.

Sample:Draw Custom Exception

This sample shows how you can suppress and draw exceptions in desktop overlays instead of throwing them. There is a little-known feature in the Map Suite Desktop Edition Overlay class that allows you to draw an exception in the event an exception is thrown during the drawing process. We have a default image we draw in this case; however, you can override this using the DrawExceptionCore method and draw whatever you want. By default we always throw expections, but to start drawing them you can use the Overlay.DrawExceptionMode property.

How do I convert the current extent of a raster layer to a bitmap?

This question has a corresponding sample application(s) associated with it.

Sample:Raster Layer to Bitmap

Today’s project is comparable to “Current Extent to Bitmap” project where we learned how to convert the current extent of the map to bitmap with its accompanying world file. Here we learn how to get the bitmap of a raster layer (in our example a Mr Sid image) and convert it to bitmap. We learn some techniques such as how to get the image size of the raster layer using ExtentHelper static functions and how to manipulate GeoImage. This project brings a good foundation for building applications converting different image formats.

How can I enable image caching on my map?

This question has a corresponding sample application(s) associated with it.

Sample:Managing Cache

This project is an introduction on how to handle some basic principles of caching the map in the Desktop edition. Cache has the advantage of reusing existing images of the map when revising areas of the map that have already have been drawn. When in Snap Up mode for Zoom level snapping, cache is very handy. But it is a recommendable practice to not use it when the Zoom Level snapping mode is set to none because it can have the unintended consequence of generating an almost unlimited number of tiles. This project will be followed by other ones showing more advanced features of caching.

How do I have a map in an MDI form?

This question has a corresponding sample application(s) associated with it.

Sample:MDI Form

In today’s project, we show how to have the WinformsMap control in a MDI form. Using an MDI form with a map background can represent a challenge. You will see in this project the technique to display properly a child form on top of the map. You can also notice how the map is accessed from the child form by plotting points on it from the child form.

map_suite_desktop_edition_faq_miscellaneous.txt · Last modified: 2015/09/08 08:54 by admin