User Tools

Site Tools


map_suite_desktop_edition_faq_layers_featuresources

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_edition_faq_layers_featuresources [2015/09/08 08:52]
admin [How do I efficiently display a subset of a shape file without splitting it?]
map_suite_desktop_edition_faq_layers_featuresources [2015/09/15 06:28]
admin [Can I create isolines (a.k.a. contour lines) with Map Suite?]
Line 18: Line 18:
 [[Map Suite Desktop Edition Layers & FeatureSources Samples#​Build Custom Shapefile Indexes |Sample: Build Custom Shapefile Indexes ]] [[Map Suite Desktop Edition Layers & FeatureSources Samples#​Build Custom Shapefile Indexes |Sample: Build Custom Shapefile Indexes ]]
  
-This sample shows how you can display a subset of a shapefile without splitting the physical shapefile. For example, you may have a single shapefile that contains both highways and local roads. To improve display speed, you may be temped to split it into two separate shapefiles so you can quickly display local roads with one style and highways with another style (and avoid using a value style, which can be slow). But at this project demonstrates,​ rather than split your shapefile you can simply build two custom indexes, one for each road type. Then, when you create your ShapeFileFeatureLayer,​ you'll simply use your original shapefile and specify a custom index. Each custom index will limit the records that can be seen by the Layer, making it very fast and efficient.<br>+This sample shows how you can display a subset of a shapefile without splitting the physical shapefile. For example, you may have a single shapefile that contains both highways and local roads. To improve display speed, you may be temped to split it into two separate shapefiles so you can quickly display local roads with one style and highways with another style (and avoid using a value style, which can be slow). But at this project demonstrates,​ rather than split your shapefile you can simply build two custom indexes, one for each road type. Then, when you create your ShapeFileFeatureLayer,​ you'll simply use your original shapefile and specify a custom index. Each custom index will limit the records that can be seen by the Layer, making it very fast and efficient. 
 For more information and a real-world example, please see the Map Suite discussion forum post at: For more information and a real-world example, please see the Map Suite discussion forum post at:
 [[http://​gis.thinkgeo.com/​Support/​DiscussionForums/​tabid/​143/​aff/​21/​aft/​6894/​afv/​topic/​Default.aspx|Forum Post]] [[http://​gis.thinkgeo.com/​Support/​DiscussionForums/​tabid/​143/​aff/​21/​aft/​6894/​afv/​topic/​Default.aspx|Forum Post]]
Line 27: Line 28:
 [[Map Suite Desktop Edition Layers & FeatureSources Samples#​Build Custom Shapefile Indexes |Sample: Build Custom Shapefile Indexes ]] [[Map Suite Desktop Edition Layers & FeatureSources Samples#​Build Custom Shapefile Indexes |Sample: Build Custom Shapefile Indexes ]]
  
-This sample shows how you can display a subset of a shapefile without splitting the physical shapefile. For example, you may have a single shapefile that contains both highways and local roads. To improve display speed, you may be temped to split it into two separate shapefiles so you can quickly display local roads with one style and highways with another style (and avoid using a value style, which can be slow). But at this project demonstrates,​ rather than split your shapefile you can simply build two custom indexes, one for each road type. Then, when you create your ShapeFileFeatureLayer,​ you'll simply use your original shapefile and specify a custom index. Each custom index will limit the records that can be seen by the Layer, making it very fast and efficient.<br>+This sample shows how you can display a subset of a shapefile without splitting the physical shapefile. For example, you may have a single shapefile that contains both highways and local roads. To improve display speed, you may be temped to split it into two separate shapefiles so you can quickly display local roads with one style and highways with another style (and avoid using a value style, which can be slow). But at this project demonstrates,​ rather than split your shapefile you can simply build two custom indexes, one for each road type. Then, when you create your ShapeFileFeatureLayer,​ you'll simply use your original shapefile and specify a custom index. Each custom index will limit the records that can be seen by the Layer, making it very fast and efficient. 
 For more information and a real-world example, please see the Map Suite discussion forum post at: For more information and a real-world example, please see the Map Suite discussion forum post at:
 [[http://​gis.thinkgeo.com/​Support/​DiscussionForums/​tabid/​143/​aff/​21/​aft/​6894/​afv/​topic/​Default.aspx|Forum Post]] [[http://​gis.thinkgeo.com/​Support/​DiscussionForums/​tabid/​143/​aff/​21/​aft/​6894/​afv/​topic/​Default.aspx|Forum Post]]
Line 36: Line 38:
 [[Map Suite Desktop Edition Layers & FeatureSources Samples#​Compass|Sample:​Compass]] [[Map Suite Desktop Edition Layers & FeatureSources Samples#​Compass|Sample:​Compass]]
  
-In the project “North Arrow”, you saw how to extend AdornmentLayer to create a North Arrow AdormentLayer. In this project, we expand on that idea and create a more sophisticated class. You will see how you can combine two images to create a compass. Compare to “North Arrow” project, we also added some other handy properties such as a Position property. Also, the compass can be of varied sizes thanks to the SizePercentage property. Finally, if you pass just one image, the compass can behave just like a regular north arrow.<br>+In the project “North Arrow”, you saw how to extend AdornmentLayer to create a North Arrow AdormentLayer. In this project, we expand on that idea and create a more sophisticated class. You will see how you can combine two images to create a compass. Compare to “North Arrow” project, we also added some other handy properties such as a Position property. Also, the compass can be of varied sizes thanks to the SizePercentage property. Finally, if you pass just one image, the compass can behave just like a regular north arrow. 
 We also added new designs of compass in smaller version. See the attached file: Rotating Compass New Smaller Designs.zip. We also added new designs of compass in smaller version. See the attached file: Rotating Compass New Smaller Designs.zip.
  
Line 42: Line 45:
 This question has a corresponding sample application(s) associated with it.  This question has a corresponding sample application(s) associated with it. 
  
-[[Map_Suite_Desktop_Edition_Layers_%26_FeatureSources_Samples#​Zedgraph|Sample:​Zedgraph]]+[[Map_Suite_Desktop_Edition_Layers_FeatureSources_Samples#​Zedgraph|Sample:​Zedgraph]] 
 + 
 +In our “How Do I” apps, there is sample app that shows how to add graphs to the map using the ZedGraph library. In this project, using the same data, the US cities, we elaborate a little bit on the pie chart. You will see how to add some gradient colors to the chart, how to label the different pie slices, how to add a title etc. Zedgraph is a truly massive library for graphics and Pie chart is only one type of chart among many others. As you can add pie charts to your map, you can also add bar charts, trend charts etc. I suggest you check out this site for more info on ZedGraph  
 + 
 +http://​zedgraph.org/​wiki/​index.php?​title=Main_Page 
 + 
 +With Map Suite, you have the whole ZedGraph API available with an easy interface to add the graphs to the map. 
  
-In our “How Do I” apps, there is sample app that shows how to add graphs to the map using the ZedGraph library. In this project, using the same data, the US cities, we elaborate a little bit on the pie chart. You will see how to add some gradient colors to the chart, how to label the different pie slices, how to add a title etc. Zedgraph is a truly massive library for graphics and Pie chart is only one type of chart among many others. As you can add pie charts to your map, you can also add bar charts, trend charts etc. I suggest you check out this site for more info on ZedGraph <br> 
-http://​zedgraph.org/​wiki/​index.php?​title=Main_Page<​br>​ 
-With Map Suite, you have the whole ZedGraph API available with an easy interface to add the graphs to the map. <br> 
 For this project, in addition to the MapSuiteCore.dll,​ you will also need the ZedGraph.dll and ZedGraphStyleExtension.dll references. For this project, in addition to the MapSuiteCore.dll,​ you will also need the ZedGraph.dll and ZedGraphStyleExtension.dll references.
 We will have several projects showing how to integrate other types of charts to your map. We will have several projects showing how to integrate other types of charts to your map.
Line 53: Line 59:
 This question has a corresponding sample application(s) associated with it.  This question has a corresponding sample application(s) associated with it. 
  
-[[Map_Suite_Desktop_Edition_Layers_%26_FeatureSources_Samples#​Watermark_Adornment_Layer|Sample:​Watermark Adornment Layer]]+[[Map_Suite_Desktop_Edition_Layers_FeatureSources_Samples#​Watermark_Adornment_Layer|Sample:​Watermark Adornment Layer]]
  
 This project shows how to create a WaterMarkAdornmentLayer class inheriting from AdormentLayer. Notice that in the overridden method DrawCore, the drawing is done using screen coordinates. This is a characteristic of Adornment Layer and any layer inheriting from it. In this example, the code in the DrawCore method places the water mark text at regular interval but you could easily modify the code to have the water mark text placed randomly on the map. Notice that WaterMarkAdornmentLayer is added to the StaticLayers collection of the MapEngine meaning that you can place this adornment layer on top of all the other layers or between any other layers. This class is useful for providing demos to clients. This project shows how to create a WaterMarkAdornmentLayer class inheriting from AdormentLayer. Notice that in the overridden method DrawCore, the drawing is done using screen coordinates. This is a characteristic of Adornment Layer and any layer inheriting from it. In this example, the code in the DrawCore method places the water mark text at regular interval but you could easily modify the code to have the water mark text placed randomly on the map. Notice that WaterMarkAdornmentLayer is added to the StaticLayers collection of the MapEngine meaning that you can place this adornment layer on top of all the other layers or between any other layers. This class is useful for providing demos to clients.
Line 60: Line 66:
 This question has a corresponding sample application(s) associated with it.  This question has a corresponding sample application(s) associated with it. 
  
-[[Map_Suite_Desktop_Edition_Layers_%26_FeatureSources_Samples#​Shapefile_Encryption|Sample:​Shapefile Encryption]]+[[Map_Suite_Desktop_Edition_Layers_FeatureSources_Samples#​Shapefile_Encryption|Sample:​Shapefile Encryption]]
  
 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. 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.
Line 68: Line 74:
 This question has a corresponding sample application(s) associated with it.  This question has a corresponding sample application(s) associated with it. 
  
-[[Map_Suite_Desktop_Edition_Layers_%26_FeatureSources_Samples#Get Data From Server With WCF|Sample:​Get Data From Server With WCF]]+[[Map_Suite_Desktop_Edition_Layers_FeatureSources_Samples#Get Data From Server With WCF|Sample:​Get Data From Server With WCF]]
  
 In this Silverlight-based project, we are going to take a look at how to get geometry data from the server side using the WCF service with Map Suite Silverlight Edition, while keeping all map data on the server side. You can click any of the countries on the map to call a WCF service, which will require data from the server, and then a popup will appear with information about that country. ​ In this Silverlight-based project, we are going to take a look at how to get geometry data from the server side using the WCF service with Map Suite Silverlight Edition, while keeping all map data on the server side. You can click any of the countries on the map to call a WCF service, which will require data from the server, and then a popup will appear with information about that country. ​
Line 75: Line 81:
 This question has a corresponding sample application(s) associated with it.  This question has a corresponding sample application(s) associated with it. 
  
-[[Map_Suite_Desktop_Edition_Layers_%26_FeatureSources_Samples#​Scale_Bar|Sample:​Scale Bar]]+[[Map_Suite_Desktop_Edition_Layers_FeatureSources_Samples#​Scale_Bar|Sample:​Scale Bar]]
  
 Map Suite already offers classes such as ScaleBarAdornmentLayer for displaying scale bars on the map but they are limited to certain common units like meters, kilometers, feet and miles. In this project, you are going to learn the basics for creating a scale bar using the unit of your choice. The class CustomUnitScaleBar displays a very simple scale bar but you will find the logic for basics of creating a scale bar. Looking at the code, you will be able to create more sophisticated stylish scale bars for your own needs. Map Suite already offers classes such as ScaleBarAdornmentLayer for displaying scale bars on the map but they are limited to certain common units like meters, kilometers, feet and miles. In this project, you are going to learn the basics for creating a scale bar using the unit of your choice. The class CustomUnitScaleBar displays a very simple scale bar but you will find the logic for basics of creating a scale bar. Looking at the code, you will be able to create more sophisticated stylish scale bars for your own needs.
Line 82: Line 88:
 This question has a corresponding sample application(s) associated with it.  This question has a corresponding sample application(s) associated with it. 
  
-[[Map_Suite_Desktop_Edition_Layers_%26_FeatureSources_Samples#Graphic Logo Adornment Layer|Sample:​Graphic Logo Adornment Layer]]+[[Map_Suite_Desktop_Edition_Layers_FeatureSources_Samples#Graphic Logo Adornment Layer|Sample:​Graphic Logo Adornment Layer]]
  
 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. ​ 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. ​
Line 89: Line 95:
 This question has a corresponding sample application(s) associated with it.  This question has a corresponding sample application(s) associated with it. 
  
-[[Map_Suite_Desktop_Edition_Layers_%26_FeatureSources_Samples#Heat Map|Sample:​Heat Map]]+[[Map_Suite_Desktop_Edition_Layers_FeatureSources_Samples#Heat Map|Sample:​Heat Map]]
  
 Heat maps is a technique increasingly used in various fields such in biology and other fields ​ Heat maps is a technique increasingly used in various fields such in biology and other fields ​
Line 96: Line 102:
 Today, we are posting two Desktop projects on that subject. The first one is using the swine flu data we used in an earlier project. You can see how powerful the visualization of that data is to show the spatial distribution flu swine cases. In the next project, you will see how to take into account column values to produce various degrees of intensity using some earthquake data. In those two projects, you will need references to MapSuiteCore.dll,​ DesktopEdition.dll,​ WorldMapKitWms.dll (Evaluation or full versions) and MapSuiteHeatMapExtension.dll (included in the zip file). ​ Today, we are posting two Desktop projects on that subject. The first one is using the swine flu data we used in an earlier project. You can see how powerful the visualization of that data is to show the spatial distribution flu swine cases. In the next project, you will see how to take into account column values to produce various degrees of intensity using some earthquake data. In those two projects, you will need references to MapSuiteCore.dll,​ DesktopEdition.dll,​ WorldMapKitWms.dll (Evaluation or full versions) and MapSuiteHeatMapExtension.dll (included in the zip file). ​
  
-[[Map_Suite_Desktop_Edition_Layers_%26_FeatureSources_Samples#Heat Map with earthquakes|Sample:​Heat Map with earthquakes]]+[[Map_Suite_Desktop_Edition_Layers_FeatureSources_Samples#Heat Map with earthquakes|Sample:​Heat Map with earthquakes]]
  
 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. 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.
Line 107: Line 113:
 This question has a corresponding sample application(s) associated with it.  This question has a corresponding sample application(s) associated with it. 
  
-[[Map_Suite_Desktop_Edition_Layers_%26_FeatureSources_Samples#Image Stream Loading |Sample:​Image Stream Loading]]+[[Map_Suite_Desktop_Edition_Layers_FeatureSources_Samples#Image Stream Loading |Sample:​Image Stream Loading]]
  
 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.  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. 
Line 114: Line 120:
 This question has a corresponding sample application(s) associated with it.  This question has a corresponding sample application(s) associated with it. 
  
-[[Map_Suite_Desktop_Edition_Layers_%26_FeatureSources_Samples#KML Extension|Sample:​KML Extension]]+[[Map_Suite_Desktop_Edition_Layers_FeatureSources_Samples#KML Extension|Sample:​KML Extension]]
  
 KML is the file format for displaying geographic data in a Google Earth browser such as Google Earth. Now, 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. ​ KML is the file format for displaying geographic data in a Google Earth browser such as Google Earth. Now, 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. ​
Line 121: Line 127:
 This question has a corresponding sample application(s) associated with it.  This question has a corresponding sample application(s) associated with it. 
  
-[[Map_Suite_Desktop_Edition_Layers_%26_FeatureSources_Samples#Latitude Longitude Graticule|Sample:​Latitude Longitude Graticule]]+[[Map_Suite_Desktop_Edition_Layers_FeatureSources_Samples#Latitude Longitude Graticule|Sample:​Latitude Longitude Graticule]]
  
 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.  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. 
Line 133: Line 139:
 This question has a corresponding sample application(s) associated with it.  This question has a corresponding sample application(s) associated with it. 
  
-[[Map_Suite_Desktop_Edition_Layers_%26_FeatureSources_Samples#Legend Adornment Layer|Sample:​Legend Adornment Layer]]+[[Map_Suite_Desktop_Edition_Layers_FeatureSources_Samples#Legend Adornment Layer|Sample:​Legend Adornment Layer]]
  
 Following inquiries on how to show a legend on the map in the discussion Forum, we decided to post a project on that topic in the Code Community. In this project, you will find the class LegendAdornmentLayer which shows the basics of displaying the symbols for each layer belonging to each Overlay of the Map. Looking at the code, you will understand how to extend that class and build a more sophisticated Legend on your own.  Following inquiries on how to show a legend on the map in the discussion Forum, we decided to post a project on that topic in the Code Community. In this project, you will find the class LegendAdornmentLayer which shows the basics of displaying the symbols for each layer belonging to each Overlay of the Map. Looking at the code, you will understand how to extend that class and build a more sophisticated Legend on your own. 
Line 140: Line 146:
 This question has a corresponding sample application(s) associated with it.  This question has a corresponding sample application(s) associated with it. 
  
-[[Map_Suite_Desktop_Edition_Layers_%26_FeatureSources_Samples#​Oledb_Point_FeatureSource|Sample:​Oledb Point FeatureSource]]+[[Map_Suite_Desktop_Edition_Layers_FeatureSources_Samples#​Oledb_Point_FeatureSource|Sample:​Oledb Point FeatureSource]] 
 + 
 +This project shows the power of MapSuite by giving to the developer the possibility to create its own layer based on an existing format containing spatial information. If the developer is familiar with a certain format like oledb, he can create its own FeatureSource reading the database and its own FeatureLayer wrapping the FeatureSource and providing the drawing logic.
  
-This project shows the power of MapSuite by giving to the developer the possibility to create its own layer based on an existing format containing spatial information. If the developer is familiar with a certain format like oledb, he can create its own FeatureSource reading the database and its own FeatureLayer wrapping the FeatureSource and providing the drawing logic.<​br>​ 
 In this project, we create the class OledbPointFeatureSource inheriting from FeatureSource and OledbPointFeatureLayer inheriting from FeatureSource. In this project, we create the class OledbPointFeatureSource inheriting from FeatureSource and OledbPointFeatureLayer inheriting from FeatureSource.
  
Line 148: Line 155:
 This question has a corresponding sample application(s) associated with it.  This question has a corresponding sample application(s) associated with it. 
  
-[[Map_Suite_Desktop_Edition_Layers_%26_FeatureSources_Samples#​Numbered_Grid|Sample:​Numbered Grid]]+[[Map_Suite_Desktop_Edition_Layers_FeatureSources_Samples#​Numbered_Grid|Sample:​Numbered Grid]]
  
 In many atlases, you can see maps with a numbered grid to give the page reference for a more detailed map. In today’s project, we show how to construct such a grid. Based on the extent of the feature, the number of columns and rows, a grid can be created with the page number in each cell. In many atlases, you can see maps with a numbered grid to give the page reference for a more detailed map. In today’s project, we show how to construct such a grid. Based on the extent of the feature, the number of columns and rows, a grid can be created with the page number in each cell.
Line 155: Line 162:
 This question has a corresponding sample application(s) associated with it.  This question has a corresponding sample application(s) associated with it. 
  
-[[Map_Suite_Desktop_Edition_Layers_%26_FeatureSources_Samples#​North_Arrow|Sample:​North Arrow]]+[[Map_Suite_Desktop_Edition_Layers_FeatureSources_Samples#​North_Arrow|Sample:​North Arrow]]
  
 This project demonstrates basically two techniques; How to rotate a map and how to have a North Arrow keeping the right north orientation. ​ This project demonstrates basically two techniques; How to rotate a map and how to have a North Arrow keeping the right north orientation. ​
Line 169: Line 176:
 This question has a corresponding sample application(s) associated with it.  This question has a corresponding sample application(s) associated with it. 
  
-[[Map_Suite_Desktop_Edition_Layers_%26_FeatureSources_Samples#​Multi_Index|Sample:​Multi Index]]+[[Map_Suite_Desktop_Edition_Layers_FeatureSources_Samples#​Multi_Index|Sample:​Multi Index]]
  
 Today our purpose is to gather into one concise project all the different knowledge we learned about multi index in various Discussion Forum posts such as:  Today our purpose is to gather into one concise project all the different knowledge we learned about multi index in various Discussion Forum posts such as: 
Line 179: Line 186:
 This question has a corresponding sample application(s) associated with it.  This question has a corresponding sample application(s) associated with it. 
  
-[[Map_Suite_Desktop_Edition_Layers_%26_FeatureSources_Samples#​Combining_Overlays|Sample:​Combining Overlays]]+[[Map_Suite_Desktop_Edition_Layers_FeatureSources_Samples#​Combining_Overlays|Sample:​Combining Overlays]]
  
 In today’s Wpf project, we show a technique of using a common FeatureSource for two different Overlays. From a physical shapefile representing cities, a regular LayerOverlay is used for the higher zoom levels while a FeatureSourceMarkerOverlay is used for the lower zoom levels. FeatureSourceMarkerOverlay is a Wpf specific overlay offering features for a better user experience such a Tooltips and ImageSource. In today’s Wpf project, we show a technique of using a common FeatureSource for two different Overlays. From a physical shapefile representing cities, a regular LayerOverlay is used for the higher zoom levels while a FeatureSourceMarkerOverlay is used for the lower zoom levels. FeatureSourceMarkerOverlay is a Wpf specific overlay offering features for a better user experience such a Tooltips and ImageSource.
Line 186: Line 193:
 This question has a corresponding sample application(s) associated with it.  This question has a corresponding sample application(s) associated with it. 
  
-[[Map_Suite_Desktop_Edition_Layers_%26_FeatureSources_Samples#​Edit_Geometry_Of_Shapefile|Sample:​Edit Geometry Of Shapefile]]+[[Map_Suite_Desktop_Edition_Layers_FeatureSources_Samples#​Edit_Geometry_Of_Shapefile|Sample:​Edit Geometry Of Shapefile]]
  
 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 data. You 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. Notice that this sample does not show all the fanciness for manipulating at user interaction the geometry to be updated. For this purpose, you can see all the samples related to TrackInteractiveOverlay and EditInteractiveOverlay. 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 data. You 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. Notice that this sample does not show all the fanciness for manipulating at user interaction the geometry to be updated. For this purpose, you can see all the samples related to TrackInteractiveOverlay and EditInteractiveOverlay.
Line 193: Line 200:
 This question has a corresponding sample application(s) associated with it.  This question has a corresponding sample application(s) associated with it. 
  
-[[Map_Suite_Desktop_Edition_Layers_%26_FeatureSources_Samples#​Edit_Attribute_Of_Shapefile|Sample:​Edit Attribute Of Shapefile]]+[[Map_Suite_Desktop_Edition_Layers_FeatureSources_Samples#​Edit_Attribute_Of_Shapefile|Sample:​Edit Attribute Of Shapefile]]
  
 The purpose of this Wpf sample is to show how to edit the attribute of a feature of a shapefile. This sample is useful for anyone wanting to actualize the attribute part of its data by simply clicking on the desired feature on the map and updating its attribute in a textbox. You will find the editing part of the code in the KeyDown event of the textbox. The purpose of this Wpf sample is to show how to edit the attribute of a feature of a shapefile. This sample is useful for anyone wanting to actualize the attribute part of its data by simply clicking on the desired feature on the map and updating its attribute in a textbox. You will find the editing part of the code in the KeyDown event of the textbox.
Line 200: Line 207:
 This question has a corresponding sample application(s) associated with it.  This question has a corresponding sample application(s) associated with it. 
  
-[[Map_Suite_Desktop_Edition_Layers_%26_FeatureSources_Samples#​Create_GRID|Sample:​Create GRID]]+[[Map_Suite_Desktop_Edition_Layers_FeatureSources_Samples#​Create_GRID|Sample:​Create GRID]]
  
 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. 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.
Line 207: Line 214:
 This question has a corresponding sample application(s) associated with it.  This question has a corresponding sample application(s) associated with it. 
  
-[[Map_Suite_Desktop_Edition_Layers_%26_FeatureSources_Samples#​Isolines|Sample:​Isolines]]+[[Map_Suite_Desktop_Edition_Layers_FeatureSources_Samples#​Isolines|Sample:​Isolines]]
  
-Yes. Starting with build 5.0.87.0 of Map Suite, you can add isolines to your applications with Map Suite -- please see the code sample linked above. For the uninitiated,​ isolines are a way to visualize breaks between different groups of data such as elevation levels, soil properties, or just about anything else you can imagine. ​ The above code sample also shows the various steps in creating isolines, including the gathering of point data, creating a grid using interpolation,​ and finally, picking your isoline break levels. ​ We also quickly dive into some more advanced options such as generating isolines on the fly. To bring this all together, check out our {{Videolink|[[Media:​ServicesEditionSample_Isolines_110809.wmv|instructional video]]}} that will walk you through the process of setting up and working with isolines in Map Suite.+Yes. Starting with build 5.0.87.0 of Map Suite, you can add isolines to your applications with Map Suite -- please see the code sample linked above. For the uninitiated,​ isolines are a way to visualize breaks between different groups of data such as elevation levels, soil properties, or just about anything else you can imagine. ​ The above code sample also shows the various steps in creating isolines, including the gathering of point data, creating a grid using interpolation,​ and finally, picking your isoline break levels. ​ We also quickly dive into some more advanced options such as generating isolines on the fly. To bring this all together, check out our [[http://​wiki.thinkgeo.com//​mediawiki/​images/​8/​8c/​ServicesEditionSample_Isolines_110809.wmv|instructional video]] that will walk you through the process of setting up and working with isolines in Map Suite.
  
  
  
map_suite_desktop_edition_faq_layers_featuresources.txt · Last modified: 2015/09/15 06:28 by admin