User Tools

Site Tools


thinkgeo.mapsuite.silverlightcore.multilineshape

ThinkGeo.MapSuite.SilverlightCore.MultilineShape

Note: The page was created before Map Suite 10. Map Suite 10.0 organized many classes into new namespaces and assemblies as well as had a few minor breaks in compatibility. The majority of previously built code should work without modification assuming the new namespaces are added. For guidance on upgrading your existing code, please check out MapSuite 10 Upgrade Guide.

This class represents a MultilineShape, which is defined as one or more lines, each with two or more points.

Inheritance Hierarchy

  • System.Object
    • ThinkGeo.MapSuite.SilverlightCore.BaseShape
      • ThinkGeo.MapSuite.SilverlightCore.LineBaseShape
        • ThinkGeo.MapSuite.SilverlightCore.MultilineShape

Members Summary

Public Constructors

MultilineShape()

This constructor creates the MultilineShape.

Remarks

None

Parameters

MultilineShape(IEnumerable<LineShape>)

N/A

Remarks

N/A

Parameters
  • lineShapes
    • Type:IEnumerable<LineShape>
    • Description:N/A

MultilineShape(String)

This constructor creates the MultilineShape.

Remarks

None

Parameters
  • wellKnownText
    • Type:String
    • Description:This parameter is the well-known text used to build the shape.

MultilineShape(Byte[])

This constructor creates the MultilineShape.

Remarks

None

Parameters
  • wellKnownBinary
    • Type:Byte[]
    • Description:This parameter is the well-known binary used to build the shape.

Protected Constructors

Public Methods

Reorder(PointShape,Double)

This API is used to make the lines within the Multiline ordered.

Remarks

An ordered Multiline means that we can walk though the MultiLine from the first point to the last point without any branches, and that each line's end points should be within the given tolerance. If using this overload, the unit of the Multiline and the tolerance are both defaulted to meters. Please use the other overload if you want to specify the units yourself.

Return Value
  • Type:Void
  • Description:Returns a re-ordered MultilineShape.
Parameters
  • startPoint
    • Description:This parameter specifies the start point of the resulting re-ordered MultilineShape.
  • tolerance
    • Type:Double
    • Description:This parameter specifies the tolerance between each line among the lines in the Multiline. This parameter is very critial. If it is too large or too samll, the re-order cannot suceed.

Reorder(PointShape,Double,GeographyUnit,DistanceUnit)

This API is used to make the lines within the Multiline ordered.

Remarks

An ordered Multiline means that we can walk though the MultiLine from the first point to the last point without any branches, and that each line's end points should be within the given tolerance. When using this overload, you can specify the unit for the Multiline as well as the unit for the tolerance.

Return Value
  • Type:Void
  • Description:Returns a re-ordered MultilineShape.
Parameters
  • startPoint
    • Description:This parameter specifies the start point of the resulting re-ordered MultilineShape.
  • tolerance
    • Type:Double
    • Description:This parameter specifies the tolerance between each line among the lines in the Multiline. This parameter is very critial. If it is too large or too samll, the re-order cannot suceed.
  • shapeUnit
    • Description:This parameter specifies the GeographicUnit for the Multineline.
  • unitOfTolerance
    • Description:This parameter specifies the distance unit used when considering the tolerance.

GetPointOnALine(StartingPoint,Single)

This method returns a PointShape on the line, based on a percentage of the length of the line from either its first or last vertex (as defined by the startingPoint parameter).

Remarks

If you pass 100 or 0 as the percentage of the line, it will return either the first or last vertex, depending on the value of the startingPoint argument.

Return Value
  • Description:This method returns a PointShape on the line, based on a percentage of the length of the line from either its first or last vertex (as defined by the startingPoint parameter).
Parameters
  • startingPoint
    • Description:The startingPoint defines whether the method starts at the beginning or the end of the line.
  • percentageOfLine
    • Type:Single
    • Description:This parameter defines the percentage into the line. Valid values are between 0 and 100.

GetPointOnALine(StartingPoint,Double,GeographyUnit,DistanceUnit)

This method returns a PointShape on the line, based on a distance on the line from the first or last vertex (as defined by the startingPoint parameter).

Remarks

Passing in a distance of 0 will return either the first or last point on the line, depending on the value of the startingPoint parameter.

Return Value
  • Description:This method returns a PointShape on the line, based on a distance on the line from the first or last vertex (as defined by the startingPoint parameter).
Parameters
  • startingPoint
    • Description:The startingPoint defines whether the method starts at the beginning or the end of the line.
  • distance
    • Type:Double
    • Description:This parameter specifies the distance into the line you wish to move, in the unit of the shape itself. Valid values must be greater than or equal to 0.
  • shapeUnit
    • Description:This is the GeographyUnit of the shape you are performing the operation on.
  • distanceUnit
    • Description:This is the DistanceUnit you would like to use for the distance parameter. For example, if you select miles as your distanceUnit, then the distance will be measured in miles.

