User Tools

Site Tools


map_suite_desktop_for_winforms_all_samples

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
map_suite_desktop_for_winforms_all_samples [2017/03/13 07:20]
tgwikiupdate [GPS to Google Map Desktop Sample for WinForms]
map_suite_desktop_for_winforms_all_samples [2023/08/22 12:52] (current)
ruili
Line 1: Line 1:
 ====== WinForms Samples ====== ====== WinForms Samples ======
-==== QuickstartSample-forWinForms ​====+ 
 +==== Quickstart Sample for WinForms ​====
  
 The Winforms QuickStart Guide will guide you through the process of creating a sample application and will help you become familiar with Map Suite. This QuickStart Guide supports Map Suite 10.0.0.0 and higher and will show you how to create a Winforms application. The Winforms QuickStart Guide will guide you through the process of creating a sample application and will help you become familiar with Map Suite. This QuickStart Guide supports Map Suite 10.0.0.0 and higher and will show you how to create a Winforms application.
  
-{{https://github.com/ThinkGeo/QuickstartSample-ForWinForms/​raw/​master/​Screenshot.png?​500|Screenshot}}+Please refer to [[http://wiki.thinkgeo.com/wiki/map_suite_desktop_for_winforms|Wiki]] for the details.
  
 +{{https://​gitlab.com/​thinkgeo/​public/​thinkgeo-desktop-maps/​-/​raw/​support/​v10/​samples/​winforms/​QuickstartSample/​Screenshot.png?​500|Screenshot}}
  
-[[https://github.com/ThinkGeo/QuickstartSample-ForWinForms| View this sample on Github]]==== Vehicle Tracking Sample Template for WinForms ====+[[https://gitlab.com/thinkgeo/public/​thinkgeo-desktop-maps/​-/​tree/​support/​v10/​samples/​winforms/​QuickstartSample?​ref_type=heads| View this sample on Gitlab]]
  
 +==== Display Cad File Sample for WinForms ====
  
-The Vehicle Tracking ​sample ​template gives you a head start on your next tracking projectWith a working code example to draw fromyou can spend more of your time implementing the features you care about and less time thinking about how to accomplish ​the basic functionality of a tracking system.+This sample ​demonstrates how you can read data from an CAD file(*.dwg*.dxf) in your Map Suite GIS applications, ​and how to render it with CAD embedded style as well as a customized style. This Cad File support would work in all of the Map Suite controls such as Wpf, Web, MVC and WebApi
  
-{{https://github.com/ThinkGeo/VehicleTrackingSample-ForWinForms/​raw/​master/​ScreenShot.png?​500|Screenshot}}+Please refer to [[http://wiki.thinkgeo.com/wiki/map_suite_desktop_for_winforms|Wiki]] for the details.
  
 +{{https://​gitlab.com/​thinkgeo/​public/​thinkgeo-desktop-maps/​-/​raw/​support/​v10/​samples/​winforms/​DisplayCadFileSample/​Screenshot.png?​500|Screenshot}}
  
-[[https://github.com/ThinkGeo/VehicleTrackingSample-ForWinForms| View this sample on Github]] +[[https://gitlab.com/thinkgeo/public/​thinkgeo-desktop-maps/​-/​tree/​support/​v10/​samples/​winforms/​DisplayCadFileSample?​ref_type=heads| View this sample on Gitlab]]
-==== Us Earthquake Statistics Sample Template for WinForms ====+
  
 +==== Routing Sample for WinForms ====
  
-The Earthquake Statistics sample template is a statistical report system for earthquakes that have occurred in the past few years across the United StatesIt can help you generate infographics and analyze the severely afflicted areas, or used as supporting evidence when recommending measures to minimize the damage in future quakes.+[[http://​wiki.thinkgeo.com/​wiki/​_media/​routing/​routing_howdoi_samples_data.zip|Sample Data Download]]
  
-{{https://​github.com/​ThinkGeo/​UsEarthquakeStatisticsSample-ForWinForms/​raw/​master/​ScreenShot.png?​500|Screenshot}}+The Map Suite Routing “How Do I?” solution offers a series of useful how-to examples for using the Map Suite Routing extensionThe bundled solution comes with a small set of routable street data from Austin, TX and demonstrates simple routing, avoiding specific areas, getting turn-by-turn directions, optimizing for the Traveling Salesman Problem, and much more. Full source code is included in both C# and VB.NET languages; simply select your preferred language to download the associated solution.
  
 +Please refer to [[http://​wiki.thinkgeo.com/​wiki/​map_suite_desktop_for_winforms|Wiki]] for the details.
  
-[[https://github.com/ThinkGeo/UsEarthquakeStatisticsSample-ForWinFormsView this sample on Github]] +{{https://gitlab.com/thinkgeo/public/​thinkgeo-desktop-maps/​-/​raw/​support/​v10/​samples/​winforms/​RoutingSample/​ScreenShot.png?​500|Screenshot}}
-==== Draw Custom Exception Sample for WinForms ====+
  
-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. 
  
-{{https://github.com/ThinkGeo/DrawCustomExceptionSample-ForWinForms/raw/master/ScreenShot.png?500|Screenshot}}+[[https://gitlab.com/thinkgeo/public/​thinkgeo-desktop-maps/-/tree/support/​v10/​samples/​winforms/​RoutingSample?ref_type=headsView this sample on Gitlab]]
  
 +==== Open Street Map Sample for WinForms ====
  
-[[https://​github.com/​ThinkGeo/​DrawCustomExceptionSample-ForWinForms| View this sample on Github]] +OpenStreetMap (OSM) is a collaborative project to create free geographic data for the entire worldIt can be thought of as a "Free Wiki World Map". The latest version of MapSuite now supports ​this.  ​
-==== Stream Loading For Gdi Plus Raster Layer Sample for WinForms ====+
  
-As an alternative ​to loading an Image with the image file from the file system, you can choose to pass your own streamThis project shows you how to use the event StreamLoading of GdiPlusRasterSource for this purposeIn this project, we show how to do this using a Tiff image but you can also use that event for ShapeFileFeatureSource as we show in a previous project “Shapefile Encryption”. Keep in mind that this technique only works with images besides MrSid, ECW and Jpeg2000. These types of images do not work because ​the providers do not support streams in their decoding SDKs.+Please refer to [[http://​wiki.thinkgeo.com/​wiki/​map_suite_desktop_for_winforms|Wiki]] ​for the details.
  
-{{https://github.com/ThinkGeo/StreamLoadingForNativeImageSample-ForWinForms/raw/master/​ScreenShot.png?​500|Screenshot}}+{{https://gitlab.com/thinkgeo/​public/​thinkgeo-desktop-maps/-/raw/support/​v10/​samples/​winforms/​OpenStreetMapSample/​ScreenShot.png?​500|Screenshot}}
  
  
-[[https://github.com/ThinkGeo/StreamLoadingForNativeImageSample-ForWinForms| View this sample on Github]] +[[https://gitlab.com/thinkgeo/public/​thinkgeo-desktop-maps/​-/​tree/​support/​v10/​samples/​winforms/​OpenStreetMapSample?​ref_type=heads| View this sample on Gitlab]]
-==== Feature Ids To Exclude Sample for WinForms ====+
  
-The purpose of this project is to show how to use the **FeatureIdsToExclude** collection of **FeatureLayer**. In the project, you will see how you can exclude some features from being part of the **GetFeaturesNearestTo** function. Using that collection is a handy method ​for not taking into account some features in doing spatial queries, searching and even drawing without having to change the structure of the layer or create another layer.+==== Use Wpf Map Control Sample ​for WinForms ====
  
-{{https://​github.com/​ThinkGeo/​FeatureIdsToExcludeSample-ForWinForms/​raw/​master/​ScreenShot.png?​500|Screenshot}}+The wpf map control supports multi-thread to render map, so it performs better than winforms map control. This sample demonstrates how you can use wpf map control in your winforms applications
  
  
-[[https://github.com/ThinkGeo/FeatureIdsToExcludeSample-ForWinFormsView this sample on Github]] +Please refer to [[http://wiki.thinkgeo.com/wiki/map_suite_desktop_for_winforms|Wiki]] for the details.
-==== Dragging Vertex Sample ​for WinForms ====+
  
 +{{https://​gitlab.com/​thinkgeo/​public/​thinkgeo-desktop-maps/​-/​raw/​support/​v10/​samples/​winforms/​WpfMapControlSample/​Screenshot.gif?​500|Screenshot}}
  
-The purpose of today’s project is not so much as show a new technology as to show an improvement in an existing one. We are already familiar with EditInteractiveOverlay with projects such as “Dragged PointStyle with Label”, “Snap To Layer” and “Snapping to Vertex”. But those projects showed EditInteractiveOverlay on small shapes. Using EditIntercticeOverlay on complex shapes became not very responsive. We improved that and now you can drag, resize, rotate and drag individual vertex of a complex polygon made of thousand of vertices with good responsiveness as you can see in this example. ​ 
  
-{{https://github.com/ThinkGeo/DragVertexSample-ForWinForms/raw/master/ScreenShot.png?500|Screenshot}}+[[https://gitlab.com/thinkgeo/public/​thinkgeo-desktop-maps/-/tree/support/​v10/​samples/​winforms/​WpfMapControlSample?ref_type=headsView this sample on Gitlab]]
  
 +==== Building 3D Style Sample for WinForms ====
  
-[[https://​github.com/​ThinkGeo/​DragVertexSample-ForWinForms| View this sample on Github]] +This project shows to create simulated 3D buildings with WinForms ​Map control and shapefile.
-==== Editing Rectangles Sample for WinForms ​====+
  
 +Please refer to [[http://​wiki.thinkgeo.com/​wiki/​map_suite_desktop_for_winforms|Wiki]] for the details.
  
-This sample shows how to extend the **EditInteractiveOverlay** rectangles as shapes, rather than polygon shapes, by setting special column valuesFor features (both *Well Known Text* and *Well Known Binary*), the concept of a rectangle is not supported and typically rectangles are handled as polygons. This feature allows users to modify the rectangle but requires that the modification keep a rectangular form. The rectangle doesn'​t need to be straight as long as all of the corner angles are at 90 degrees relative to each other.+{{https://​gitlab.com/​thinkgeo/​public/​thinkgeo-desktop-maps/​-/​raw/​support/​v10/​samples/​winforms/​Building3DSample/​Screenshot.png?​500|Screenshot}}
  
-{{https://​github.com/​ThinkGeo/​EditRectanglesSample-ForWinForms/​raw/​master/​ScreenShot.png?​500|Screenshot}} 
  
 +[[https://​gitlab.com/​thinkgeo/​public/​thinkgeo-desktop-maps/​-/​tree/​support/​v10/​samples/​winforms/​Building3DSample?​ref_type=heads| View this sample on Gitlab]]
  
-[[https://​github.com/​ThinkGeo/​EditRectanglesSample-ForWinForms| View this sample on Github]] +==== World Streets Layer SDK On Windows ​for WinForms ====
-==== Distance Query On Projected Layers Sample ​for WinForms ====+
  
-This sample shows how to use the method GetFeaturesWithDistanceOf when the data is projected. We just input the unit which is projected ​to, do not need to mind what the real unit is for the internal ​data before projection. ​ It works fine with Map Suite Assemblies 4.5.54.0 or later.+The World Streets Vector Layer Explorer ​is a tool that enables you to view the SQLite World Streets ​data using Map Suite WinForms and provides complete performance metrics.
  
-{{https://​github.com/​ThinkGeo/​DistanceQueryOnProjectedLayersSample-ForWinForms/​raw/​master/​ScreenShot.png?​500|Screenshot}}+This project requires a full or evaluation version of Map Suite WinForms Edition.
  
 +This sample passed on Linux with Mono Runtime. On Windows platform, it is required to replace the ThinkGeo.MapSuite.Layers.SqliteForLinux with ThinkGeo.MapSuite.Layers.Sqlite package.
  
-[[https://github.com/ThinkGeo/​DistanceQueryOnProjectedLayersSample-ForWinForms| View this sample on Github]] +**To run the sample, please unzip the database file at WorldStreetsLayerSample/App_Data/DallasCounty-3857-20170218.zip, and change the connection string in WorldStreetsLayerSample/App.config ​to connect database that you extracted to.**
-==== GPS to Google Map Desktop Sample for WinForms ====+
  
-This project shows how to display on Google Map point data coming from some GPS reading in Geodetic (Longitude/​Latitude)It also shows how to set the extent of the map so that it is centered on the GPS point.+Working...
  
-{{desktopedition:​codesamples:​Map Suite Desktop Edition Sample GPS to GoogleMap Desktop.jpg?500|Screenshot}}+Please refer to [[http://​wiki.thinkgeo.com/​wiki/​map_suite_desktop_for_winforms|Wiki]] for the details.
  
 +{{https://​gitlab.com/​thinkgeo/​public/​thinkgeo-desktop-maps/​-/​raw/​support/​v10/​samples/​winforms/​WorldStreetsLayerSDKWindows/​screenshot.png?​500|Screenshot}}
  
-[[https://​github.com/​ThinkGeo/​GpsWithGoogleMapsSample-ForWinForms| View this sample on Github]] 
-==== Track Overlay With Esc Sample for WinForms ==== 
  
-This project shows how to implement aborting a trackshape with Esc key as you could do it in MapSuite 2.x.+[[https://​gitlab.com/​thinkgeo/​public/​thinkgeo-desktop-maps/​-/​tree/​support/​v10/​samples/​winforms/​WorldStreetsLayerSDKWindows?​ref_type=heads| View this sample on Gitlab]]
  
-{{https://​github.com/​ThinkGeo/​TrackOverlayWithEscSample-ForWinForms/​raw/​master/​ScreenShot.png?​500|Screenshot}}+==== ThinkGeo ​Cloud Vector Maps Sample for Winforms ====
  
 +This sample demonstrates how you can draw the map with Vector Tiles requested from ThinkGeo Cloud Services in your Map Suite GIS applications,​ with any style you want from [[https://​wiki.thinkgeo.com/​wiki/​thinkgeo_stylejson|StyleJSON (Mapping Definition Grammar)]]. It will show you how to use the XyzFileBitmapTileCache and XyzFileVectorTileCache to improve the performance of map rendering. It supports have 3 built-in default map styles and more awasome styles from StyleJSON file you passed in, by '​Custom': ​
 +- Light
 +- Dark
 +- TransparentBackground
 +- Custom
  
-[[https://​github.com/​ThinkGeo/​TrackOverlayWithEscSample-ForWinForms| View this sample on Github]] +ThinkGeo ​Cloud Vector Maps support would work in all of the Map Suite controls such as Wpf, Web, MVC, WebApi, Android and iOS.
-==== Multiple Labels Sample for WinForms ====+
  
 +Please refer to [[http://​wiki.thinkgeo.com/​wiki/​map_suite_desktop_for_winforms|Wiki]] for the details.
  
-This sample shows how you can display multiple labels for a given point or featureYou can do this by setting a single **TextStyle** or multiple **TextStyles**If you use a single **TextStyle**,​ you can simply use a pattern like "​[ColumnName1][ColumnName2]..."​ and when Map Suite displays the text it will combine the values of the columns in your pattern. If you use a different styling method, you will need to manually control the offset of each piece of text to avoid overlapping. +{{https://​gitlab.com/​thinkgeo/​public/​thinkgeo-desktop-maps/​-/​raw/​support/​v10/​samples/​winforms/​CloudVectorMapsSample/​Screenshot.gif?​500|Screenshot}}
-              ​+
  
-{{https://​github.com/​ThinkGeo/​MultipleLabelsSample-ForWinForms/​raw/​master/​ScreenShot.png?​500|Screenshot}} 
  
 +[[https://​gitlab.com/​thinkgeo/​public/​thinkgeo-desktop-maps/​-/​tree/​support/​v10/​samples/​winforms/​CloudVectorMapsSample?​ref_type=heads| View this sample on Gitlab]]
  
-[[https://​github.com/​ThinkGeo/​MultipleLabelsSample-ForWinForms| View this sample on Github]] +==== Routing Data Explorer ​Sample for Wpf ====
-==== Create GRID Sample for WinForms ​====+
  
-Today’s sample shows the new feature available in this may release Map Suite 5 for creating GRID files. A GRID is a raster format that defines a geographic space as an array of equally sized squares (cells) arranged in rows and columns. Each cell stores a numeric value that represents an attribute (such as elevation, surface slope, soil pH etc.) for that unit of space. Each GRID cell is referenced by its x, y coordinate location. Typically a GRID file is created based on some sample ​points with known values. In today’s sample, we take the example of creating a GRID file based on a point based shapefile representing soil pH values of some sample locations in a field. Using the Inverse Weighted Distance algorithm for interpolation,​ we create the GRID with the pH value for the entire extent of the field. Look at the code and comments for more details on how GRID files get generated and displayed on the map. This sample is a Desktop application but GRID can be used in all the editions of Map Suite.+This is a simple routing data viewer ​sample ​viewer which demonstrates how to use the RoutingEngine to get the shortest or fastest route in your Map Suite GIS applications
  
-{{desktopedition:codesamples:​Map Suite Desktop Edition Sample Create GRID.jpg?​500|Screenshot}}+How to use this tool:
  
 + 1. **Load rtg data:**
 + ​ Click menu "​**File->​Load**"​ browse to a rtg file. You also require a shapefile for the routing source file in the same folder, otherwise it display message "Could not find shp file in the same folder where you seleted"​.
 + 2. **Start routing:**
 +  Use left click for a start point and right click for an end point. If there is no route within **200** meters(you can modify this in source code), the explorer displays a message "​There’s no road within 200 meters to where you clicked on"​. ​  
 +
 +This RoutingEngine supports routing in all of the Map Suite controls such as WinForms, Web, MVC and WebApi.
 +
 +Please refer to [Wiki](http://​wiki.thinkgeo.com/​wiki/​map_suite_desktop_for_wpf) for the details.
 +
 +{{https://​github.com/​ThinkGeo/​RoutingDataExplorerSample-ForWpf/​raw/​master/​Screenshot.gif?​500|Screenshot}}
 +
 +
 +[[https://​github.com/​ThinkGeo/​RoutingDataExplorerSample-ForWpf| View this sample on Github]]
 +
 +==== Rendering Points Performance Test Sample for WinForms ====
 +
 +1. In Map Suite, a shape (a shape object inherited from the BaseShape class such as PointShape, LineShape, etc) is heavier than a feature. You can treat a feature as a holder of a byte array (Well Known Binary), it’s lightweight and doesn’t have too many methods to manipulate its core data (Well Known Binary). Shape, however, is heavy, it provides all the info as well as methods against the data.  You can cast from a feature to a shape and vice versa.
 + 
 +1. To update a feature, usually, we need to convert a feature to a shape, update the shape and then convert it back to a feature. This will create a new shape and a new feature, which is more straightforward but the cost is high. Below is a method updating a point feature by adding 1 to its X and Y.
 +
 +<​code>​
 +       ​private void UpdateFeatureThroughShape(Feature feature)
 +        {
 +            byte[] wkb = feature.GetWellKnownBinary();​
 +            PointShape pointShape = new PointShape(wkb);​
 +            pointShape.X += 1;
 +            pointShape.Y += 1;
 +            feature = pointShape.GetFeature();​
 +        }
 +</​code>​
 +
 +3. You can update a feature by directly updating its WKB. The following method updates a point feature by adding 1 to its X and Y. It’s the most efficient way where we manipulate a byte array without creating any new object. It is not straightforward and you need to have a deep understanding of the format of WKB. That’s what we are doing in this sample. We will add more APIs to Feature to make it straightforward and efficient.
 +
 +<​code>​
 +       ​private void UpdateFeatureThroughWKB(Feature feature)
 +        {
 +            byte[] wkb = feature.GetWellKnownBinary();​
 +            double x = BitConverter.ToDouble(wkb,​ 5);
 +            double y = BitConverter.ToDouble(wkb,​ 13);
 +            BitConverter.GetBytes(x + 1).CopyTo(wkb,​ 5);
 +            BitConverter.GetBytes(y + 1).CopyTo(wkb,​ 13);
 +            feature.SetWellKnownBinary(wkb);​
 +        }
 +</​code>​
 +
 +4. The “Grid size in Pixel” textbox let you set the size of the grid in which up to one point can be displayed, the bigger the grid is, the more sparse the points will be. This is an optimization with which we can avoid showing too many points on the map.  Play with it and you can see the performance differences.
 +
 +
 +Please refer to [[http://​wiki.thinkgeo.com/​wiki/​map_suite_desktop_for_winforms|Wiki]] for the details.
 +
 +{{https://​gitlab.com/​thinkgeo/​public/​thinkgeo-desktop-maps/​-/​raw/​support/​v10/​samples/​winforms/​RenderingPointsPerformanceTestSample/​Screenshot.gif?​500|Screenshot}}
 +
 +[[https://​gitlab.com/​thinkgeo/​public/​thinkgeo-desktop-maps/​-/​tree/​support/​v10/​samples/​winforms/​RenderingPointsPerformanceTestSample?​ref_type=heads| View this sample on Gitlab]]
 +
 +==== Hello World Sample for WinForms ====
 +
 +This sample shows you how to get started building your first application with the Map Suite Desktop for WinForms 10.0.0.
 +
 +Please refer to [[http://​wiki.thinkgeo.com/​wiki/​map_suite_desktop_for_winforms|Wiki]] for the details.
 +
 +{{https://​gitlab.com/​thinkgeo/​public/​thinkgeo-desktop-maps/​-/​raw/​support/​v10/​samples/​winforms/​HelloWorldSample/​Screenshot.png?​500|Screenshot}}
 +
 +
 +[[https://​gitlab.com/​thinkgeo/​public/​thinkgeo-desktop-maps/​-/​tree/​support/​v10/​samples/​winforms/​HelloWorldSample?​ref_type=heads| View this sample on Gitlab]]
  
-[[https://​github.com/​ThinkGeo/​CreateGridSample-ForWinForms| View this sample on Github]] 
 ==== Line Style With Increment Sample for WinForms ==== ==== Line Style With Increment Sample for WinForms ====
  
 In this WinForms desktop project, we show how to create a custom **LineStyle** for showing distance increment at a regular interval (every tenth kilometer). Having this **LineStyle** can be very handy when dealing with line networks, such as roads or railways. In this WinForms desktop project, we show how to create a custom **LineStyle** for showing distance increment at a regular interval (every tenth kilometer). Having this **LineStyle** can be very handy when dealing with line networks, such as roads or railways.
  
-{{https://github.com/ThinkGeo/LineStyleWithIncrementSample-ForWinForms/​raw/​master/​ScreenShot.png?​500|Screenshot}}+Please refer to [[http://wiki.thinkgeo.com/wiki/map_suite_desktop_for_winforms|Wiki]] for the details.
  
 +{{https://​gitlab.com/​thinkgeo/​public/​thinkgeo-desktop-maps/​-/​raw/​support/​v10/​samples/​winforms/​LineStyleWithIncrementsSample/​ScreenShot.png?​500|Screenshot}}
  
-[[https://​github.com/​ThinkGeo/​LineStyleWithIncrementSample-ForWinForms| View this sample on Github]] 
-==== Dragged Point Style Sample for WinForms ==== 
  
-In this project, we focus our attention ​on how to control the style of the control points. You will see how to override the **DrawCore** function of **EditInteractiveOverlay**. ​+[[https://​gitlab.com/​thinkgeo/​public/​thinkgeo-desktop-maps/​-/​tree/​support/​v10/​samples/​winforms/​LineStyleWithIncrementsSample?​ref_type=heads| View this sample ​on Gitlab]]
  
-{{https://​github.com/​ThinkGeo/​DragPointSample-ForWinForms/​raw/​master/​ScreenShot.png?​500|Screenshot}}+==== Overlays Sample for WinForms ====
  
 +Discover how to use Overlays to build up your map, or to add existing basemaps to your application. ​
 +The sample can show the following four basemaps:
 +  1. Google Maps
 +  2. Bing Maps
 +  3. World Kit Maps
 +  4. Open street Maps
  
-[[https://​github.com/​ThinkGeo/​DragPointSample-ForWinForms| View this sample on Github]] +It can display different styles of maps by setting the map type.
-==== Dragging Icon Sample for WinForms ====+
  
 +
 +Please refer to [[http://​wiki.thinkgeo.com/​wiki/​map_suite_desktop_for_winforms|Wiki]] for the details.
 +
 +{{https://​gitlab.com/​thinkgeo/​public/​thinkgeo-desktop-maps/​-/​raw/​support/​v10/​samples/​winforms/​OverlaysSample/​Screenshot.png?​500|Screenshot}}
 +
 +
 +[[https://​gitlab.com/​thinkgeo/​public/​thinkgeo-desktop-maps/​-/​tree/​support/​v10/​samples/​winforms/​OverlaysSample?​ref_type=heads| View this sample on Gitlab]]
 +
 +==== World Streets Layer SDK On Linux for WinForms ====
 +
 +The World Streets Vector Layer Explorer is a tool that enables you to view the SQLite World Streets data using Map Suite WinForms and provides complete performance metrics.
 +
 +This project requires a full or evaluation version of Map Suite WinForms Edition.
 +
 +This sample passed on Linux with Mono Runtime. On Windows platform, it is required to replace the ThinkGeo.MapSuite.Layers.SqliteForLinux with ThinkGeo.MapSuite.Layers.Sqlite package.
 +
 +**To run the sample, please unzip the database file at WorldStreetsLayerSample/​App_Data/​DallasCounty-3857-20170218.zip,​ and change the connection string in WorldStreetsLayerSample/​App.config to connect database that you extracted to.**
 +
 +Working...
 +
 +Please refer to [[http://​wiki.thinkgeo.com/​wiki/​map_suite_desktop_for_winforms|Wiki]] for the details.
 +
 +{{https://​gitlab.com/​thinkgeo/​public/​thinkgeo-desktop-maps/​-/​raw/​support/​v10/​samples/​winforms/​WorldStreetsLayerSDKWindows/​screenshot.png?​500|Screenshot}}
 +
 +
 +[[https://​gitlab.com/​thinkgeo/​public/​thinkgeo-desktop-maps/​-/​tree/​support/​v10/​samples/​winforms/​WorldStreetsLayerSDKWindows?​ref_type=heads| View this sample on Gitlab]]
 +
 +==== Edit Grid Layer Sample for WinForms ====
 +
 +This WinForms project demonstrates how you can update a grid shape file using a spatial query. The elements in the file are rendered using ClassBreakStyles,​ and change when the values of the Features are incremented.
 +
 +We have dramatically improved the performance for GridFeatureLayer on MapSuite10.0. The performance compare is as below:
 +
 +| **Feature Count**                             | **Version**   | **Times(ms)**     |
 +| --------------------------------------------- | ------------- | ----------------- |
 +| 1164800                                       | Old           | 13105             | 
 +| 1164800                                       | New           | 3735              |
 +| 11680                                         | Old           | 188               |
 +| 11680                                         | New           | 175               |
 +
 +Please refer to [[http://​wiki.thinkgeo.com/​wiki/​map_suite_desktop_for_winforms|Wiki]] for the details.
 +
 +{{https://​gitlab.com/​thinkgeo/​public/​thinkgeo-desktop-maps/​-/​raw/​support/​v10/​samples/​winforms/​EditGridLayerSample/​Screenshot.png?​500|Screenshot}}
 +
 +
 +[[https://​gitlab.com/​thinkgeo/​public/​thinkgeo-desktop-maps/​-/​tree/​support/​v10/​samples/​winforms/​EditGridLayerSample?​ref_type=heads| View this sample on Gitlab]]
 +
 +==== Display Wms Raster Layer Sample for WinForms ====
 +
 +This sample demonstrates how you use WmsRasterLayer to render wms server in your Map Suite GIS applications. This WmsRasterLayer support would work in all of the Map Suite controls such as Wpf, Web, MVC and WebApi. ​
 +
 +Please refer to [[http://​wiki.thinkgeo.com/​wiki/​map_suite_desktop_for_winforms|Wiki]] for the details.
 +
 +{{https://​gitlab.com/​thinkgeo/​public/​thinkgeo-desktop-maps/​-/​raw/​support/​v10/​samples/​winforms/​DisplayWmsRasterLayerSample/​Screenshot.png?​500|Screenshot}}
 +
 +
 +[[https://​gitlab.com/​thinkgeo/​public/​thinkgeo-desktop-maps/​-/​tree/​support/​v10/​samples/​winforms/​DisplayWmsRasterLayerSample?​ref_type=heads| View this sample on Gitlab]]
 +
 +==== Stream Loading For Native Image Sample for WinForms ====
 +
 +As an alternative to loading an Image with the image file from the file system, you can choose to pass your own stream. This project shows you how to use the event StreamLoading of GdiPlusRasterSource for this purpose. In this project, we show how to do this using a Tiff image but you can also use that event for ShapeFileFeatureSource as we show in a previous project “Shapefile Encryption”. Keep in mind that this technique only works with images besides MrSid, ECW and Jpeg2000. These types of images do not work because the providers do not support streams in their decoding SDKs.
 +
 +Please refer to [[http://​wiki.thinkgeo.com/​wiki/​map_suite_desktop_for_winforms|Wiki]] for the details.
 +
 +{{https://​gitlab.com/​thinkgeo/​public/​thinkgeo-desktop-maps/​-/​raw/​support/​v10/​samples/​winforms/​StreamLoadingForNativeImage/​ScreenShot.png?​500|Screenshot}}
 +
 +[[https://​gitlab.com/​thinkgeo/​public/​thinkgeo-desktop-maps/​-/​tree/​support/​v10/​samples/​winforms/​StreamLoadingForNativeImage?​ref_type=heads| View this sample on Gitlab]]
 +
 +==== Here Real Time Traffic Sample for WinForms ====
 +
 +This sample demonstrates how you use HERE Real-time Traffic to render map in your Map Suite GIS applications.
 +Before running this sample, you need to config "​AppId"​ and "​AppCode"​ in App.Config. If you have ESRI or Here developer account, you can generate them on [[https://​developer.here.com/​|Here'​s official Web Site]].
 +
 +HERE Real-time Traffic provides the closest thing to a live depiction of the road. It identifies where, when and why traffic congestion occurs, and delivers up-to-the-minute information on the road conditions and incidents that could set a driver back.
 +
 +This HereRealTimeTrafficLayer is supported in all of the Map Suite controls such as WPF, Web, MVC and WebAPI. ​
 +
 +Please refer to [[http://​wiki.thinkgeo.com/​wiki/​map_suite_desktop_for_winforms|Wiki]] for the details.
 +
 +{{https://​gitlab.com/​thinkgeo/​public/​thinkgeo-desktop-maps/​-/​raw/​support/​v10/​samples/​winforms/​HereRealTimeTrafficSample/​Screenshot.gif?​500|Screenshot}}
 +
 +[[https://​gitlab.com/​thinkgeo/​public/​thinkgeo-desktop-maps/​-/​tree/​support/​v10/​samples/​winforms/​HereRealTimeTrafficSample?​ref_type=heads| View this sample on Gitlab]]
 +
 +==== Detect Gps Sample for WinForms ====
 +
 +Upon request of our users, today we publish a project that is the Desktop version of “Detect GPS” for Web. Notice how we use ValueStyle and change the column value of the feature based on the Spatial Query feature at each new position. We chose this structure so that you can have more flexibility for adding more than one moving vehicle features to the InMemoryFeatureLayer. For that, you can pretty much keep the same code and just add an outer loop for looping thru all the moving features.
 +
 +Please refer to [[http://​wiki.thinkgeo.com/​wiki/​map_suite_desktop_for_winforms|Wiki]] for the details.
 +
 +{{https://​gitlab.com/​thinkgeo/​public/​thinkgeo-desktop-maps/​-/​raw/​support/​v10/​samples/​winforms/​DetectGpsSample/​Screenshot.png?​500|Screenshot}}
 +
 +[[https://​gitlab.com/​thinkgeo/​public/​thinkgeo-desktop-maps/​-/​tree/​support/​v10/​samples/​winforms/​DetectGpsSample?​ref_type=heads| View this sample on Gitlab]]
 +
 +==== Custom Track Polygon Sample for WinForms ====
 +
 +Learn how to extend the **TrackInteractiveOverlay** to add behaviors, like deleting the last added vertex when right-clicking the track line.
 +
 +Please refer to [[http://​wiki.thinkgeo.com/​wiki/​map_suite_desktop_for_winforms|Wiki]] for the details.
 +
 +{{https://​gitlab.com/​thinkgeo/​public/​thinkgeo-desktop-maps/​-/​raw/​support/​v10/​samples/​winforms/​CustomTrackPolygonSample/​ScreenShot.png?​500|Screenshot}}
 +
 +[[https://​gitlab.com/​thinkgeo/​public/​thinkgeo-desktop-maps/​-/​tree/​support/​v10/​samples/​winforms/​CustomTrackPolygonSample?​ref_type=heads| View this sample on Gitlab]]
 +
 +==== US Demographic Map Sample for WinForms ====
 +
 +
 +The Demographic and Lifestyle sample template gives you a head start on your statistics project, which includes details about race, age, gender, land usage, and more for all the states in U.S. The template contains pre-styled layers that can be used as-is, or as the foundation for adding your own map notes and layers.
 +
 +Please refer to [[http://​wiki.thinkgeo.com/​wiki/​map_suite_desktop_for_winforms|Wiki]] for the details.
 +
 +{{https://​gitlab.com/​thinkgeo/​public/​thinkgeo-desktop-maps/​-/​raw/​support/​v10/​samples/​winforms/​UsDemographicMapSample/​ScreenShot.png?​500|Screenshot}}
 +
 +[[https://​gitlab.com/​thinkgeo/​public/​thinkgeo-desktop-maps/​-/​tree/​support/​v10/​samples/​winforms/​UsDemographicMapSample?​ref_type=heads| View this sample on Gitlab]]
 +
 +==== Drag Icon Sample for WinForms ====
  
 In today’s sample, we show how to drag icons representing vehicle on the map. This is a handy feature if you want to give your users the ability to drag and drop some non stationary features such as vehicles. You can see that to accomplish this functionality,​ you can use EditInteractiveOverlay as it already has all the necessary logic for dragging purposes. Look at the code to see how to set up that overlay to have the expected behavior. In today’s sample, we show how to drag icons representing vehicle on the map. This is a handy feature if you want to give your users the ability to drag and drop some non stationary features such as vehicles. You can see that to accomplish this functionality,​ you can use EditInteractiveOverlay as it already has all the necessary logic for dragging purposes. Look at the code to see how to set up that overlay to have the expected behavior.
  
-{{https://github.com/ThinkGeo/DragIconSample-ForWinForms/​raw/​master/​ScreenShot.png?​500|Screenshot}}+Please refer to [[http://wiki.thinkgeo.com/wiki/map_suite_desktop_for_winforms|Wiki]] for the details.
  
 +{{https://​gitlab.com/​thinkgeo/​public/​thinkgeo-desktop-maps/​-/​raw/​support/​v10/​samples/​winforms/​DragIconSample/​Screenshot.gif?​500|Screenshot}}
 +
 +[[https://​gitlab.com/​thinkgeo/​public/​thinkgeo-desktop-maps/​-/​tree/​support/​v10/​samples/​winforms/​DragIconSample?​ref_type=heads| View this sample on Gitlab]]
 +
 +==== Snap To Layer Sample for WinForms ====
 +
 +This project shows how you can apply snapping to an EditInteractiveOverlay. There are many aspects to snapping. Previously, we showed a project with the mouse pointer snapping to the closest vertex of an editable polygon. Today, we show the technique to drag a control point and have it snap to the closest vertex of a layer if within tolerance. The tolerance can be set in world (meter, feet etc) or screen (pixels) coordinates. Notice that we are also using the technique showed in the previous project “Dragged Point Style”.
 +
 +Please refer to [[http://​wiki.thinkgeo.com/​wiki/​map_suite_desktop_for_winforms|Wiki]] for the details.
 +
 +{{https://​gitlab.com/​thinkgeo/​public/​thinkgeo-desktop-maps/​-/​raw/​support/​v10/​samples/​winforms/​SnapToLayerSample/​Screenshot.gif?​500|Screenshot}}
 +
 +[[https://​gitlab.com/​thinkgeo/​public/​thinkgeo-desktop-maps/​-/​tree/​support/​v10/​samples/​winforms/​SnapToLayerSample?​ref_type=heads| View this sample on Gitlab]]
 +
 +==== Track Overlay With Esc Sample for WinForms ====
 +
 +This project shows how to implement aborting a trackshape with Esc key as you could do it in MapSuite 2.x.
 +
 +Please refer to [[http://​wiki.thinkgeo.com/​wiki/​map_suite_desktop_for_winforms|Wiki]] for the details.
 +
 +{{https://​gitlab.com/​thinkgeo/​public/​thinkgeo-desktop-maps/​-/​raw/​support/​v10/​samples/​winforms/​TrackOverlayWithEsc/​ScreenShot.png?​500|Screenshot}}
 +
 +[[https://​gitlab.com/​thinkgeo/​public/​thinkgeo-desktop-maps/​-/​tree/​support/​v10/​samples/​winforms/​TrackOverlayWithEsc?​ref_type=heads| View this sample on Gitlab]]
 +
 +==== Shapefile Encryption Sample for WinForms ====
 +
 +In today’s project, we are looking at a way to encrypt shapefiles to prevent them from being used outside the application. We show how to encrypt and decrypt shapefiles using streams. You will see that a very simple encryption algorithm is used but by looking at the example, you will be able to implement your own.
 +
 +Disclaimer: This encryption system can be used only on small shapefiles due to the amount of memory used. A typical use would be to encrypt some valuable small shapefiles you don't want your users to access. In the future, Map Suite will provide a full encryption system as an API.
 +
 +Please refer to [[http://​wiki.thinkgeo.com/​wiki/​map_suite_desktop_for_winforms|Wiki]] for the details.
 +
 +{{https://​gitlab.com/​thinkgeo/​public/​thinkgeo-desktop-maps/​-/​raw/​support/​v10/​samples/​winforms/​ShapeFileEncryptionSample/​Screenshot.png?​500|Screenshot}}
 +
 +
 +[[https://​gitlab.com/​thinkgeo/​public/​thinkgeo-desktop-maps/​-/​tree/​support/​v10/​samples/​winforms/​ShapeFileEncryptionSample?​ref_type=heads| View this sample on Gitlab]]
 +
 +==== Get Zoom Level Sample for WinForms ====
 +
 +This example demonstrates how to get the zoom level of the map each time we change its extent. Using custom zoom levels, you will see how to get the zoom level with its characteristics such as the upper and lower scale defining it. You can read the comments inside the project to better understand the relationship of scales with zoom levels.
 +
 +Please refer to [[http://​wiki.thinkgeo.com/​wiki/​map_suite_desktop_for_winforms|Wiki]] for the details.
 +
 +{{https://​gitlab.com/​thinkgeo/​public/​thinkgeo-desktop-maps/​-/​raw/​support/​v10/​samples/​winforms/​GetZoomLevelsSample/​Screenshot.gif?​500|Screenshot}}
 +
 +[[https://​gitlab.com/​thinkgeo/​public/​thinkgeo-desktop-maps/​-/​tree/​support/​v10/​samples/​winforms/​GetZoomLevelsSample?​ref_type=heads| View this sample on Gitlab]]
 +
 +==== Snapping To Vertex Sample for WinForms ====
 +
 +This project is the first one of a series that will be dedicated to snapping using InteractiveOverlay. In this project, we show how to snap the mouse pointer to the closest vertex of an editable polygon if it is within a set tolerance. The tolerance is shown as a circle around the vertices. This technique can also be applied to snapping vertices within the same shape, between different shapes or even based on a layer. Those different types of snapping will be the subject of future projects related to snapping using InteractiveOverlay.
 +
 +Please refer to [[http://​wiki.thinkgeo.com/​wiki/​map_suite_desktop_for_winforms|Wiki]] for the details.
 +
 +{{https://​gitlab.com/​thinkgeo/​public/​thinkgeo-desktop-maps/​-/​raw/​support/​v10/​samples/​winforms/​SnappingToVertex/​Screenshot.gif?​500|Screenshot}}
 +
 +[[https://​gitlab.com/​thinkgeo/​public/​thinkgeo-desktop-maps/​-/​tree/​support/​v10/​samples/​winforms/​SnappingToVertex?​ref_type=heads| View this sample on Gitlab]]
 +
 +==== Edit Rectangles Sample for WinForms ====
 +
 +This sample shows how to extend the **EditInteractiveOverlay** rectangles as shapes, rather than polygon shapes, by setting special column values. For features (both *Well Known Text* and *Well Known Binary*), the concept of a rectangle is not supported and typically rectangles are handled as polygons. This feature allows users to modify the rectangle but requires that the modification keep a rectangular form. The rectangle doesn'​t need to be straight as long as all of the corner angles are at 90 degrees relative to each other.
 +
 +Please refer to [[http://​wiki.thinkgeo.com/​wiki/​map_suite_desktop_for_winforms|Wiki]] for the details.
 +
 +{{https://​gitlab.com/​thinkgeo/​public/​thinkgeo-desktop-maps/​-/​raw/​support/​v10/​samples/​winforms/​EditRectanglesSample/​Screenshot.gif?​500|Screenshot}}
 +
 +[[https://​gitlab.com/​thinkgeo/​public/​thinkgeo-desktop-maps/​-/​tree/​support/​v10/​samples/​winforms/​EditRectanglesSample?​ref_type=heads| View this sample on Gitlab]]
 +
 +==== Create Inner Ring Sample for WinForms ====
 +
 +In this Desktop project we create inner rings for a polygon, based on another polygon, using the **GetDifference** method. We also learn how to perform a Union on a collection of polygons, and how to set up the **TrackEnded** event. ​
 +
 +To use this app, you need to track a polygon, double click to end it, and it will create an inner ring based on the unioned result of the polygons that are completely within the tracked polygon. You can look at the **TrackEnded** event handler to see all the different operations that are taking place for that task.
 +
 +Please refer to [[http://​wiki.thinkgeo.com/​wiki/​map_suite_desktop_for_winforms|Wiki]] for the details.
 +
 +{{https://​gitlab.com/​thinkgeo/​public/​thinkgeo-desktop-maps/​-/​raw/​support/​v10/​samples/​winforms/​CreateInnerRingSample/​Screenshot.gif?​500|Screenshot}}
 +
 +[[https://​gitlab.com/​thinkgeo/​public/​thinkgeo-desktop-maps/​-/​tree/​support/​v10/​samples/​winforms/​CreateInnerRingSample?​ref_type=heads| View this sample on Gitlab]]
 +
 +==== Routing Index Generator Sample for WinForms ====
 +
 +The Map Suite Routing Index Generator is a utility that will allow you to generate routing index files (“.rtg” and “.rtx”) from World Streets .sqlite database. These routing index files will be used by the Map Suite Routing Extension in order to calculate routes and driving directions. This utility allows you to specify things that one-way road information,​ as well as configuring the road speed and type of routes you would like to calculate. It is easily extendable to allow you to add code to deal with other routing situations.
 +
 +{{https://​gitlab.com/​thinkgeo/​public/​thinkgeo-desktop-maps/​-/​raw/​support/​v10/​samples/​winforms/​RoutingIndexGenerator/​Screenshot.png?​500|Screenshot}}
 +
 +[[https://​gitlab.com/​thinkgeo/​public/​thinkgeo-desktop-maps/​-/​tree/​support/​v10/​samples/​winforms/​RoutingIndexGenerator?​ref_type=heads| View this sample on Gitlab]]
 +
 +==== Jpeg2000 Sample for WinForms ====
 +
 +The Jpeg2000 Sample template represents a .JP2 (JPEG2000) image type to be drawn on the map.
 +
 +Please refer to [[http://​wiki.thinkgeo.com/​wiki/​map_suite_desktop_for_winforms|Wiki]] for the details.
 +
 +{{https://​gitlab.com/​thinkgeo/​public/​thinkgeo-desktop-maps/​-/​raw/​support/​v10/​samples/​winforms/​Jpeg2000Sample/​ScreenShot.png?​500|Screenshot}}
 +
 +[[https://​gitlab.com/​thinkgeo/​public/​thinkgeo-desktop-maps/​-/​tree/​support/​v10/​samples/​winforms/​Jpeg2000Sample?​ref_type=heads| View this sample on Gitlab]]
 +
 +==== Graphic Logo Adornment Sample for WinForms ====
 +
 +This sample shows how you can display your logo on the map using an AdornmentLayer. The advantage of using an Adornment is that the graphic stays in place and doesn'​t move as you pan your map. The sample should work for various kinds of logos and allow you to change the position using the AdornmentLayer'​s properties.
 +
 +Please refer to [[http://​wiki.thinkgeo.com/​wiki/​map_suite_desktop_for_winforms|Wiki]] for the details.
 +
 +{{https://​gitlab.com/​thinkgeo/​public/​thinkgeo-desktop-maps/​-/​raw/​support/​v10/​samples/​winforms/​GraphicLogoAdornments/​Screenshot.png?​500|Screenshot}}
 +
 +[[https://​gitlab.com/​thinkgeo/​public/​thinkgeo-desktop-maps/​-/​tree/​support/​v10/​samples/​winforms/​GraphicLogoAdornments?​ref_type=heads| View this sample on Gitlab]]
 +
 +==== Nldas Ascii Grid Layer Sample for WinFoms ====
 +
 +This WinForms project demonstrates how you can create a North American Land Data Assimilation System (NLDAS) grid layer. In this sample, you can find what NLDAS grid cells are fully contained in a given Shape file and what cells are partially contained. For each partially contained cell we can calculate what percent of the cell area is contained within the ShapeFile. Please refer to [[https://​ldas.gsfc.nasa.gov/​nldas/​NLDASspecs.php|NLDAS grid]] for details.
 +
 +Please refer to [[http://​wiki.thinkgeo.com/​wiki/​map_suite_desktop_for_winforms|Wiki]] for the details.
 +
 +{{https://​gitlab.com/​thinkgeo/​public/​thinkgeo-desktop-maps/​-/​raw/​support/​v10/​samples/​winforms/​NLDASAnalysisSample/​Screenshot.png?​500|Screenshot}}
 +
 +[[https://​gitlab.com/​thinkgeo/​public/​thinkgeo-desktop-maps/​-/​tree/​support/​v10/​samples/​winforms/​NLDASAnalysisSample?​ref_type=heads| View this sample on Gitlab]]
 +
 +==== Multiple Labels Sample for WinForms ====
 +
 +This sample shows how you can display multiple labels for a given point or feature. You can do this by setting a single **TextStyle** or multiple **TextStyles**. If you use a single **TextStyle**,​ you can simply use a pattern like "​[ColumnName1][ColumnName2]..."​ and when Map Suite displays the text it will combine the values of the columns in your pattern. If you use a different styling method, you will need to manually control the offset of each piece of text to avoid overlapping. ​             ​
 +
 +Please refer to [[http://​wiki.thinkgeo.com/​wiki/​map_suite_desktop_for_winforms|Wiki]] for the details.
 +
 +{{https://​gitlab.com/​thinkgeo/​public/​thinkgeo-desktop-maps/​-/​raw/​support/​v10/​samples/​winforms/​MultiplelabelsSample/​Screenshot.gif?​500|Screenshot}}
 +
 +[[https://​gitlab.com/​thinkgeo/​public/​thinkgeo-desktop-maps/​-/​tree/​support/​v10/​samples/​winforms/​MultiplelabelsSample?​ref_type=heads| View this sample on Gitlab]]
 +
 +==== Distance Query On Projected Layers Sample for WinForms ====
 +
 +This sample shows how to use the method GetFeaturesWithDistanceOf when the data is projected. We just input the unit which is projected to, do not need to mind what the real unit is for the internal data before projection. ​ It works fine with Map Suite Assemblies 4.5.54.0 or later.
 +
 +Please refer to [[http://​wiki.thinkgeo.com/​wiki/​map_suite_desktop_for_winforms|Wiki]] for the details.
 +
 +{{https://​gitlab.com/​thinkgeo/​public/​thinkgeo-desktop-maps/​-/​raw/​support/​v10/​samples/​winforms/​DistanceQueryOnProjectionLayersSample/​ScreenShot.png?​500|Screenshot}}
 +
 +[[https://​gitlab.com/​thinkgeo/​public/​thinkgeo-desktop-maps/​-/​tree/​support/​v10/​samples/​winforms/​DistanceQueryOnProjectionLayersSample?​ref_type=heads| View this sample on Gitlab]]
  
-[[https://​github.com/​ThinkGeo/​DragIconSample-ForWinForms| View this sample on Github]] 
 ==== Ecw Sample for WinForms ==== ==== Ecw Sample for WinForms ====
  
Line 141: Line 461:
 The images can be accessed very quickly at a variety of scales. It is very popular in the GIS community. The images can be accessed very quickly at a variety of scales. It is very popular in the GIS community.
  
-{{https://​raw.githubusercontent.com/ThinkGeo/EcwSample-ForWinForms/master/​ScreenShot.png?​500|Screenshot}}+Please refer to [[http://​wiki.thinkgeo.com/​wiki/​map_suite_desktop_for_winforms|Wiki]] for the details. 
 + 
 +{{https://​gitlab.com/​thinkgeo/​public/​thinkgeo-desktop-maps/​-/raw/​support/​v10/​samples/​winforms/​EcwSample/​ScreenShot.png?​500|Screenshot}} 
 + 
 +[[https://​gitlab.com/thinkgeo/​public/​thinkgeo-desktop-maps/​-/​tree/​support/​v10/​samples/​winforms/EcwSample?​ref_type=heads| View this sample on Gitlab]] 
 + 
 +==== Site Selection Sample for WinForms ==== 
 + 
 +The Site Selection sample template allows you to view, understand, interpret, and visualize spatial data in many ways that reveal relationships,​ patterns, and trends. In the example illustrated,​ the user can apply the features of GIS to analyze spatial data to efficiently choose a suitable site for a new retail outlet. 
 + 
 +Please refer to [[http://​wiki.thinkgeo.com/​wiki/​map_suite_desktop_for_winforms|Wiki]] for the details. 
 + 
 +{{https://​gitlab.com/​thinkgeo/​public/​thinkgeo-desktop-maps/-/​raw/​support/​v10/​samples/​winforms/​SiteSelectionSample/​ScreenShot.png?​500|Screenshot}} 
 + 
 +[[https://​gitlab.com/​thinkgeo/​public/​thinkgeo-desktop-maps/​-/​tree/​support/​v10/​samples/​winforms/​SiteSelectionSample?​ref_type=heads| View this sample on Gitlab]] 
 + 
 +==== Select At Track Shape Sample for WinForms ==== 
 + 
 +In today’s Desktop project, we combine the skills we learned in the samples “Spatial Query A Feature Layer” and “Track And Edit Shapes”. You can see how we use the event TrackEnded to get the RectangleShape from the tracked shape of TrackOverlay to do the spatial query. In this example, we use a Rectangle but you could also very easily use another shape such as Polygon, Circle, etc. 
 + 
 +Please refer to [[http://​wiki.thinkgeo.com/​wiki/​map_suite_desktop_for_winforms|Wiki]] for the details. 
 + 
 +{{https://​gitlab.com/​thinkgeo/​public/​thinkgeo-desktop-maps/​-/​raw/​support/​v10/​samples/​winforms/​SelectAtTrackShapes/​Screenshot.gif?​500|Screenshot}} 
 + 
 +[[https://​gitlab.com/​thinkgeo/​public/​thinkgeo-desktop-maps/​-/​tree/​support/​v10/​samples/​winforms/​SelectAtTrackShapes?​ref_type=heads| View this sample on Gitlab]] 
 + 
 +==== Drag Point Advanced Sample for WinForms ==== 
 + 
 +This project is an example of how extensible **EditInteractiveOverlay** is for the editing needs of the user. You can see how to change the styles of the vertex being dragged based on the Shift key, and how to have the vertex snap to any feature.  
 + 
 +Thanks to the protected override functions such as **KeyDownCore**,​ **KeyUpCore**,​ **MouseUpCore** and **DrawCore**,​ these functionalities can easily be implemented by inheriting from **EditInteractiveOverlay**. 
 + 
 +Please refer to [[http://​wiki.thinkgeo.com/​wiki/​map_suite_desktop_for_winforms|Wiki]] for the details. 
 + 
 +{{https://​gitlab.com/​thinkgeo/​public/​thinkgeo-desktop-maps/​-/​raw/​support/​v10/​samples/​winforms/​DragPointAdvancedSample/​Screenshot.gif?​500|Screenshot}} 
 + 
 +[[https://​gitlab.com/​thinkgeo/​public/​thinkgeo-desktop-maps/​-/​tree/​support/​v10/​samples/​winforms/​DragPointAdvancedSample?​ref_type=heads| View this sample on Gitlab]] 
 + 
 +==== Drag Point With Label Sample for WinForms ==== 
 + 
 +In this project, dedicated to **EditInteractiveOverlay**,​ you will see how easy it is to add some labeling to your dragged control point, showing dynamic information. Here we show how to display the distance from the dragged control point to the closest point of a reference shape. Also, to augment the user experience, the closest point of the reference shape is also shown varying as the control point is dragged around. 
 + 
 +Please refer to [[http://​wiki.thinkgeo.com/​wiki/​map_suite_desktop_for_winforms|Wiki]] for the details. 
 + 
 +{{https://​gitlab.com/​thinkgeo/​public/​thinkgeo-desktop-maps/​-/​raw/​support/​v10/​samples/​winforms/​DragPointWithLabelSample/​Screenshot.gif?​500|Screenshot}}
  
 +[[https://​gitlab.com/​thinkgeo/​public/​thinkgeo-desktop-maps/​-/​tree/​support/​v10/​samples/​winforms/​DragPointWithLabelSample?​ref_type=heads| View this sample on Gitlab]]
  
-[[https://​github.com/​ThinkGeo/​EcwSample-ForWinForms| View this sample on Github]] +==== Mr Sid Sample for WinForms ====
-==== MrSid Sample for WinForms ====+
  
 MrSID (pronounced Mister Sid) is an acronym that stands for multiresolution seamless image database. In order to run this sample, development build 10.0.0.0 or later is required. MrSID (pronounced Mister Sid) is an acronym that stands for multiresolution seamless image database. In order to run this sample, development build 10.0.0.0 or later is required.
Line 151: Line 515:
 This sample includes a map with MrSID as base overlay, the MrSID shows the image data of the world range. This sample includes a map with MrSID as base overlay, the MrSID shows the image data of the world range.
  
-{{https://raw.githubusercontent.com/ThinkGeo/MrSidSample-ForWinForms/master/​ScreenShot.png?​500|Screenshot}}+Please refer to [[http://​wiki.thinkgeo.com/​wiki/​map_suite_desktop_for_winforms|Wiki]] for the details. 
 + 
 +{{https://gitlab.com/thinkgeo/public/​thinkgeo-desktop-maps/-/​raw/​support/​v10/​samples/​winforms/​MrSidSample/​ScreenShot.png?​500|Screenshot}}
  
 **Known issue:** The screenshot is taken under Linux, but it not well tested, maybe sometimes runs to exception. ​ **Known issue:** The screenshot is taken under Linux, but it not well tested, maybe sometimes runs to exception. ​
  
 +[[https://​gitlab.com/​thinkgeo/​public/​thinkgeo-desktop-maps/​-/​tree/​support/​v10/​samples/​winforms/​MrSidSample?​ref_type=heads| View this sample on Gitlab]]
  
-[[https://​github.com/​ThinkGeo/​MrSidSample-ForWinForms| View this sample on Github]] +==== Drag Point Sample for WinForms ====
-==== Graphic Logo Adornment ​Sample for WinForms ====+
  
-This sample shows how you can display your logo on the map using an **AdornmentLayer**. The advantage ​of using an Adornment is that the graphic stays in place and doesn'​t move as you pan your mapThe sample should work for various kinds of logos and allow you to change the position using the **AdornmentLayer**'s properties.+In this project, we focus our attention ​on how to control ​the style of the control pointsYou will see how to override ​the **DrawCore** function of **EditInteractiveOverlay**. 
  
-{{https://github.com/ThinkGeo/LogoAdornmentSample-ForWinForms/​raw/​master/​ScreenShot.png?​500|Screenshot}}+Please refer to [[http://wiki.thinkgeo.com/wiki/map_suite_desktop_for_winforms|Wiki]] for the details.
  
 +{{https://​gitlab.com/​thinkgeo/​public/​thinkgeo-desktop-maps/​-/​raw/​support/​v10/​samples/​winforms/​DragPointSample/​Screenshot.gif?​500|Screenshot}}
  
-[[https://github.com/ThinkGeo/LogoAdornmentSample-ForWinForms| View this sample on Github]] +[[https://gitlab.com/thinkgeo/public/​thinkgeo-desktop-maps/​-/​tree/​support/​v10/​samples/​winforms/​DragPointSample?​ref_type=heads| View this sample on Gitlab]]
-==== Select Vertices Sample for WinForms ====+
  
 +==== Cluster Point Sample for WinForms ====
  
-The purpose of this sample is to help you, the developer understand some intricacies of inheriting from EditInteractiveOverlay when implementing your own editing logic. Here we show how to keep control points drawing as selected even after the dragging operation is finishedFor this purposewe need to override three protected functions, OnControlPointSelected,​ MouseUpCore and DrawCorePlease, read carefully the comments ​to understand ​the inner workings ​of EditInteractiveOverlay.+ClusterPointStyle is integrated into Map Suite'​s styles. In this project ​you will see how to use the ClusterPointStyle for clustering various features into oneSometimesthe map may have too many features which are stacked on top of each other making the map illegible at higher zoom levelsClustering is a useful technique as it allows you to group together various features into one labeled symbol with the count of all the features
  
-{{https://github.com/ThinkGeo/SelectVerticesSample-ForWinForms/​raw/​master/​ScreenShot.png?​500|Screenshot}}+Please refer to [[http://wiki.thinkgeo.com/wiki/map_suite_desktop_for_winforms|Wiki]] for the details.
  
 +{{https://​gitlab.com/​thinkgeo/​public/​thinkgeo-desktop-maps/​-/​raw/​support/​v10/​samples/​winforms/​ClusterPointSample/​Screenshot.png?​500|Screenshot}}
  
-[[https://github.com/ThinkGeo/SelectVerticesSample-ForWinForms| View this sample on Github]] +[[https://gitlab.com/thinkgeo/public/​thinkgeo-desktop-maps/​-/​tree/​support/​v10/​samples/​winforms/​ClusterPointSample?​ref_type=heads| View this sample on Gitlab]]
-==== Labeling Based On Size Sample for WinForms ====+
  
 +==== Heat Map Sample for WinForms ====
  
-This project shows some advanced uses of the **ClassBreakStyle** to show how to label countries based on the areaYou will notice that we also take advantage of the various zoom level sets for labeling purposes. The result is an eye pleasing labeling ​of the countries, ​ with the size proportionate to the countries’ area, with more countries'​ labels appearing as you zoom in.+Heat maps is a technique increasingly used in various fields such in biology and other fieldsSee http://​en.wikipedia.org/​wiki/​Heat_map. They are also used for displaying areas of webs page most frequently scanned by users. http://​csscreme.com/​heat-maps/​.
  
-{{https://​github.com/​ThinkGeo/​LabelingBasedOnSizeSample-ForWinForms/​raw/​master/​ScreenShot.png?​500|Screenshot}}+At ThinkGeo, we are taking this concept to GIS and applying it to geographic maps. Heat maps are a great way to give the users a visually compelling representation of the distribution and intensity of geographic phenomenon
  
 +Please refer to [[http://​wiki.thinkgeo.com/​wiki/​map_suite_desktop_for_winforms|Wiki]] for the details.
  
-[[https://github.com/ThinkGeo/LabelingBasedOnSizeSample-ForWinFormsView this sample on Github]] +{{https://gitlab.com/thinkgeo/public/​thinkgeo-desktop-maps/​-/​raw/​support/​v10/​samples/​winforms/​HeatMapSample/​ScreenShot.png?​500|Screenshot}}
-==== Kml Extension Sample Sample for WinForms ====+
  
-KML is the file format for displaying geographic data in a Google Earth browser such as Google EarthNow, you can also display such a file on a Map Suite control. Thanks to its flexible architecture to extent to new file formats, in today’s project we wrote the logic for supporting KML. Look at the class KmlfeatureSource inheriting from FeatureSource to see how the logic for reading FML files was implemented. As well, you can see the class KmlStyle inheriting from Style for the drawing logic. And feel free to modify and improve those classes with your own implementations.+[[https://​gitlab.com/​thinkgeo/​public/​thinkgeo-desktop-maps/​-/​tree/​support/​v10/​samples/​winforms/​HeatMapSample?​ref_type=heads| View this sample ​on Gitlab]]
  
-{{https://​github.com/​ThinkGeo/​KmlSample-ForWinForms/​raw/​master/​ScreenShot.png?​500|Screenshot}}+==== ThinkGeo ​Cloud Maps Sample for WinForms ====
  
 +This sample demonstrates how you can display ThinkGeo Cloud Maps in your Map Suite GIS applications. It will show you how to use the XYZFileBitmapTileCache to improve the performance of map rendering. ThinkGeoCloudMapsOverlay uses the ThinkGeo Cloud XYZ Tile Server as raster map tile server. It supports 5 different map styles: ​
 +- Light
 +- Dark
 +- Aerial
 +- Hybrid
 +- TransparentBackground
  
-[[https://​github.com/​ThinkGeo/​KmlSample-ForWinForms| View this sample on Github]] +ThinkGeo ​Cloud Maps support would work in all of the Map Suite controls such as Wpf, Web, MVC, WebApi, Android and iOS.
-==== Lat Long Graticule Sample for WinForms ====+
  
-After the projects on North Arrow and Compass, we created another project related ​to Adornment Layer to have a more stylish map and give more information to the user navigating ​the map.+Please refer to [[http://​wiki.thinkgeo.com/​wiki/​map_suite_desktop_for_winforms|Wiki]] for the details.
  
-{{https://github.com/ThinkGeo/LongLatGraticuleSample-ForWinForms/raw/master/ScreenShot.png?​500|Screenshot}}+{{https://gitlab.com/thinkgeo/​public/​thinkgeo-desktop-maps/-/raw/support/​v10/​samples/​winforms/​CloudMapSample/Screenshot.gif?​500|Screenshot}}
  
 +[[https://​gitlab.com/​thinkgeo/​public/​thinkgeo-desktop-maps/​-/​tree/​support/​v10/​samples/​winforms/​CloudMapSample?​ref_type=heads| View this sample on Gitlab]]
  
-[[https://​github.com/​ThinkGeo/​LongLatGraticuleSample-ForWinForms| View this sample on Github]] +==== Tracked Shapes To WKT Sample for WinForms ====
-==== US Demographic Map Sample ​Template ​for WinForms ====+
  
 +In today’s project, we show how to save a tracked shape to WKT (Well Known Text). You will notice that we make the distinction between the shape being tracked and the finished tracked shape thanks to two different events of TrackOverlay,​ TrackEnding and TrackEnded.
  
-The Demographic and Lifestyle sample template gives you a head start on your statistics project, which includes details about race, age, gender, land usage, and more for all the states in U.SThe template contains pre-styled layers that can be used as-is, or as the foundation for adding your own map notes and layers.+Please refer to [[http://​wiki.thinkgeo.com/​wiki/​map_suite_desktop_for_winforms|Wiki]] for the details.
  
-{{https://github.com/ThinkGeo/USDemographicMapSample-ForWinForms/raw/master/ScreenShot.png?​500|Screenshot}}+{{https://gitlab.com/thinkgeo/​public/​thinkgeo-desktop-maps/-/raw/support/​v10/​samples/​winforms/​TrackedShapesToWKT/Screenshot.png?​500|Screenshot}}
  
 +[[https://​gitlab.com/​thinkgeo/​public/​thinkgeo-desktop-maps/​-/​tree/​support/​v10/​samples/​winforms/​TrackedShapesToWKT?​ref_type=heads| View this sample on Gitlab]]
  
-[[https://​github.com/​ThinkGeo/​USDemographicMapSample-ForWinForms| View this sample on Github]] +==== Bread Crumb Trail Sample for WinForms ====
-==== Custom Track Line Sample for WinForms ====+
  
-In today’s project, we are going to see how to extend the TrackInteractiveOverlay in the Desktop edition to have the desired behavior when tracking ​lineIn this case, we show how to override the MouseDownCore function to have the line being tracked at left mouse click and have the last vertex added deleted ​at right mouse click.+An early project of the Code Community, “Vehicle Direction”,​ showed how to rotate the icon of a moving vehicle based on the direction. ​In today’s project, we are going one step further and we are showing ​how to display dynamically ​bread crumb trail as a trailing tail behind the moving vehicleFor this purpose, we are creating a new LineShape with the latest points ​at every new position.
  
-{{https://github.com/ThinkGeo/CustomTrackLineSample-ForWinForms/​raw/​master/​ScreenShot.png?​500|Screenshot}}+Please refer to [[http://wiki.thinkgeo.com/wiki/map_suite_desktop_for_winforms|Wiki]] for the details.
  
 +{{https://​gitlab.com/​thinkgeo/​public/​thinkgeo-desktop-maps/​-/​raw/​support/​v10/​samples/​winforms/​BreadCrumbTrailSample/​Screenshot.gif?​500|Screenshot}}
  
-[[https://github.com/ThinkGeo/CustomTrackLineSample-ForWinForms| View this sample on Github]] +[[https://gitlab.com/thinkgeo/public/​thinkgeo-desktop-maps/​-/​tree/​support/​v10/​samples/​winforms/​BreadCrumbTrailSample?​ref_type=heads| View this sample on Gitlab]]
-==== Custom Track Polygon Sample for WinForms ====+
  
-Learn how to extend the **TrackInteractiveOverlay** to add behaviors, like deleting the last added vertex when right-clicking the track line.+==== Dynamic Track Shapes Sample for WinForms ====
  
-{{https://​github.com/​ThinkGeo/​CustomTrackPolygonSample-ForWinForms/​raw/​master/​ScreenShot.png?​500|Screenshot}}+This Desktop project shows how to handle **TrackOverlay** to obtain dynamic information about the shape being tracked.
  
 +Please refer to [[http://​wiki.thinkgeo.com/​wiki/​map_suite_desktop_for_winforms|Wiki]] for the details.
  
-[[https://github.com/ThinkGeo/CustomTrackPolygonSample-ForWinFormsView this sample on Github]] +{{https://gitlab.com/thinkgeo/public/​thinkgeo-desktop-maps/​-/​raw/​support/​v10/​samples/​winforms/​DynamicTrackShapesSample/​ScreenShot.png?​500|Screenshot}}
-==== Open Street Map Sample for WinForms ====+
  
-OpenStreetMap (OSM) is a collaborative project to create free geographic data for the entire worldIt can be thought of as a "Free Wiki World Map". The latest version of MapSuite now supports ​this.  ​+[[https://​gitlab.com/​thinkgeo/​public/​thinkgeo-desktop-maps/​-/​tree/​support/​v10/​samples/​winforms/​DynamicTrackShapesSample?​ref_type=heads| View this sample on Gitlab]]
  
-{{https://​github.com/​ThinkGeo/​OpenStreetMapSample-ForWinForms/​raw/​master/​ScreenShot.png?​500|Screenshot}}+==== Geocoding Sample for WinForms ====
  
 +[[http://​wiki.thinkgeo.com/​wiki/​_media/​geocoding_hodoisamples_data.zip|Sample Data Download]]
  
-[[https://​github.com/​ThinkGeo/​OpenStreetMapSample-ForWinForms| View this sample on Github]] +The Map Suite Geocoder “How Do I?” solution offers a series of useful how-to examples ​for using the Map Suite Geocoder component. The bundled solution comes with a small set of sample data from Chicago, IL and demonstrates geocoding, reverse geocoding, batch geocoding, use of fuzzy matching logic, getting the closest street number to a point, and much more. Full source code is included in both C# and VB.NET languages; simply select your preferred language to download the associated solution.
-==== Intersect Line Sample ​for WinForms ====+
  
-In today’s project, we show how to split a line based on an intersecting lineTo accomplish this task, basically two steps are neededFirst, you need to find the crossing point using the GetCrossing function and then you split the line based on the crossing point using the GetLineOnLine function. If you are in the utilities industry working with electric network, gas pipes etc, you will find this project useful.+Please refer to [[http://​wiki.thinkgeo.com/​wiki/​map_suite_desktop_for_winforms|Wiki]] for the details.
  
-{{https://github.com/ThinkGeo/IntersectLineSample-ForWinForms/raw/master/ScreenShot.png?​500|Screenshot}}+{{https://gitlab.com/thinkgeo/​public/​thinkgeo-desktop-maps/-/raw/support/​v10/​samples/​winforms/​GeocodingSample/Screenshot.gif?​500|Screenshot}}
  
 +[[https://​gitlab.com/​thinkgeo/​public/​thinkgeo-desktop-maps/​-/​tree/​support/​v10/​samples/​winforms/​GeocodingSample?​ref_type=heads| View this sample on Gitlab]]
  
-[[https://​github.com/​ThinkGeo/​IntersectLineSample-ForWinForms| View this sample on Github]] +==== Labeling Based On Size Sample for WinForms ====
-==== Get Features Clicked ​On Sample for WinForms ====+
  
-The purpose of this project ​is to show the technique for finding ​the feature the user clicked onTo give the user the expected behaviora buffer in screen coordinates needs to be set so that the feature gets selected within a constant distance in screen coordinates ​to where the user clickedregardless of the zoom level+This project ​shows some advanced uses of the **ClassBreakStyle** ​to show how to label countries based on the area. You will notice that we also take advantage of the various zoom level sets for labeling purposesThe result is an eye pleasing labeling of the countries ​with ​the size proportionate ​to the countries’ areawith more countries'​ labels appearing as you zoom in.
  
-{{https://github.com/ThinkGeo/GetFeaturesClickedOnSample-ForWinForms/​raw/​master/​ScreenShot.png?​500|Screenshot}}+Please refer to [[http://wiki.thinkgeo.com/wiki/map_suite_desktop_for_winforms|Wiki]] for the details.
  
 +{{https://​gitlab.com/​thinkgeo/​public/​thinkgeo-desktop-maps/​-/​raw/​support/​v10/​samples/​winforms/​LabelingBasedOnSize/​ScreenShot.png?​500|Screenshot}}
  
-[[https://github.com/ThinkGeo/GetFeaturesClickedOnSample-ForWinForms| View this sample on Github]] +[[https://gitlab.com/thinkgeo/public/​thinkgeo-desktop-maps/​-/​tree/​support/​v10/​samples/​winforms/​LabelingBasedOnSize?​ref_type=heads| View this sample on Gitlab]]
-==== Bread Crumb Trail Sample for WinForms ====+
  
-An early project of the Code Community, “Vehicle Direction”,​ showed how to rotate the icon of a moving vehicle based on the direction. ​In today’s project, we are going one step further and we are showing how to display dynamically a bread crumb trail as a trailing tail behind the moving vehicle. For this purpose, we are creating a new LineShape with the latest points at every new position.+==== Track Zoom In Without Shift Key Sample for WinForms ====
  
-{{https://​github.com/​ThinkGeo/​BreadCrumbTrailSample-ForWinForms/​raw/​master/​ScreenShot.png?​500|Screenshot}}+This project is for DesktopEdition usersIn Map Suite 2.x, different modes of the map are offered to the developer to choose what kind of behavior the map has at a mouse action. In Map Suite 3.x, we went away from modes to have a more flexible model using InteracticeOverlay. By default, track zoom in is done by clicking and dragging the mouse on the map while holding the Shift key. This is very convenient but what if you want to offer the users the same experience as with 2.x, where the same mouse action has different behavior such as TrackZoomIn and Pan through the use of modes.
  
 +In this project, we show how to build your own InteractiveOverlay to emulate in Map Suite 3.x the mode behavior 2.x has.
 +
 +Please refer to [[http://​wiki.thinkgeo.com/​wiki/​map_suite_desktop_for_winforms|Wiki]] for the details.
 +
 +{{https://​gitlab.com/​thinkgeo/​public/​thinkgeo-desktop-maps/​-/​raw/​support/​v10/​samples/​winforms/​TrackZoomInWithoutShift/​Screenshot.gif?​500|Screenshot}}
 +
 +[[https://​gitlab.com/​thinkgeo/​public/​thinkgeo-desktop-maps/​-/​tree/​support/​v10/​samples/​winforms/​TrackZoomInWithoutShift?​ref_type=heads| View this sample on Gitlab]]
  
-[[https://​github.com/​ThinkGeo/​BreadCrumbTrailSample-ForWinForms| View this sample on Github]] 
 ==== Centering On Moving Vehicle With Tolerance Sample for WinForms ==== ==== Centering On Moving Vehicle With Tolerance Sample for WinForms ====
  
 In the previous project, we showed how to center the map on a moving vehicle. While this is great, it has the disadvantage of having to refresh the map each time the vehicle changes position. In this project, we respond to this inconvenience by using a set tolerance used for determining if the map needs to be refreshed or not. If the vehicle moves within a rectangle of a certain size located in the center of the current extent of the map, the map will not refresh and only the moving vehicle will. If it moves outside the tolerance area, the entire map will be refreshed and the tolerance recalculated. In the previous project, we showed how to center the map on a moving vehicle. While this is great, it has the disadvantage of having to refresh the map each time the vehicle changes position. In this project, we respond to this inconvenience by using a set tolerance used for determining if the map needs to be refreshed or not. If the vehicle moves within a rectangle of a certain size located in the center of the current extent of the map, the map will not refresh and only the moving vehicle will. If it moves outside the tolerance area, the entire map will be refreshed and the tolerance recalculated.
  
-{{https://github.com/ThinkGeo/CenteringOnMovingVehicleWithToleranceSample-ForWinForms/​raw/​master/​ScreenShot.png?​500|Screenshot}}+Please refer to [[http://wiki.thinkgeo.com/wiki/map_suite_desktop_for_winforms|Wiki]] for the details.
  
 +{{https://​gitlab.com/​thinkgeo/​public/​thinkgeo-desktop-maps/​-/​raw/​support/​v10/​samples/​winforms/​CenteringOnMovingVehiclesWithTolerance/​Screenshot.gif?​500|Screenshot}}
  
-[[https://github.com/ThinkGeo/CenteringOnMovingVehicleWithToleranceSample-ForWinForms| View this sample on Github]] +[[https://gitlab.com/thinkgeo/public/​thinkgeo-desktop-maps/​-/​tree/​support/​v10/​samples/​winforms/​CenteringOnMovingVehiclesWithTolerance?​ref_type=heads| View this sample on Gitlab]]
-==== Dynamic Track Shapes Sample for WinForms ====+
  
-This Desktop project shows how to handle **TrackOverlay** to obtain dynamic information about the shape being tracked.+==== Native Tab File Support Sample for WinForms ====
  
-{{https://​github.com/​ThinkGeo/​DynamicTrackShapesSample-ForWinForms/​raw/​master/​ScreenShot.png?​500|Screenshot}}+One of the most exciting new features in MapSuite 5.0 is native TAB file support. In the past, the FDO extension was used for displaying TAB files in MapSuite. Now with the new TabFeatureLayer,​ we have a simpler and more stable method of working with TAB files
  
 +This Code Community project demonstrates how to load and display a TAB file using the new TabFeatureLayer. The example also allows you to add, edit and delete features from the TAB file.
  
-[[https://github.com/ThinkGeo/DynamicTrackShapesSample-ForWinFormsView this sample on Github]] +Please refer to [[http://wiki.thinkgeo.com/wiki/map_suite_desktop_for_winforms|Wiki]] for the details.
-==== Detect GPS Desktop Sample ​for WinForms ====+
  
-Upon request of our users, today we publish a project that is the Desktop version of “Detect GPS” for WebNotice how we use ValueStyle and change the column value of the feature based on the Spatial Query feature at each new position. We chose this structure so that you can have more flexibility for adding more than one moving vehicle features to the InMemoryFeatureLayer. For that, you can pretty much keep the same code and just add an outer loop for looping thru all the moving features.+{{https://​gitlab.com/​thinkgeo/​public/​thinkgeo-desktop-maps/​-/​raw/​support/​v10/​samples/​winforms/​NativeTabFilesSupportSample/​Screenshot.png?​500|Screenshot}}
  
-{{https://github.com/ThinkGeo/DetectGPSSample-ForWinForms/raw/master/ScreenShot.png?500|Screenshot}}+[[https://gitlab.com/thinkgeo/public/​thinkgeo-desktop-maps/-/tree/support/​v10/​samples/​winforms/​NativeTabFilesSupportSample?ref_type=headsView this sample on Gitlab]]
  
 +==== Multi Geo Raster Layer Sample for WinForms ====
  
-[[https://​github.com/​ThinkGeo/​DetectGpsSample-ForWinForms| View this sample on Github]] 
-==== Geocoding Samples for WinForms ==== 
  
 +MapSuite API has RasterLayer from which inherits MrSIDRasterLayer and ECWRasterLayer etc. If we have many raster files, we would need to add all the raster files as separate layer. However this has a performance issue. In this project, we show how to create a class MultiGeoRasterLayer that treats all the raster file as one layer.
 +              ​
 +This class show how to do that using JPEG images with its associating JGW world file. It speeds up the loading of a large number of Raster layers by loading and drawing on demand only the files in the current extent. It loads a reference file that contains the bounding box, path and file information for all of the Raster files. We load this information into an in-memory spatial index. When the map requests to draw the layer, we find the Rasters that are in the current extent, create a layer on-the-fly, call their Draw method and then close them. In this way, we load on demand only the files that are in the current extent.
  
-[Sample Data Download](http://​wiki.thinkgeo.com/​wiki/​_media/​geocoding_hodoisamples_data.zip)+Please refer to [[http://​wiki.thinkgeo.com/​wiki/​map_suite_desktop_for_winforms|Wiki]] for the details.
  
-The Map Suite Geocoder “How Do I?” solution offers a series of useful how-to examples for using the Map Suite Geocoder component. The bundled solution comes with a small set of sample data from Chicago, IL and demonstrates geocoding, reverse geocoding, batch geocoding, use of fuzzy matching logic, getting the closest street number to a point, and much more. Full source code is included in both C==== and VB.NET languages; simply select your preferred language to download the associated solution.+{{https://​gitlab.com/​thinkgeo/​public/​thinkgeo-desktop-maps/​-/​raw/​support/​v10/​samples/​winforms/​MultiGeoRasterLayerSample/​Screenshot.png?​500|Screenshot}}
  
-{{https://github.com/ThinkGeo/GeocodingSample-ForWinForms/raw/master/ScreenShot.png?500|Screenshot}}+[[https://gitlab.com/thinkgeo/public/​thinkgeo-desktop-maps/-/tree/support/​v10/​samples/​winforms/​MultiGeoRasterLayerSample?ref_type=headsView this sample on Gitlab]]
  
 +==== Get Features Clicked On Sample for WinForms ====
  
-[[https://​github.com/​ThinkGeo/​GeocodingSample-ForWinForms| View this sample on Github]] +The purpose of this project is to show the technique ​for finding the feature the user clicked on. To give the user the expected behavior, a buffer in screen coordinates needs to be set so that the feature gets selected within a constant distance in screen coordinates to where the user clicked, regardless of the zoom level. ​
-==== Jpeg2000 Sample ​for WinForms ​  ====+
  
-The Jpeg2000 Sample template represents a .JP2 (JPEG2000) image type to be drawn on the map.+Please refer to [[http://​wiki.thinkgeo.com/​wiki/​map_suite_desktop_for_winforms|Wiki]] for the details.
  
-{{https://raw.githubusercontent.com/ThinkGeo/Jpeg2000Sample-ForWinForms/master/​ScreenShot.png?​500|Screenshot}}+{{https://gitlab.com/thinkgeo/public/​thinkgeo-desktop-maps/​-/​raw/​support/​v10/​samples/​winforms/GetFeaturesClickedOnSample/​ScreenShot.png?​500|Screenshot}}
  
 +[[https://​gitlab.com/​thinkgeo/​public/​thinkgeo-desktop-maps/​-/​tree/​support/​v10/​samples/​winforms/​GetFeaturesClickedOnSample?​ref_type=heads| View this sample on Gitlab]]
  
-[[https://​github.com/​ThinkGeo/​Jpeg2000Sample-ForWinForms| View this sample on Github]] +==== ThinkGeo Cloud Maps Sample for Android ​====
-==== Edit Geometry Of Shapefile ​Sample for WinForms ​====+
  
-The purpose of this sample ​is to show how to update ​the geometry of a feature of a shapefile in one step. This sample is useful for anyone wanting ​to actualize ​the geometry part of its dataYou can see how only a few lines of code are necessary for this process, and that the spatial index gets automatically updated after calling the committing ​the change+This sample ​demonstrates how you can display ThinkGeo Cloud Maps in your Map Suite GIS applications. It will show you how to use the XYZFileBitmapTileCache ​to improve ​the performance ​of map renderingThinkGeoCloudMapsOverlay uses the ThinkGeo Cloud XYZ Tile Server as raster map tile serverIt supports 5 different map styles:  
 +- Light 
 +- Dark 
 +- Aerial 
 +- Hybrid 
 +- TransparentBackground
  
-{{https://​github.com/​ThinkGeo/​EditGeometryOfShapefileSample-ForWinForms/​raw/​master/​ScreenShot.png?​500|Screenshot}}+ThinkGeo ​Cloud Maps support would work in all of the Map Suite controls such as Wpf, WinForms, Web, MVC, WebApi and iOS.
  
 +Please refer to [Wiki](http://​wiki.thinkgeo.com/​wiki/​map_suite_mobile_for_android) for the details.
  
-[[https://​github.com/​ThinkGeo/​EditGeometryOfShapefileSample-ForWinFormsView this sample on Github]] +{{https://​github.com/​ThinkGeo/​ThinkGeoCloudMapsSample-ForAndroid/​raw/​master/​Screenshot.gif?​500|Screenshot}}
-==== Earth Quakes Heat Map Sample for WinForms ====+
  
-After the project on displaying swine flu data using the heat map technique, here you learn how to apply parameters other than strictly spatial distribution to affect the coloring of the map. 
  
-{{https://​github.com/​ThinkGeo/​EarthQuakesHeatMapSample-ForWinForms/​raw/​master/​ScreenShot.png?​500|Screenshot}}+[[https://​github.com/​ThinkGeo/​ThinkGeoCloudMapsSample-ForAndroidView this sample on Github]]
  
 +==== ThinkGeo Cloud Maps Sample for iOS ====
  
-[[https://​github.com/​ThinkGeo/​EarthquakesHeatMapSample-ForWinForms| View this sample on Github]] 
-==== Heat Map Sample for WinForms ==== 
  
 +This sample demonstrates how you can display ThinkGeo Cloud Maps in your Map Suite GIS applications. It will show you how to use the XYZFileBitmapTileCache to improve the performance of map rendering. ThinkGeoCloudMapsOverlay uses the ThinkGeo Cloud XYZ Tile Server as raster map tile server. It supports 5 different map styles: ​
 +- Light
 +- Dark
 +- Aerial
 +- Hybrid
 +- TransparentBackground
  
-Heat maps is a technique increasingly used in various fields ​such in biology ​and other fields. See http://​en.wikipedia.org/​wiki/​Heat_map. They are also used for displaying areas of webs page most frequently scanned by users. http://​csscreme.com/​heat-maps/​.+ThinkGeo Cloud Maps support would work in all of the Map Suite controls ​such as Wpf, WinForms, Web, MVC, WebApi ​and Android.
  
-At ThinkGeo, we are taking this concept ​to GIS and applying it to geographic mapsHeat maps are a great way to give the users a visually compelling representation of the distribution and intensity of geographic phenomenon+Please refer to [Wiki](http://​wiki.thinkgeo.com/​wiki/​map_suite_mobile_for_ios) for the details.
  
-{{https://​github.com/​ThinkGeo/​HeatMapSample-ForWinForms/​raw/​master/​ScreenShot.png?​500|Screenshot}}+{{https://​github.com/​ThinkGeo/​ThinkGeoCloudMapsSample-ForiOS/​raw/​master/​Screenshot.gif?​500|Screenshot}}
  
  
-[[https://​github.com/​ThinkGeo/​HeatMapSample-ForWinForms| View this sample on Github]] +[[https://​github.com/​ThinkGeo/​ThinkGeoCloudMapsSample-ForiOS| View this sample on Github]]
-==== Site Selection Sample Template for WinForms ====+
  
 +==== Select And Drag Feature Sample for Wpf ====
  
-The Site Selection sample template allows you to viewunderstand, interpret, and visualize spatial data in many ways that reveal relationships,​ patterns, and trendsIn the example illustrated, ​the user can apply the features of GIS to analyze spatial data to efficiently choose a suitable site for a new retail outlet.+In this Wpf projectwe show how to select a feature from a shapefile based on a column value using the GetFeaturesByColumnValueWe also show to setup the EditOverlay to give the user the ability to drag the selected feature. In this project, you can also see how to get the world coordinates at the mouse move event. Notice that the code for doing this is quite different in Wpf compared ​to the winforms edition. 
 +               
 +Please refer to [Wiki](http://​wiki.thinkgeo.com/​wiki/​map_suite_desktop_for_wpf) ​for the details.
  
-{{https://​github.com/​ThinkGeo/​SiteSelectionSample-ForWinForms/​raw/​master/​ScreenShot.png?​500|Screenshot}}+{{https://​github.com/​ThinkGeo/​SelectAndDragFeatureSample-ForWpf/​raw/​master/​ScreenShot.png?​500|Screenshot}}
  
  
-[[https://​github.com/​ThinkGeo/​SiteSelectionSample-ForWinForms| View this sample on Github]] +[[https://​github.com/​ThinkGeo/​SelectAndDragFeatureSample-ForWpf| View this sample on Github]]
-==== Create Inner Ring Sample for WinForms ====+
  
-In this Desktop project we create inner rings for a polygon, based on another polygon, using the **GetDifference** method. We also learn how to perform a Union on a collection of polygons, and how to set up the **TrackEnded** event. ​+==== ThinkGeo Cloud Maps Sample ​for Mvc ====
  
-To use this app, you need to track a polygon, double click to end it, and it will create an inner ring based on the unioned result of the polygons that are completely within the tracked polygon. You can look at the **TrackEnded** event handler to see all the different operations that are taking place for that task. 
  
-{{https://​github.com/ThinkGeo/​CreateInnerRingSample-ForWinForms/​raw/​master/​ScreenShot.png?​500|Screenshot}}+This sample demonstrates how you can display ThinkGeo Cloud Maps in your Map Suite GIS applicationsIt will show you how to use the XYZFileBitmapTileCache to improve the performance of map rendering. ThinkGeoCloudMapsOverlay uses the ThinkGeo ​Cloud XYZ Tile Server as raster map tile serverIt supports 5 different map styles:  
 +- Light 
 +- Dark 
 +- Aerial 
 +- Hybrid 
 +- TransparentBackground
  
 +ThinkGeo Cloud Maps support would work in all of the Map Suite controls such as Wpf, WinForms, Web, WebApi, Android and iOS.
  
-[[https://github.com/ThinkGeo/CreateInnerRingSample-ForWinForms| View this sample on Github]] +Please refer to [Wiki](http://wiki.thinkgeo.com/wiki/map_suite_web_for_mvc) ​for the details.
-==== Dragged Point Style Advanced Sample ​for WinForms ====+
  
-This project is an example of how extensible **EditInteractiveOverlay** is for the editing needs of the userYou can see how to change the styles of the vertex being dragged based on the Shift key, and how to have the vertex snap to any feature+{{https://​github.com/​ThinkGeo/​ThinkGeoCloudMapsSample-ForMvc/​raw/​master/​Screenshot.gif?​500|Screenshot}}
  
-Thanks to the protected override functions such as **KeyDownCore**,​ **KeyUpCore**,​ **MouseUpCore** and **DrawCore**,​ these functionalities can easily be implemented by inheriting from **EditInteractiveOverlay**. 
  
-{{https://raw.githubusercontent.com/​ThinkGeo/​DragPointAdvancedSample-ForWinForms/​master/​ScreenShot.png?​500|Screenshot}}+[[https://github.com/​ThinkGeo/​ThinkGeoCloudMapsSample-ForMvcView this sample on Github]]
  
 +==== Display ThinkGeo Cloud Maps Sample for JavaScript ====
  
-[[https://​github.com/​ThinkGeo/​DragPointAdvancedSample-ForWinForms| View this sample on Github]] 
-==== Routing Sample for WinForms ==== 
  
 +This sample demonstrates how you can display ThinkGeo Cloud Maps in a web page using javascript. It supports 5 different map styles: ​
 +- Light
 +- Dark
 +- Aerial
 +- Hybrid
 +- TransparentBackground
  
-[Sample Data Download](http://​wiki.thinkgeo.com/​wiki/​_media/​routing/​routing_howdoi_samples_data.zip)+ThinkGeo Cloud Maps works in all of the Map Suite controls such as Wpf, WinForms, Web, Android and iOS.
  
-The Map Suite Routing “How Do I?” solution offers a series of useful how-to examples for using the Map Suite Routing extensionThe bundled solution comes with a small set of routable street data from Austin, TX and demonstrates simple routing, avoiding specific areas, getting turn-by-turn directions, optimizing for the Traveling Salesman Problem, and much more. Full source code is included in both C==== and VB.NET languages; simply select your preferred language to download the associated solution.+{{https://​github.com/​ThinkGeo/​ThinkGeoCloudMapsSample-ForJavaScript/​raw/​master/​Screenshot.gif?​500|Screenshot}}
  
-{{https://​github.com/​ThinkGeo/​RoutingSample-ForWinForms/​raw/​master/​ScreenShot.png?​500|Screenshot}} 
  
 +[[https://​github.com/​ThinkGeo/​ThinkGeoCloudMapsSample-ForJavaScript| View this sample on Github]]
  
-[[https://​github.com/​ThinkGeo/​RoutingSample-ForWinForms| View this sample on Github]] +==== Preset Vertex To Tracked Polygon ​Sample for WinForms ====
-==== Dragged Point Style With Label Sample for WinForms ====+
  
-In this project, dedicated to **EditInteractiveOverlay**,​ you will see how easy it is to add some labeling ​to your dragged control point, showing dynamic informationHere we show how to display ​the distance from the dragged control point to the closest point of a reference shapeAlso, to augment ​the user experience, the closest point of the reference shape is also shown varying as the control point is dragged around.+This Desktop sample shows how to extend TrackInteractiveOverlay to give the ability ​to add a preset vertex ​to a track polygon while trackingThis can be handy in the situations where you need to add a vertex outside ​the current extent ​of the map or when you need to add vertex with precise X and Y valuesIn the custom PresetVertexTrackInteractiveOverlayyou can see how the protected function GetTrackingShapeCore was overridden to implement this tracking behavior ​of the polygon.
  
-{{https://github.com/ThinkGeo/DragPointWithLabelSample-ForWinForms/​raw/​master/​ScreenShot.png?​500|Screenshot}}+Please refer to [[http://wiki.thinkgeo.com/wiki/map_suite_desktop_for_winforms|Wiki]] for the details.
  
 +{{https://​gitlab.com/​thinkgeo/​public/​thinkgeo-desktop-maps/​-/​raw/​support/​v10/​samples/​winforms/​PresetVertexToTrackedPolygon/​Screenshot.png?​500|Screenshot}}
  
-[[https://github.com/ThinkGeo/DragPointWithLabelSample-ForWinForms| View this sample on Github]] +[[https://gitlab.com/thinkgeo/public/​thinkgeo-desktop-maps/​-/​tree/​support/​v10/​samples/​winforms/​PresetVertexToTrackedPolygon?​ref_type=heads| View this sample on Gitlab]]
-==== GetZoomLevelSample-ForWinForms ====+
  
-This example demonstrates how to get the zoom level of the map each time we change its extent. Using custom zoom levels, you will see how to get the zoom level with its characteristics such as the upper and lower scale defining it. You can read the comments inside the project to better understand the relationship of scales with zoom levels.+==== Us Earthquake Statistics Sample for WinForms ====
  
-{{https://​github.com/​ThinkGeo/​GetZoomLevelSample-ForWinForms/​raw/​master/​ScreenShot.png?​500|Screenshot}}+The Earthquake Statistics sample template is a statistical report system for earthquakes that have occurred in the past few years across the United StatesIt can help you generate infographics and analyze the severely afflicted areas, or used as supporting evidence when recommending measures to minimize the damage in future quakes.
  
 +Please refer to [[http://​wiki.thinkgeo.com/​wiki/​map_suite_desktop_for_winforms|Wiki]] for the details.
  
-[[https://github.com/ThinkGeo/GetZoomLevelSample-ForWinForms| View this sample on Github]] +{{https://gitlab.com/thinkgeo/public/​thinkgeo-desktop-maps/​-/​raw/​support/​v10/​samples/​winforms/​UsEarthquakeStatistics/​ScreenShot.png?​500|Screenshot}}
-==== WorldStreetsVectorLayerSDK-ForWinForms ====+
  
 +[[https://​gitlab.com/​thinkgeo/​public/​thinkgeo-desktop-maps/​-/​tree/​support/​v10/​samples/​winforms/​UsEarthquakeStatistics?​ref_type=heads| View this sample on Gitlab]]
  
-The World Streets Vector Layer Explorer is a tool that enables you to view the SQLite World Streets data using Map Suite WinForms ​and provides complete performance metrics.+==== How Do I Sample for WinForms ​====
  
-This project requires ​full or evaluation version ​of Map Suite WinForms Edition.+The "How Do I?" samples collection is comprehensive set containing dozens ​of interactive samples.
  
-This sample passed on Linux with Mono Runtime. On Windows platform, it is required ​to replace the ThinkGeo.MapSuite.Layers.SqliteForLinux with ThinkGeo.MapSuite.Layers.Sqlite package.+Please refer to [[http://​wiki.thinkgeo.com/​wiki/​map_suite_desktop_for_winforms|Wiki]] for the details.
  
-**To run the sample, please unzip the database file at WorldStreetsVectorLayerSample/App_Data/DallasCounty-3857-20170218.zip,​ and change the connection string in WorldStreetsVectorLayerSample/App.config to connect database that you extracted to.**+{{https://gitlab.com/​thinkgeo/​public/​thinkgeo-desktop-maps/-/​raw/​support/​v10/​samples/​winforms/​HowDoI/​Screenshot.png?​500|Screenshot}}
  
-Working...+[[https://​gitlab.com/​thinkgeo/​public/​thinkgeo-desktop-maps/​-/​tree/​support/​v10/​samples/​winforms/​HowDoI?​ref_type=heads| View this sample on Gitlab]] 
 + 
 +==== Kml Sample for WinForms ==== 
 + 
 +KML is the file format for displaying geographic data in a Google Earth browser such as Google EarthNow, you can also display such a file on a Map Suite control. Thanks to its flexible architecture to extent to new file formats, in today’s project we wrote the logic for supporting KML. Look at the class KmlfeatureSource inheriting from FeatureSource to see how the logic for reading FML files was implemented. As well, you can see the class KmlStyle inheriting from Style for the drawing logic. And feel free to modify and improve those classes with your own implementations. 
 + 
 +Please refer to [[http://​wiki.thinkgeo.com/​wiki/​map_suite_desktop_for_winforms|Wiki]] for the details. 
 + 
 +{{https://​gitlab.com/​thinkgeo/​public/​thinkgeo-desktop-maps/​-/​raw/​support/​v10/​samples/​winforms/​KmlSample/​ScreenShot.png?​500|Screenshot}} 
 + 
 +[[https://​gitlab.com/​thinkgeo/​public/​thinkgeo-desktop-maps/​-/​tree/​support/​v10/​samples/​winforms/​KmlSample?​ref_type=heads| View this sample on Gitlab]] 
 + 
 +==== Intersect Line Sample for WinForms ==== 
 + 
 +In today’s project, we show how to split a line based on an intersecting line. To accomplish this task, basically two steps are needed. First, you need to find the crossing point using the GetCrossing function and then you split the line based on the crossing point using the GetLineOnLine function. If you are in the utilities industry working with electric network, gas pipes etc, you will find this project useful.
  
-{{https://github.com/ThinkGeo/WorldStreetsVectorLayerSDK-ForWinForms/​raw/​master/​screenshot.png?​500|Screenshot}}+Please refer to [[http://wiki.thinkgeo.com/wiki/map_suite_desktop_for_winforms|Wiki]] for the details.
  
 +{{https://​gitlab.com/​thinkgeo/​public/​thinkgeo-desktop-maps/​-/​raw/​support/​v10/​samples/​winforms/​IntersectLineSample/​Screenshot.gif?​500|Screenshot}}
  
-[[https://github.com/ThinkGeo/WorldStreetsVectorLayerSDK-ForWinForms| View this sample on Github]] +[[https://gitlab.com/thinkgeo/public/​thinkgeo-desktop-maps/​-/​tree/​support/​v10/​samples/​winforms/​IntersectLineSample?​ref_type=heads| View this sample on Gitlab]]
-==== SqliteLayerSampleOnLinux-ForWinForms ====+
  
-The purpose of this sample is to show how to use SQLite as map data source. ​+==== Dragging Icon Advanced Sample for WinForms ====
  
-{{https://​raw.githubusercontent.com/​ThinkGeo/​SqliteLayerSampleOnLinux-ForWinForms/​master/​screenshot.png?​500|screen}}+This project is a more complete version of a previous project “Dragging Icon”In addition to showing how to use EditInteractiveOverlay for dragging and dropping features represented by an icon, we also show how to add new features on the map by left double clicking on the mapYou will also see how to remove a feature by right double clicking on its icon.
  
 +Please refer to [[http://​wiki.thinkgeo.com/​wiki/​map_suite_desktop_for_winforms|Wiki]] for the details.
  
-[[https://github.com/ThinkGeo/SqliteLayerSampleOnLinux-ForWinFormsView this sample on Github]]+{{https://gitlab.com/thinkgeo/public/​thinkgeo-desktop-maps/​-/​raw/​support/​v10/​samples/​winforms/​DraggingIconAdvancedSample/​Screenshot.gif?​500|Screenshot}}
  
 +[[https://​gitlab.com/​thinkgeo/​public/​thinkgeo-desktop-maps/​-/​tree/​support/​v10/​samples/​winforms/​DraggingIconAdvancedSample?​ref_type=heads| View this sample on Gitlab]]
  
map_suite_desktop_for_winforms_all_samples.1489389604.txt.gz · Last modified: 2017/03/13 07:20 by tgwikiupdate