User Tools

Site Tools


map_suite_desktop_edition_spatial_functions_samples

Differences

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

Link to this comparison view

Next revision
Previous revision
map_suite_desktop_edition_spatial_functions_samples [2015/08/20 03:08]
127.0.0.1 external edit
map_suite_desktop_edition_spatial_functions_samples [2017/03/17 03:02] (current)
tgwikiupdate
Line 1: Line 1:
-====== ​Map_Suite_Desktop_Edition_Spatial_Functions_Samples ​======+====== ​ Map Suite Desktop Edition Spatial Functions Samples  ​====== 
 +<div sampleitem>​ 
 +====  Clipping On Line Layer  ==== 
 +<div screenshot>​ 
 +{{desktopedition:​codesamples:​Map Suite Wpf Desktop Edition Sample Clipping On Line Layer.jpg?​300x180}} 
 +</​div>​ 
 +<div content>​ 
 +<div download_viewsource_buttons>​ 
 +[[Source_Code_WpfDesktopEditionSample ClippingOnLineLayer CS 110210.zip|View Source]] 
 +{{filehistory:​WpfDesktopEditionSample ClippingOnLineLayer CS 110210.zip|C#​ Download}} 
 +</​div>​ 
 +<div sample_otherlinks>​ 
 +[[Map Suite Samples Applies To|Applies To: Desktop \ Web \ Silverlight \ Services \ Wpf ]] 
 +\\ 
 +[[Map Suite Samples Alternate Languages | Need it in another language?​]] 
 +</​div>​ 
 +This Wpf project completes the series of projects dedicated to the clipping geoprocessing. We already saw how to perform clipping on a polygon based layer in “Clipping” and on a point layer in “Clipping On Point Layer”. Here we show how to perform the clipping geopressing on a line based layer. As for the same operation on a polygon based layer, the key geometric function is GetIntersection. We will also appreciate the operation of creating a layer from scratch as in addition to the geometric operation itself, geoprocessing also involves creating a result layer from the original layers, the clipping layer and the clipped layer. You will need to get in the Dev Daily Build the latest MapSuiteCore.dll and WpfDesktopEdition.dll as references as the GetIntersection API for line based shapes was added only recentely. 
 +</​div>​ 
 +</​div>​
  
-<​noinclude>​ +---- 
-{{article rating}} +<div sampleitem
-</noinclude+====  ​Create Inner Ring  ​==== 
-====Clipping On Line Layer==== +<div screenshot>​ 
-^ Screenshot ^ width=78|Sample ^ width=66|Product ^ Description ^ +{{desktopedition:​codesamples:Map Suite Desktop Edition Sample ​Create InnerRing.jpg?300x180}} 
-{{wiki:Map Suite Wpf Desktop Edition Sample ​Clipping On Line Layer.jpg?250}}   | [[Source_Code_WpfDesktopEditionSample ClippingOnLineLayer CS 110210.zip|View Source]]\\ \\ [[:File:WpfDesktopEditionSample ClippingOnLineLayer CS 110210.zip|C# Download]]\\ \\ //[[Map Suite Samples Alternate Languages|Need it in another language?​]]// ​  | [[Map Suite Wpf Desktop Edition|Wpf \\ \\ ]]//[[Map Suite Samples Applies To|Applies To: Desktop \\  ​Web \\  ​Silverlight \\  ​Services \\  ​Wpf \\ ]]//   | This Wpf project ​completes the series of projects dedicated ​to the clipping geoprocessing. We already saw how to perform ​clipping ​on a polygon ​based layer in “Clipping” ​and on a point layer in “Clipping On Point Layer”. Here we show how to perform ​the clipping geopressing on a line based layerAs for the same operation on a polygon ​based layerthe key geometric function is GetIntersection. We will also appreciate the operation of creating a layer from scratch as in addition to the geometric operation itself, geoprocessing also involves creating a result ​layer from the original layers, ​the clipping layer and the clipped layer. You will need to get in the Dev Daily Build the latest MapSuiteCore.dll and WpfDesktopEdition.dll as references as the GetIntersection API for line based shapes was added only recentely  |+</​div>​ 
 +<div content>​ 
 +<div download_viewsource_buttons>​ 
 +[[Source_Code_DesktopEditionSample_CreateInnerRing_CS_100811.zip|View Source]] 
 +{{filehistory:DesktopEditionSample_CreateInnerRing_CS_100811.zip|C# Download}} 
 +</div> 
 +<div sample_otherlinks>​ 
 +[[Map Suite Samples Applies To|Applies To: Desktop \ Web \ Silverlight \ Services \ Wpf ]] 
 +\\ 
 +[[Map Suite Samples Alternate Languages | Need it in another language?]] 
 +</div> 
 +In today’s Desktop ​project, we learn how to create inner rings to a polygon based on another polygon using the GetDifference function. We also learn how to perform ​Union on a collection of polygon and how to set up the event TrackEndedTo use this app, you need to track a polygon, ​double click to end it and it will create an inner ring from the unioned ​result ​of the polygons completely within ​the tracked polygon. You can look at the TrackEnded event handler ​to see all the different operations taking place for that task. 
 +</​div>​ 
 +</​div>​
  
 +----
 +<div sampleitem>​
 +====  Distance Query on Projected Layers ​ ====
 +<div screenshot>​
 +{{desktopedition:​codesamples:​Map Suite Desktop Edition Sample Distance Query On Projected Layers.png?​300x180}}
 +</​div>​
 +<div content>
 +<div download_viewsource_buttons>​
 +[[Source_Code_DesktopEditionSample DistanceQueryOnProjectedLayers CS 101228.zip|View Source]]
 +{{filehistory:​DesktopEditionSample DistanceQueryOnProjectedLayers CS 101228.zip|C#​ Download}}
 +</​div>​
 +<div sample_otherlinks>​
 +[[Map Suite Samples Applies To|Applies To: Desktop \ Web \ Silverlight \ Services \ Wpf ]]
 +\\
 +[[Map Suite Samples Alternate Languages | Need it in another language?]]
 +</​div>​
 +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.
 +</​div>​
 +</​div>​
  
-====Create Inner Ring==== +---- 
-^ Screenshot ^ width=78|Sample ^ width=66|Product ^ Description ^ +<div sampleitem>​ 
-{{wiki:Map Suite Desktop Edition Sample ​Create InnerRing.jpg?250}}   | [[Source_Code_DesktopEditionSample_CreateInnerRing_CS_100811.zip|View Source]]\\ \\ [[:File:​DesktopEditionSample_CreateInnerRing_CS_100811.zip|C# Download]]\\ \\ //[[Map Suite Samples Alternate Languages|Need it in another language?​]]// ​  | [[Map Suite Desktop Edition|Desktop \\ \\ ]]//[[Map Suite Samples Applies To|Applies To: Desktop \\  ​Web \\  ​Silverlight \\  ​Services \\  ​Wpf \\ ]]//   | In today’s Desktop ​project, we learn how to create inner rings to a polygon based on another polygon using the GetDifference function. We also learn how to perform Union on a collection of polygon and how to set up the event TrackEnded. To use this app, you need to track a polygon, double click to end it and it will create an inner ring from the unioned result ​of the polygons completely within the tracked polygonYou can look at the TrackEnded event handler ​to see all the different operations taking place for that task  |+====  ​FeatureIdsToExclude  ​==== 
 +<div screenshot>​ 
 +{{desktopedition:​codesamples:Map Suite Desktop Edition Sample ​FeatureIdsToExclude.jpg?300x180}} 
 +</​div>​ 
 +<div content>​ 
 +<div download_viewsource_buttons>​ 
 +[[Source_Code_DesktopEditionSample_FeatureIdsToExclude_CS_100519.zip|View Source]] 
 +{{filehistory:DesktopEditionSample_FeatureIdsToExclude_CS_100519.zip|C# Download}} 
 +</div> 
 +<div sample_otherlinks>​ 
 +[[Map Suite Samples Applies To|Applies To: Desktop \ Web \ Silverlight \ Services \ Wpf ]] 
 +\\ 
 +[[Map Suite Samples Alternate Languages | Need it in another language?]] 
 +</div> 
 +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 functionUsing 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. 
 +</​div>​ 
 +</​div>​
  
 +----
 +<div sampleitem>​
 +====  Get Feature Clicked On(Desktop) ​ ====
 +<div screenshot>​
 +{{desktopedition:​codesamples:​Map Suite Desktop Edition Sample Get Feature Clicked On Desktop.jpg?​300x180}}
 +</​div>​
 +<div content>
 +<div download_viewsource_buttons>​
 +[[Source_Code_DesktopEditionSample_GetFeatureClickedOn_CS_100715.zip|View Source]]
 +{{filehistory:​DesktopEditionSample_GetFeatureClickedOn_CS_100715.zip|C#​ Download}}
 +</​div>​
 +<div sample_otherlinks>​
 +[[Map Suite Samples Applies To|Applies To: Desktop \ Wpf ]]
 +\\
 +[[Map Suite Samples Alternate Languages | Need it in another language?]]
 +</​div>​
 +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 coordinate needs to be set so that the feature get selected within a constant distance in screen coordinate to where the user clicked on regardless on the zoom level. This project will show how to accomplish that task regardless of the layer type (polygon, line or point based) and the zoom level of the current extent of the map. This is a Desktop project.
 +</​div>​
 +</​div>​
  
-====Distance Query on Projected Layers==== +---- 
-^ Screenshot ^ width=78|Sample ^ width=66|Product ^ Description ^ +<div sampleitem>​ 
-{{wiki:Map Suite Desktop Edition Sample ​Distance Query On Projected Layers.png?250}}   | [[Source_Code_DesktopEditionSample DistanceQueryOnProjectedLayers CS 101228.zip|View Source]]\\ \\ [[:File:DesktopEditionSample DistanceQueryOnProjectedLayers CS 101228.zip|C# Download]]\\ \\ //[[Map Suite Samples Alternate Languages|Need it in another language?​]]// ​  | [[Map Suite Desktop Edition|Desktop \\ \\ ]]//[[Map Suite Samples Applies To|Applies To: Desktop \\  ​Web \\  ​Silverlight \\  ​Services \\  ​Wpf \\ ]]//   | This sample shows how to use the method GetFeaturesWithDistanceOf when the data is projectedWe just input the unit which is projected todo 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. ​  |+====  ​Intersect Line  ​==== 
 +<div screenshot>​ 
 +{{desktopedition:​codesamples:Map Suite Desktop Edition Sample ​Intersect Line.jpg?300x180}} 
 +</​div>​ 
 +<div content>​ 
 +<div download_viewsource_buttons>​ 
 +[[Source_Code_DesktopEditionSample_IntersectLine_CS_100728.zip|View Source]] 
 +{{filehistory:DesktopEditionSample_IntersectLine_CS_100728.zip|C# Download}} 
 +</div> 
 +<div sample_otherlinks>​ 
 +[[Map Suite Samples Applies To|Applies To: Desktop \ Web \ Silverlight \ Services \ Wpf ]] 
 +\\ 
 +[[Map Suite Samples Alternate Languages | Need it in another language?]] 
 +</div> 
 +In today’s project, we show how to split a line based on an intersecting lineTo accomplish this task, basically two steps are needed. Firstyou need to find the crossing point using the GetCrossing function and then you split the line based on the crossing point using the GetLineOnLine functionIf you are in the utilities industry working ​with electric network, gas pipes etc, you will find this project useful. 
 +</​div>​ 
 +</​div>​
  
 +----
 +<div sampleitem>​
 +====  Polygon Shapes To Multipolygon Shapes ​ ====
 +<div screenshot>​
 +{{desktopedition:​codesamples:​Map_Suite_Wpf_Desktop_Edtion_Sample_Polygon_Shapes_To_Multipolygon_Shapes.jpg?​300x180}}
 +</​div>​
 +<div content>
 +<div download_viewsource_buttons>​
 +[[Source_Code_WpfDesktopEditionSample_PolygonShapesToMultipolygonShape_CS_101126.zip|View Source]]
 +{{filehistory:​WpfDesktopEditionSample_PolygonShapesToMultipolygonShape_CS_101126.zip|C#​ Download}}
 +</​div>​
 +<div sample_otherlinks>​
 +[[Map Suite Samples Applies To|Applies To: Desktop \ Web \ Silverlight \ Services \ Wpf ]]
 +\\
 +[[Map Suite Samples Alternate Languages | Need it in another language?]]
 +</​div>​
 +In this Wpf project, we show how to create a MultipolygonShape from various PolygonShapes. Since a collection of PolygonShapes cannot be directly cast to a MultipolygonShape,​ we show the technique to build a MultipolygonShape passing an IEnumerable of PolygonShape. This is a Wpf sample and you will need the references for MapSuiteCore.dll and WpfDesktopEdition.dll.
 +</​div>​
 +</​div>​
  
-====FeatureIdsToExclude==== +---- 
-^ Screenshot ^ width=78|Sample ^ width=66|Product ^ Description ^ +<div sampleitem>​ 
-{{wiki:Map Suite Desktop Edition Sample ​FeatureIdsToExclude.jpg?250}}   | [[Source_Code_DesktopEditionSample_FeatureIdsToExclude_CS_100519.zip|View Source]]\\ \\ [[:File:​DesktopEditionSample_FeatureIdsToExclude_CS_100519.zip|C# Download]]\\ \\ //[[Map Suite Samples Alternate Languages|Need it in another language?​]]// ​  | [[Map Suite Desktop Edition|Desktop \\ \\ ]]//[[Map Suite Samples Applies To|Applies To: Desktop \\  ​Web \\  Silverlight \\  ​Services \\  Wpf \\ ]]//   | 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 functionUsing 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.   |+====  ​Shortest Line Between Two Features with Split  ​==== 
 +<div screenshot>​ 
 +{{desktopedition:​codesamples:Map Suite Wpf Desktop Edition Sample ​Shortest Line Splitting Lines.jpg?300x180}} 
 +</​div>​ 
 +<div content>​ 
 +<div download_viewsource_buttons>​ 
 +[[Source_Code_WpfDesktopEditionSample_FindShortestLineandSplittingLines_CS_140425.zip|View Source]] 
 +{{filehistory:WpfDesktopEditionSample_FindShortestLineandSplittingLines_CS_140425.zip|C# Download}} 
 +</div> 
 +<div sample_otherlinks>​ 
 +[[Map Suite Samples Applies To|Applies To: Desktop \ Web \ MVC \ Silverlight \ Services \ WPF ]] 
 +\\ 
 +[[Map Suite Samples Alternate Languages | Need it in another language?]] 
 +</div> 
 +This sample will show you how to find the closest line between two features by using the //​GetShortestLineTo//​ API and how to split a line at a given point using the //​GetLineOnALine//​ API These APIs can be very useful when doing spatial ​analysis ​and editing of features. ​ This sample also allows you to dynamically alter the test features using the //​EditOverlay//​ so you can try out different scenarios and see the results quickly. ​ A MapShapes ​layer is used to display and style the individual results.\\   ​\\ \\  \\ **Note:** This sample requires that you reference DLLs from the Map Suite WPF Desktop Edition [[Map Suite Daily Builds Guide|daily development build]] version 7.0.318.0 or later. 
 +</​div>​ 
 +</​div>​
  
 +----
 +<div sampleitem>​
 +====  Sweep Angle Desktop ​ ====
 +<div screenshot>​
 +{{desktopedition:​codesamples:​Map Suite Desktop Edition Sample Sweep Angle Desktop.jpg?​300x180}}
 +</​div>​
 +<div content>
 +<div download_viewsource_buttons>​
 +[[Source_Code_DesktopEditionSample_SweepAngle_CS_100506.zip|View Source]]
 +{{filehistory:​DesktopEditionSample_SweepAngle_CS_100506.zip|C#​ Download}}
 +</​div>​
 +<div sample_otherlinks>​
 +[[Map Suite Samples Applies To|Applies To: Desktop \ Web \ Silverlight \ Services \ Wpf ]]
 +\\
 +[[Map Suite Samples Alternate Languages | Need it in another language?]]
 +</​div>​
 +The purpose of today’s project is to show how to make a desktop project from a Servicess one. Many of the projects published in the Code Community are in the Servicess edition because the only reference for Map Suite required for running them is MapSuiteCore.dll. That dll comes in any of the Map Suite products. We are taking the example of the “Sweep Angle” Servicess project to show how to adapt it to a Desktop project. With the understanding of some basic concepts such as Overlay, you will be able to easily convert a Servicess project to a Desktop one. So, for this project, you will need the references for both MapSuiteCore.dll and DesktopEdition.dll. Next, we will see how to convert a Servicess project to a Web one.
 +</​div>​
 +</​div>​
  
-====Get Feature Clicked On(Desktop)==== +---- 
-^ Screenshot ^ width=78|Sample ^ width=66|Product ^ Description ^ +{{page>map_suite_services_edition_spatial_functions_samples}}
-{{wiki:Map Suite Desktop Edition Sample Get Feature Clicked On Desktop.jpg?​250}} ​  | [[Source_Code_DesktopEditionSample_GetFeatureClickedOn_CS_100715.zip|View Source]]\\ \\ [[:​File:​DesktopEditionSample_GetFeatureClickedOn_CS_100715.zip|C#​ Download]]\\ \\ //[[Map Suite Samples Alternate Languages|Need it in another language?​]]// ​  | [[Map Suite Desktop Edition|Desktop \\ \\ ]]//[[Map Suite Samples Applies To|Applies To: Desktop \\  Wpf \\ ]]//   | 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 coordinate needs to be set so that the feature get selected within a constant distance in screen coordinate to where the user clicked on regardless on the zoom level. This project will show how to accomplish that task regardless of the layer type (polygon, line or point based) and the zoom level of the current extent of the map. This is a Desktop project. ​  | +
- +
- +
-====Intersect Line==== +
-^ Screenshot ^ width=78|Sample ^ width=66|Product ^ Description ^ +
-| {{wiki:Map Suite Desktop Edition Sample Intersect Line.jpg?​250}} ​  | [[Source_Code_DesktopEditionSample_IntersectLine_CS_100728.zip|View Source]]\\ \\ [[:​File:​DesktopEditionSample_IntersectLine_CS_100728.zip|C#​ Download]]\\ \\ //[[Map Suite Samples Alternate Languages|Need it in another language?​]]// ​  | [[Map Suite Desktop Edition|Desktop \\ \\ ]]//[[Map Suite Samples Applies To|Applies To: Desktop \\  Web \\  Silverlight \\  Services \\  Wpf \\ ]]//   | 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. ​  | +
- +
- +
-====Polygon Shapes To Multipolygon Shapes==== +
-^ Screenshot ^ width=78|Sample ^ width=66|Product ^ Description ^ +
-| {{wiki:​Map_Suite_Wpf_Desktop_Edtion_Sample_Polygon_Shapes_To_Multipolygon_Shapes.jpg?​250}} ​  | [[Source_Code_WpfDesktopEditionSample_PolygonShapesToMultipolygonShape_CS_101126.zip|View Source]]\\ \\ [[:​File:​WpfDesktopEditionSample_PolygonShapesToMultipolygonShape_CS_101126.zip|C#​ Download]]\\ \\ //[[Map Suite Samples Alternate Languages|Need it in another language?​]]// ​  | [[Map Suite Wpf Desktop Edition|Wpf \\ \\ ]]//[[Map Suite Samples Applies To|Applies To: Desktop \\  Web \\  Silverlight \\  Services \\  Wpf \\ ]]//   | In this Wpf project, we show how to create a MultipolygonShape from various PolygonShapes. Since a collection of PolygonShapes cannot be directly cast to a MultipolygonShape,​ we show the technique to build a MultipolygonShape passing an IEnumerable of PolygonShape. This is a Wpf sample and you will need the references for MapSuiteCore.dll and WpfDesktopEdition.dll. ​  | +
- +
- +
-====Shortest Line Between Two Features with Split==== +
-^ Screenshot ^ width=78|Sample ^ width=66|Product ^ Description ^ +
-| {{wiki:Map Suite Wpf Desktop Edition Sample Shortest Line Splitting Lines.jpg?​250}} ​  | [[Source_Code_WpfDesktopEditionSample_FindShortestLineandSplittingLines_CS_140425.zip|View Source]]\\ \\ [[:​File:​WpfDesktopEditionSample_FindShortestLineandSplittingLines_CS_140425.zip|C#​ Download]]\\ \\ //[[Map Suite Samples Alternate Languages|Need it in another language?​]]// ​  | [[Map Suite Wpf Desktop Edition|WPF \\ \\ ]]//[[Map Suite Samples Applies To|Applies To: Desktop \\  Web \\  MVC \\  Silverlight \\  Services \\  WPF \\ ]]//   | This sample will show you how to find the closest line between two features by using the <tt>GetShortestLineTo</​tt>​ API and how to split a line at a given point using the <​tt>​GetLineOnALine</​tt>​ API.  These APIs can be very useful when doing spatial analysis and editing of features. ​ This sample also allows you to dynamically alter the test features using the <​tt>​EditOverlay</​tt>​ so you can try out different scenarios and see the results quickly. ​ A MapShapes layer is used to display and style the individual results.\\ ​  \\ \\  \\ **Note:** This sample requires that you reference DLLs from the Map Suite WPF Desktop Edition [[Map Suite Daily Builds Guide|daily development build]] version 7.0.318.0 or later. ​  | +
- +
- +
-====Sweep Angle Desktop==== +
-^ Screenshot ^ width=78|Sample ^ width=66|Product ^ Description ^ +
-| {{wiki:Map Suite Desktop Edition Sample Sweep Angle Desktop.jpg?​250}}   | [[Source_Code_DesktopEditionSample_SweepAngle_CS_100506.zip|View Source]]\\ \\ [[:​File:​DesktopEditionSample_SweepAngle_CS_100506.zip|C#​ Download]]\\ \\ //[[Map Suite Samples Alternate Languages|Need it in another language?​]]// ​  | [[Map Suite Desktop Edition|Desktop \\ \\ ]]//[[Map Suite Samples Applies To|Applies To: Desktop \\  Web \\  Silverlight \\  Services \\  Wpf \\ ]]//   | The purpose of today’s project is to show how to make a desktop project from a Servicess one. Many of the projects published in the Code Community are in the Servicess edition because the only reference for Map Suite required for running them is MapSuiteCore.dll. That dll comes in any of the Map Suite products. We are taking the example of the “Sweep Angle” Servicess project to show how to adapt it to a Desktop project. With the understanding of some basic concepts such as Overlay, you will be able to easily convert a Servicess project to a Desktop one. So, for this project, you will need the references for both MapSuiteCore.dll and DesktopEdition.dll. Next, we will see how to convert a Servicess project to a Web one.   | +
- +
-{{:Map Suite Services Edition Spatial Functions Samples}} +
map_suite_desktop_edition_spatial_functions_samples.1440040123.txt.gz · Last modified: 2015/09/08 06:54 (external edit)