GetLineOnALine(StartingPoint,Single,Single)

This method returns a BaseLineShape, based on a starting position and other factors.

Remarks

None

Return Value
  • Description:This method returns a BaseLineShape, based on a starting position and other factors.
Parameters
  • startingPoint
    • Description:The startingPoint defines whether the method starts at the beginning or the end of the line.
  • startingPercentageOfTheLine
    • Type:Single
    • Description:This parameter defines the starting percentage into the line. Valid values must be greater than 0 and less than or equal to 100.
  • percentageOfTheLine
    • Type:Single
    • Description:This parameter defines the percentage into the line. Valid values must be greater than 0 and less than or equal to 100.

GetLineOnALine(StartingPoint,Single)

This method returns a BaseLineShape, based on a starting position and other factors.

Remarks

None

Return Value
  • Description:This method returns a BaseLineShape, based on a starting position and other factors.
Parameters
  • startingPoint
    • Description:The startingPoint defines whether the method starts at the beginning or the end of the line.
  • percentageOfLine
    • Type:Single
    • Description:This parameter defines the percentage into the line. Valid values must be greater than 0 and less than or equal to 100.

GetLineOnALine(StartingPoint,Double,Double,GeographyUnit,DistanceUnit)

This method returns a BaseLineShape, based on a starting position and other factors.

Remarks

None

Return Value
  • Description:This method returns a BaseLineShape, based on a starting position and other factors.
Parameters
  • startingPoint
    • Description:The startingPoint defines whether the method starts at the beginning or the end of the line.
  • startingDistance
    • Type:Double
    • Description:The starting distance from where you will start getting the line. For example, if the line is 3 units long and you have a starting distance of 1 unit, the result will be the last two units of the line. Valid values must be greater than 0. The starting distance will be in the GeographyUnit of the shape.
  • distance
    • Type:Double
    • Description:The amount of the line you want to get after the startingDistance. Valid values must be greater than 0.
  • shapeUnit
    • Description:This is the GeographyUnit of the shape you are performing the operation on.
  • distanceUnit
    • Description:This is the DistanceUnit you would like to use for the distance parameter. For example, if you select miles as your distanceUnit, then the distance will be measured in miles.

GetLineOnALine(StartingPoint,PointShape)

This method returns a BaseLineShape, based on a starting position and other factors.

Remarks

None

Return Value
  • Description:This method returns a BaseLineShape, based on a starting position and other factors.
Parameters
  • startingPoint
    • Description:The startingPoint defines whether the method starts at the beginning or the end of the line.
  • endPointShape
    • Description:The BaseLineShape returned will be between the startingPoint and the endPointShape specified in this parameter.

GetLineOnALine(PointShape,PointShape)

This method returns a BaseLineShape, based on a starting position and other factors.

Remarks

None

Return Value
  • Description:This method returns a BaseLineShape based on a start PointShape and an end PointShape.
Parameters
  • startPointShape
    • Description:The startPointShape defines where you will start to get the line. If it does not stand on this MultilineShape, the closest point on the MultilineShape will be the start PointShape.
  • endPointShape
    • Description:The endPointShape defines where you will stop getting the line. If it does not stand on this MultilineShape, the closest point on the MultilineShape will be the end PointShape.

RemoveVertex(Vertex)

N/A

Remarks

N/A

Return Value
  • Type:Boolean
  • Description:N/A
Parameters
  • selectedVertex

GetLength(GeographyUnit,DistanceUnit)

N/A

Remarks

N/A

Return Value
  • Type:Double
  • Description:N/A
Parameters

ScaleUp(Double)

N/A

Remarks

N/A

Return Value
  • Type:Void
  • Description:N/A
Parameters
  • percentage
    • Type:Double
    • Description:N/A

ScaleDown(Double)

N/A

Remarks

N/A

Return Value
  • Type:Void
  • Description:N/A
Parameters
  • percentage
    • Type:Double
    • Description:N/A

ConvexHull()

N/A

Remarks

N/A

Return Value
Parameters

Simplify(GeographyUnit,Double,DistanceUnit,SimplificationType)

N/A

Remarks

N/A

Return Value
Parameters
  • tolerance
    • Type:Double
    • Description:N/A

Simplify(Double,SimplificationType)

N/A

Remarks

N/A

Return Value
Parameters
  • tolerance
    • Type:Double
    • Description:N/A

Union(LineBaseShape)

N/A

Remarks

N/A

Return Value
Parameters

Union(Feature)

N/A

Remarks

N/A

Return Value
Parameters
  • targetFeature

GetIntersection(Feature)

N/A

Remarks

N/A

Return Value
Parameters
  • targetFeature

GetIntersection(AreaBaseShape)

N/A

Remarks

N/A

Return Value
Parameters

LoadFromWellKnownData(String)

N/A

Remarks

N/A

Return Value
  • Type:Void
  • Description:N/A
Parameters
  • wellKnownText
    • Type:String
    • Description:N/A

GetWellKnownText()

N/A

Remarks

N/A

Return Value
  • Type:String
  • Description:N/A
Parameters

LoadFromWellKnownData(Byte[])

N/A

Remarks

N/A

Return Value
  • Type:Void
  • Description:N/A
Parameters
  • wellKnownBinary
    • Type:Byte[]
    • Description:N/A

GetWellKnownBinary()

N/A

Remarks

N/A

Return Value
  • Type:Byte[]
  • Description:N/A
Parameters

GetWellKnownBinary(WkbByteOrder)

N/A

Remarks

N/A

Return Value
  • Type:Byte[]
  • Description:N/A
Parameters

GetBoundingBox()

N/A

Remarks

N/A

Return Value
Parameters

GetWellKnownType()

N/A

Remarks

N/A

Return Value
Parameters

CloneDeep()

N/A

Remarks

N/A

Return Value
Parameters

TranslateByOffset(Double,Double,GeographyUnit,DistanceUnit)

N/A

Remarks

N/A

Return Value
  • Type:Void
  • Description:N/A
Parameters
  • xOffsetDistance
    • Type:Double
    • Description:N/A
  • yOffsetDistance
    • Type:Double
    • Description:N/A

TranslateByOffset(Double,Double)

N/A

Remarks

N/A

Return Value
  • Type:Void
  • Description:N/A
Parameters
  • xOffsetDistance
    • Type:Double
    • Description:N/A
  • yOffsetDistance
    • Type:Double
    • Description:N/A

TranslateByDegree(Double,Double,GeographyUnit,DistanceUnit)

N/A

Remarks

N/A

Return Value
  • Type:Void
  • Description:N/A
Parameters
  • distance
    • Type:Double
    • Description:N/A
  • angleInDegrees
    • Type:Double
    • Description:N/A

TranslateByDegree(Double,Double)

N/A

Remarks

N/A

Return Value
  • Type:Void
  • Description:N/A
Parameters
  • distance
    • Type:Double
    • Description:N/A
  • angleInDegrees
    • Type:Double
    • Description:N/A

Rotate(PointShape,Single)

N/A

Remarks

N/A

Return Value
  • Type:Void
  • Description:N/A
Parameters
  • degreeAngle
    • Type:Single
    • Description:N/A

GetShortestLineTo(BaseShape,GeographyUnit)

N/A

Remarks

N/A

Return Value
Parameters

GetShortestLineTo(Feature,GeographyUnit)

N/A

Remarks

N/A

Return Value
Parameters
  • targetFeature

GetClosestPointTo(BaseShape,GeographyUnit)

N/A

Remarks

N/A

Return Value
Parameters

GetClosestPointTo(Feature,GeographyUnit)

N/A

Remarks

N/A

Return Value
Parameters
  • targetFeature

GetCenterPoint()

N/A

Remarks

N/A

Return Value
Parameters

Buffer(Double,GeographyUnit,DistanceUnit)

N/A

Remarks

N/A

Return Value
Parameters
  • distance
    • Type:Double
    • Description:N/A

Buffer(Double,Int32,GeographyUnit,DistanceUnit)

N/A

Remarks

N/A

Return Value
Parameters
  • distance
    • Type:Double
    • Description:N/A
  • quadrantSegments
    • Type:Int32
    • Description:N/A

Buffer(Double,Int32,BufferCapType,GeographyUnit,DistanceUnit)

N/A

Remarks

N/A

Return Value
Parameters
  • distance
    • Type:Double
    • Description:N/A
  • quadrantSegments
    • Type:Int32
    • Description:N/A

GetDistanceTo(BaseShape,GeographyUnit,DistanceUnit)

N/A

Remarks

N/A

Return Value
  • Type:Double
  • Description:N/A
Parameters

GetDistanceTo(Feature,GeographyUnit,DistanceUnit)

N/A

Remarks

N/A

Return Value
  • Type:Double
  • Description:N/A
Parameters
  • targetFeature

Register(PointShape,PointShape,DistanceUnit,GeographyUnit)

N/A

Remarks

N/A

Return Value
Parameters

Register(Feature,Feature,DistanceUnit,GeographyUnit)

N/A

Remarks

N/A

Return Value
Parameters
  • fromPoint
  • toPoint

Validate(ShapeValidationMode)

N/A

Remarks

N/A

Return Value
Parameters

IsDisjointed(BaseShape)

N/A

Remarks

N/A

Return Value
  • Type:Boolean
  • Description:N/A
Parameters

IsDisjointed(Feature)

N/A

Remarks

N/A

Return Value
  • Type:Boolean
  • Description:N/A
Parameters
  • targetFeature

Intersects(BaseShape)

N/A

Remarks

N/A

Return Value
  • Type:Boolean
  • Description:N/A
Parameters

Intersects(Feature)

N/A

Remarks

N/A

Return Value
  • Type:Boolean
  • Description:N/A
Parameters
  • targetFeature

Touches(BaseShape)

N/A

Remarks

N/A

Return Value
  • Type:Boolean
  • Description:N/A
Parameters

Touches(Feature)

N/A

Remarks

N/A

Return Value
  • Type:Boolean
  • Description:N/A
Parameters
  • targetFeature

Crosses(BaseShape)

N/A

Remarks

N/A

Return Value
  • Type:Boolean
  • Description:N/A
Parameters

Crosses(Feature)

N/A

Remarks

N/A

Return Value
  • Type:Boolean
  • Description:N/A
Parameters
  • targetFeature

IsWithin(BaseShape)

N/A

Remarks

N/A

Return Value
  • Type:Boolean
  • Description:N/A
Parameters

IsWithin(Feature)

N/A

Remarks

N/A

Return Value
  • Type:Boolean
  • Description:N/A
Parameters
  • targetFeature

Contains(BaseShape)

N/A

Remarks

N/A

Return Value
  • Type:Boolean
  • Description:N/A
Parameters

Contains(Feature)

N/A

Remarks

N/A

Return Value
  • Type:Boolean
  • Description:N/A
Parameters
  • targetFeature

Overlaps(BaseShape)

N/A

Remarks

N/A

Return Value
  • Type:Boolean
  • Description:N/A
Parameters

Overlaps(Feature)

N/A

Remarks

N/A

Return Value
  • Type:Boolean
  • Description:N/A
Parameters
  • targetFeature

IsTopologicallyEqual(BaseShape)

N/A

Remarks

N/A

Return Value
  • Type:Boolean
  • Description:N/A
Parameters

IsTopologicallyEqual(Feature)

N/A

Remarks

N/A

Return Value
  • Type:Boolean
  • Description:N/A
Parameters
  • targetFeature

GetFeature()

N/A

Remarks

N/A

Return Value
Parameters

GetFeature(IDictionary<String,String>)

N/A

Remarks

N/A

Return Value
Parameters
  • columnValues
    • Type:IDictionary<String,String>
    • Description:N/A

GetCrossing(BaseShape)

N/A

Remarks

N/A

Return Value
Parameters

ScaleTo(Double)

N/A

Remarks

N/A

Return Value
  • Type:Void
  • Description:N/A
Parameters
  • scale
    • Type:Double
    • Description:N/A

ToString()

N/A

Remarks

N/A

Return Value
  • Type:String
  • Description:N/A
Parameters

Equals(Object)

N/A

Remarks

N/A

Return Value
  • Type:Boolean
  • Description:N/A
Parameters
  • obj
    • Type:Object
    • Description:N/A

GetHashCode()

N/A

Remarks

N/A

Return Value
  • Type:Int32
  • Description:N/A
Parameters

GetType()

N/A

Remarks

N/A

Return Value
  • Type:Type
  • Description:N/A
Parameters

RemoveVertex(Vertex,MultilineShape)

N/A

Remarks

N/A

Return Value
  • Type:Boolean
  • Description:N/A
Parameters
  • selectedVertex

Protected Methods

GetBoundingBoxCore()

This method calculates the smallest RectangleShape that encompasses the entire geometry.

Remarks

The GetBoundingBox method calculates the smallest RectangleShape that can encompass the entire geometry by examining each point in the geometry. Depending on the number of PointShapes and complexity of the geometry, this operation can take longer for larger objects. If the shape is a PointShape, then the bounding box's upper left and lower right points will be equal. This will create a RectangleShape with no area. Overriding: Please ensure that you validate the parameters being passed in and raise the exceptions defined above.

Return Value
  • Description:The RectangleShape returned is the smallest RectangleShape that can encompass the entire geometry.
Parameters

CloneDeepCore()

This method returns a complete copy of the shape without any references in common.

Remarks

When you override this method, you need to ensure that there are no references in common between the original and the copy.

Return Value
  • Type:BaseShape
  • Description:This method returns a complete copy of the shape without any references in common.
Parameters

ReorderCore(PointShape,Double,GeographyUnit,DistanceUnit)

This API is used to make the lines within the Multiline ordered.

Remarks

An ordered Multiline means that we can walk though the MultiLine from the first point to the last point without any branches, and that each line's end points should be within the given tolerance. When using this overload, you can specify the unit for the Multiline as well as the unit for the tolerance.

Return Value
  • Type:Void
  • Description:Returns a re-ordered MultilineShape.
Parameters
  • startPoint
    • Description:This parameter specifies the start point of the resulting re-ordered MultilineShape.
  • tolerance
    • Type:Double
    • Description:This parameter specifies the tolerance between each line among the lines in the Multiline. This parameter is very critial. If it is too large or too samll, the re-order cannot suceed.
  • shapeUnit
    • Description:This parameter specifies the GeographicUnit for the Multineline.
  • unitOfTolerance
    • Description:This parameter specifies the distance unit used when considering the tolerance.

GetLengthCore(GeographyUnit,DistanceUnit)

This method returns the length of the LineShape.

Remarks

This method is useful when you want to know the total length of a line-based shape. If the shape is a MultilineShape, then the length is the sum of all of its lines. There is also an overload which allows you to specify the returning length in the unit of your choice.

Return Value
  • Type:Double
  • Description:The returned length is in the GeographyUnit of the shape.
Parameters
  • shapeUnit
    • Description:This is the GeographyUnit of the shape you are performing the operation on.
  • returningUnit
    • Description:This is the DistanceUnit you would like to use for the distance parameter. For example, if you select miles as your returningUnit, then the distance will be returned in miles.

GetPointOnALineCore(StartingPoint,Single)

This method returns a PointShape on the line, based on a percentage of the length of the line from the first or last vertex (as defined by the startingPoint parameter).

Remarks

If you pass 100 or 0 as the percentage of the line, it will return either the first or last vertex, depending on the value of the startingPoint argument.

Return Value
  • Description:This method returns a PointShape on the line, based on a percentage of the length of the line from the first or last vertex (as defined by the startingPoint parameter).
Parameters
  • startingPoint
    • Description:The startingPoint defines whether the method starts at the beginning or the end of the line.
  • percentageOfLine
    • Type:Single
    • Description:This parameter defines the percentage into the line. Valid values are between 0 and 100.

GetPointOnALineCore(StartingPoint,Double,GeographyUnit,DistanceUnit)

This method returns a PointShape on the line, based on a distance on the line from the first or last vertex (as defined by the startingPoint parameter).

Remarks

Passing in a distance of 0 will return either the first or last point on the line, depending on the value of the startingPoint parameter.

Return Value
  • Description:This method returns a PointShape on the line, based on a distance on the line from the first or last vertex (as defined by the startingPoint parameter).
Parameters
  • startingPoint
    • Description:The startingPoint defines whether the method starts at the beginning or the end of the line.
  • distance
    • Type:Double
    • Description:This parameter specifies the distance into the line you wish to move, in the unit of the shape itself. Valid values must be greater than or equal to 0.
  • shapeUnit
    • Description:This is the GeographyUnit of the shape you are performing the operation on.
  • distanceUnit
    • Description:This is the DistanceUnit you would like to use for the distance parameter. For example, if you select miles as your distanceUnit, then the distance will be measured in miles.

GetLineOnALineCore(StartingPoint,Single)

This method returns a BaseLineShape, based on a starting position and other factors.

Remarks

None

Return Value
  • Description:This method returns a BaseLineShape, based on a starting position and other factors.
Parameters
  • startingPoint
    • Description:The startingPoint defines whether the method starts at the beginning or the end of the line.
  • percentageOfLine
    • Type:Single
    • Description:This parameter defines the percentage into the line. Valid values must be greater than 0 and less than or equal to 100.

GetLineOnALineCore(StartingPoint,Double,Double,GeographyUnit,DistanceUnit)

This method returns a BaseLineShape, based on a starting position and other factors.

Remarks

None

Return Value
  • Description:This method returns a BaseLineShape, based on a starting position and other factors.
Parameters
  • startingPoint
    • Description:The startingPoint defines whether the method starts at the beginning or the end of the line.
  • startingDistance
    • Type:Double
    • Description:The starting distance from where you will start getting the line. For example, if the line is 3 units long and you have a starting distance of 1 unit, the result will be the last two units of the line. Valid values must be greater than 0. The starting distance will be in the GeographyUnit of the shape.
  • distance
    • Type:Double
    • Description:The amount of the line you want to get after the startingDistance. Valid values must be greater than 0.
  • shapeUnit
    • Description:This is the GeographyUnit of the shape you are performing the operation on.
  • distanceUnit
    • Description:This is the DistanceUnit you would like to use for the distance parameter. For example, if you select miles as your distanceUnit, then the distance will be measured in miles.

GetLineOnALineCore(StartingPoint,PointShape)

This method returns a BaseLineShape, based on a starting position and other factors.

Remarks

None

Return Value
  • Description:This method returns a BaseLineShape, based on a starting position and other factors.
Parameters
  • startingPoint
    • Description:The startingPoint defines whether the method starts at the beginning or the end of the line.
  • endPointShape
    • Description:The BaseLineShape returned will be between the startingPoint and the endPointShape specified in this parameter.

GetLineOnALineCore(PointShape,PointShape)

This method returns a BaseLineShape, based on a starting position and other factors.

Remarks

None

Return Value
  • Description:This method returns a BaseLineShape based on a start PointShape and an end PointShape.
Parameters
  • startPointShape
    • Description:The startPointShape defines where you will start to get the line. If it does not stand on this MultilineShape, the closest point on the MultilineShape will be the start PointShape.
  • endPointShape
    • Description:The endPointShape defines where you will stop getting the line. If it does not stand on this MultilineShape, the closest point on the MultilineShape will be the end PointShape.

ScaleUpCore(Double)

This method increases the size of the LineShape by the percentage given in the percentage parameter.

Remarks

This method is useful when you would like to increase the size of the shape. Note that a larger percentage will scale the shape up faster, as you are applying the operation multiple times. There is also a ScaleDown method that will shrink the shape.

Return Value
  • Type:Void
  • Description:N/A
Parameters
  • percentage
    • Type:Double
    • Description:This is the percentage by which to increase the shape's size.

ScaleDownCore(Double)

This method decreases the size of the LineShape by the percentage given in the percentage parameter.

Remarks

This method is useful when you would like to decrease the size of the shape. Note that a larger percentage will scale the shape down faster, as you are applying the operation multiple times. There is also a ScaleUp method that will enlarge the shape.

Return Value
  • Type:Void
  • Description:N/A
Parameters
  • percentage
    • Type:Double
    • Description:This is the percentage by which to decrease the shape's size.

RegisterCore(PointShape,PointShape,DistanceUnit,GeographyUnit)

This method returns a BaseShape which has been registered from its original coordinate system to another based on two anchor PointShapes.

Remarks

Registering allows you to take a geometric shape generated in a planar system and attach it to the ground in a Geographic Unit.A common scenario is integrating geometric shapes from external programs (such as CAD software or a modeling system) and placing them onto a map. You may have the schematics of a building in a CAD system and the relationship between all the points of the building are in feet. You want to then take the CAD image and attach it to where it really exists on a map. You would use the register method to do this.Registering is also useful for scientific modeling, where software models things such as a plume of hazardous materials or the fallout from a volcano. The modeling software typically generates these models in a fictitious planar system. You would then use the register to take the abstract model and attach it to a map with real coordinates.

Return Value
  • Type:BaseShape
  • Description:This method returns a BaseShape which has been registered from its original coordinate system to another based on two anchor PointShapes.
Parameters
  • fromPoint
    • Description:This parameter is the anchor PointShape in the coordinate of origin.
  • toPoint
    • Description:This parameter is the anchor PointShape in the coordinate of destination.
  • fromUnit
    • Description:This parameter is the DistanceUnit of the coordinate of origin.
  • toUnit
    • Description:This parameter is the GeographyUnit of the coordinate of destination.

TranslateByOffsetCore(Double,Double,GeographyUnit,DistanceUnit)

This method returns a BaseLineShape, based on a starting position and other factors.

Remarks

None

Return Value
  • Type:Void
  • Description:This method returns a BaseLineShape, based on a starting position and other factors.
Parameters
  • xOffsetDistance
    • Type:Double
    • Description:This is the number of horizontal units of movement in the DistanceUnit specified in the distanceUnit parameter.
  • yOffsetDistance
    • Type:Double
    • Description:This is the number of vertical units of movement in the DistanceUnit specified in the distanceUnit parameter.
  • shapeUnit
    • Description:This is the GeographyUnit of the shape you are performing the operation on.
  • distanceUnit
    • Description:This is the DistanceUnit you would like to use for the distance parameter. For example, if you select miles as your distanceUnit, then the distance will be measured in miles.

TranslateByDegreeCore(Double,Double,GeographyUnit,DistanceUnit)

This method moves the base shape from one location to another based on a distance and a direction in degrees.

Remarks

This method moves the base shape from one location to another, based on an angleInDegrees and distance parameter. With this overload, it is important to note that the distance units are the same GeographicUnit as the shape. For example, if your shape is in decimal degrees and you call this method with a distance of 1, you're going to move this shape 1 decimal degree in direction of the angleInDegrees. In many cases it is more useful to specify the DistanceUnit of movement, such as in miles or yards, so for these scenarios there is another overload you may want to use instead.If you pass a distance of 0, then the operation is ignored.

Return Value
  • Type:Void
  • Description:N/A
Parameters
  • distance
    • Type:Double
    • Description:The distance is the number of units to move the shape in the angle specified. The distance unit will be the same as the GeographyUnit for the shape. The distance must be greater than or equal to 0.
  • angleInDegrees
    • Type:Double
    • Description:A number between 0 and 360 degrees that represents the direction you wish to move the shape, with 0 being up.
  • shapeUnit
    • Description:This is the GeographyUnit of the shape you are performing the operation on.
  • distanceUnit
    • Description:This is the DistanceUnit you would like to use for the distance parameter. For example, if you select miles as your distanceUnit, then the distance will be measured in miles.

RotateCore(PointShape,Single)

This method rotates the shape a number of degrees based on a pivot point.

Remarks

This method rotates the shape by a number of degrees based on a pivot point. By placing the pivot point in the center of the shape, you can achieve in-place rotation. By moving the pivot point outside of the center of the shape, you can translate the shape in a circular motion. Moving the pivot point further outside of the center will make the circular area larger.

Return Value
  • Type:Void
  • Description:N/A
Parameters
  • pivotPoint
    • Description:The pivotPoint represents the center of rotation.
  • degreeAngle
    • Type:Single
    • Description:The number of degrees of rotation required from 0 to 360.

GetClosestPointToCore(BaseShape,GeographyUnit)

This method returns the point of the current shape that is closest to the target shape.

Remarks

This method returns the point of the current shape that is closest to the target shape. It is often the case that the point returned is not a point of the object itself. An example would be a line with two points that are far apart from each other. If you set the targetShape to be a point midway between the points but a short distance away from the line, the method would return a point that is on the line but not either of the two points that make up the line.

Return Value
  • Description:A PointShape representing the closest point of the current shape to the targetShape.
Parameters
  • targetShape
    • Type:BaseShape
    • Description:The shape you are trying to find the closest point to.
  • shapeUnit
    • Description:This is the GeographyUnit of the shape you are performing the operation on.

GetDistanceToCore(BaseShape,GeographyUnit,DistanceUnit)

This method computes the distance between the current shape and the targetShape.

Remarks

None

Return Value
  • Type:Double
  • Description:This method returns the distance between the current shape and the targetShape.
Parameters
  • targetShape
    • Type:BaseShape
    • Description:The shape you are trying to find the distance to.
  • shapeUnit
    • Description:This is the GeographyUnit of the shape you are performing the operation on.
  • distanceUnit
    • Description:This is the DistanceUnit you would like to use for the distance parameter. For example, if you select miles as your distanceUnit, then the distance will be measured in miles.

GetWellKnownTextCore()

This method returns the well-known text representation of this shape.

Remarks

This method returns a string that represents the shape in well-known text. Well-known text allows you to describe a geometry as a string of text. Well-known text is useful when you want to save a geometry in a format such as a text file, or when you simply want to cut and paste the text between other applications. An alternative to well-known text is well-known binary, which is a binary representation of a geometry object. We have methods that work with well-known binary as well. Below are some samples of what well-known text might look like for various kinds of geometric shapes.POINT(5 17)LINESTRING(4 5,10 50,25 80)POLYGON1)MULTIPOINT(3.7 9.7,4.9 11.6)MULTILINESTRING2)MULTIPOLYGON3),4))

Return Value
  • Type:String
  • Description:This method returns a string that represents the shape in well-known text.
Parameters

GetWellKnownTypeCore()

This method returns the well-known type for the shape.

Remarks

None

Return Value
  • Description:This method returns the well-known type for the shape.
Parameters

GetWellKnownBinaryCore(WkbByteOrder)

This method returns a byte array that represents the shape in well known binary.

Remarks

This method returns a byte array that represents the shape in well-known binary. Well-known binary allows you to describe a geometry as a binary array. Well-known binary is useful when you want to save a geometry in an efficient format using as little space as possible. An alternative to well-known binary is well-known text, which is a textual representation of a geometry object. We have methods that work with well-known text as well.

Return Value
  • Type:Byte[]
  • Description:This method returns a byte array that represents the shape in well known binary.
Parameters
  • byteOrder
    • Description:This parameter specifies whether the byte order is big- or little-endian.

LoadFromWellKnownDataCore(String)

This method hydrates the current shape with its data from well-known text.

Remarks

None

Return Value
  • Type:Void
  • Description:None
Parameters
  • wellKnownText
    • Type:String
    • Description:This parameter is the well-known text you will use to hydrate your object.

LoadFromWellKnownDataCore(Byte[])

This method hydrates the current shape with its data from well-known binary.

Remarks

This is used when you want to hydrate a shape based on well-known binary. You can create the shape and then load the well-known binary using this method.

Return Value
  • Type:Void
  • Description:None
Parameters
  • wellKnownBinary
    • Type:Byte[]
    • Description:This parameter is the well-known binary used to populate the shape.

ValidateCore(ShapeValidationMode)

This method returns a ShapeValidationResult based on a series of tests.

Remarks

We use this method, with the simple enumeration, internally before doing any kind of other methods on the shape. In this way, we are able to verify the integrity of the shape itself. If you wish to test things such as whether a polygon self-intersects, we invite you to call this method with the advanced ShapeValidationMode. One thing to consider is that for complex polygon shapes this operation could take some time, which is why we only run the basic, faster test. If you are dealing with polygon shapes that are suspect, we suggest you run the advanced test.

Return Value
  • Description:This method returns a ShapeValidationResult based on a series of tests.
Parameters
  • validationMode
    • Description:This parameter determines whether the test is simple or advanced. In some cases, the advanced tests can take some time. The simple test is designed to always be fast.

GetCrossingCore(BaseShape)

This method returns the crossing points between the current shape and the passed-in target shape.

Remarks

As this is a concrete public method that wraps a Core method, we reserve the right to add events and other logic to pre- or post-process data returned by the Core version of the method. In this way, we leave our framework open on our end, but also allow you the developer to extend our logic to suit your needs. If you have questions about this, please contact our support team as we would be happy to work with you on extending our framework.

Return Value
  • Description:This method returns the crossing points between the current shape and the passed-in target shape.
Parameters
  • targetShape
    • Type:BaseShape
    • Description:The target shape you wish to get crossing with.

cRo=(Double)

N/A

Remarks

N/A

Return Value
  • Type:Void
  • Description:N/A
Parameters
  • factor
    • Type:Double
    • Description:N/A

ConvexHullCore()

N/A

Remarks

N/A

Return Value
Parameters

SimplifyCore(Double,SimplificationType)

N/A

Remarks

N/A

Return Value
Parameters
  • tolerance
    • Type:Double
    • Description:N/A

UnionCore(IEnumerable<LineBaseShape>)

N/A

Remarks

N/A

Return Value
Parameters

GetIntersectionCore(AreaBaseShape)

N/A

Remarks

N/A

Return Value
Parameters

GetShortestLineToCore(BaseShape,GeographyUnit)

N/A

Remarks

N/A

Return Value
Parameters

GetCenterPointCore()

N/A

Remarks

N/A

Return Value
Parameters

BufferCore(Double,Int32,BufferCapType,GeographyUnit,DistanceUnit)

N/A

Remarks

N/A

Return Value
Parameters
  • distance
    • Type:Double
    • Description:N/A
  • quadrantSegments
    • Type:Int32
    • Description:N/A

IsDisjointedCore(BaseShape)

N/A

Remarks

N/A

Return Value
  • Type:Boolean
  • Description:N/A
Parameters

IntersectsCore(BaseShape)

N/A

Remarks

N/A

Return Value
  • Type:Boolean
  • Description:N/A
Parameters

TouchesCore(BaseShape)

N/A

Remarks

N/A

Return Value
  • Type:Boolean
  • Description:N/A
Parameters

CrossesCore(BaseShape)

N/A

Remarks

N/A

Return Value
  • Type:Boolean
  • Description:N/A
Parameters

IsWithinCore(BaseShape)

N/A

Remarks

N/A

Return Value
  • Type:Boolean
  • Description:N/A
Parameters

ContainsCore(BaseShape)

N/A

Remarks

N/A

Return Value
  • Type:Boolean
  • Description:N/A
Parameters

OverlapsCore(BaseShape)

N/A

Remarks

N/A

Return Value
  • Type:Boolean
  • Description:N/A
Parameters

IsTopologicallyEqualCore(BaseShape)

N/A

Remarks

N/A

Return Value
  • Type:Boolean
  • Description:N/A
Parameters

ScaleToCore(Double)

N/A

Remarks

N/A

Return Value
  • Type:Void
  • Description:N/A
Parameters
  • scale
    • Type:Double
    • Description:N/A

Finalize()

N/A

Remarks

N/A

Return Value
  • Type:Void
  • Description:N/A
Parameters

MemberwiseClone()

N/A

Remarks

N/A

Return Value
  • Type:Object
  • Description:N/A
Parameters

Public Properties

Lines

This property is the collection of lines that make up the MultilineShape.

Remarks

None

Return Value

CanRotate

This property specifies whether the shape can be rotated.

Remarks

If this property returns false and you attempt call the rotate method, it will throw a NotImplementedException.

Return Value
  • Type:Boolean

Id

N/A

Remarks

N/A

Return Value
  • Type:String

Tag

N/A

Remarks

N/A

Return Value
  • Type:Object

Protected Properties

Public Events

1) 2 2,6 2,6 6,2 6,2 2),(3 3,4 3,4 4,3 4,3 3
2) 4 5,11 51,21 26),(-4 -7,-9 -7,-14 -3
3) (2 2,6 2,6 6,2 6,2 2),(3 3,4 3,4 4,3 4,3 3
4) 4 4,7 3,7 5,4 4
thinkgeo.mapsuite.silverlightcore.multilineshape.txt · Last modified: 2017/03/16 21:59 (external edit)