T:Microsoft.Data.Spatial.GeometryMultiLineStringImplementation">
Geometry Multi-LineString
Line Strings
Constructor
The CoordinateSystem
The implementation that created this instance.
Line Strings
Constructor
The implementation that created this instance.
Line Strings
Sends the current spatial object to the given pipeline
The spatial pipeline
Is MultiLineString Empty
Geometry
Line Strings
Geometry Multi-Point
Points
Constructor
The CoordinateSystem
The implementation that created this instance.
Points
Constructor
The implementation that created this instance.
Points
Sends the current spatial object to the given pipeline
The spatial pipeline
Is MultiPoint Empty
Geometry
Points
Geometry Multi-Polygon
Polygons
Constructor
The CoordinateSystem
The implementation that created this instance.
Polygons
Constructor
The implementation that created this instance.
Polygons
Sends the current spatial object to the given pipeline
The spatial pipeline
Is MultiPolygon Empty
Geometry
Polygons
Geometry Point
Latitude
Longitude
Z
M
Empty Point constructor
CoordinateSystem
The implementation that created this instance.
Point constructor
CoordinateSystem
The implementation that created this instance.
latitude
longitude
Z
M
Sends the current spatial object to the given pipeline
The spatial pipeline
Latitude
Longitude
Is Point Empty
Nullable Z
Nullable M
Geometry polygon
Rings
Constructor
The CoordinateSystem
The implementation that created this instance.
The rings of this polygon
Constructor
The implementation that created this instance.
The rings of this polygon
Sends the current spatial object to the given pipeline
The spatial pipeline
Is Polygon Empty
Set of rings
Geometry Collection
Collection of Geometry instances
Constructor
The CoordinateSystem
The implementation that created this instance.
Collection of Geometry instances
Constructor
The implementation that created this instance.
Collection of Geometry instances
Sends the current spatial object to the given pipeline
The spatial pipeline
Is Geometry Collection Empty
Geographies
Dummy class for code that is shared with ODataLib.
The ODataLib version of this class has an implementation, but this version is just provided
so that we don't have to conditionally compile all references to it in the shared code.
Since it is debug-only anyway, there is no harm in leaving this no-op version so that the shared code is cleaner.
Dummy method to allow shared code to compile.
Helper methods for Geometry types
Sends the current spatial object to the given pipeline with a figure that represents this LineString
GeometryLineString instance for which the figure needs to be drawn.
The pipeline to populate to
Gml Reader
Creates a reader that that will send messages to the destination during read.
The instance to message to during read.
Parses some serialized format that represents a geography value, passing the result down the pipeline.
The XmlReader instance to read from.
Parses some serialized format that represents a geometry value, passing the result down the pipeline.
The XmlReader instance to read from.
This class parses the xml and calls the pipeline based on what is parsed
Delimiters used in position arrays. As per Xml spec white space characters is: #x20 | #x9 | #xD | #xA
List of known gml elements that can be ignored by the parser
Atomized gml namespace
Atomized Full Globe namespace
Output pipeline
Input reader
Number of points in the current figure
Constructor
Input Reader
Output pipeline
Read
Parses the top level element in the document
Whether coordinte system is expected
Set the CoordinateSystem
Should we allow CRS attributes
creates a shape and parses the element.
This is used to parse a top level Point element, as opposed to
a point which is embeded in a linestring or a polygon.
creates a shape and parses the element for top level LineString shapes
Creates a shape and parses the Polygon element.
Creates a shape and parses the MultiPoint element.
Creates a shape and parses the MultiLineString(Gml MultiCurve) element.
Creates a shape and parses the MultiPolygon(Gml MultiSurface) element.
Creates a shape and parses the Collection(Gml MultiGeometry) element.
Creates a shape and parses the FullGlobe element
Parses a simple point.
Allow Empty Point
Parses the GmlLineStringElement.
Parses the GmlExteriorLinearRingElement
The type or ring
ParseGmlLinearRingElement parses the GmlLinearRingElement
Common function for all item collections, since they are all parsed exactly the same way
The wrapping header tag
The member tag
The members tag
Parser for individual items
parses a pos element, which eventually is used in most other top level elements.
This represents a single point location with either two or zero coordinates.
Allow empty pos
Parses a sequence of 1 or more pos and pointProperty elements
Allow Empty Point
Parses a simple pointProperty.
Allow empty point
parses a GmlPosListElement.
Alow empty posList
Reads the current content in the xml element as a double array
XmlReader.ReadContentAs(typeof(double[])) basically does this but a lot slower, since it will handle a bunch of
different splitters and formats. Here we simply parse it as a string and split in on one separator
The double array
Main element reading function.
Returns true if it read a non-empty start element of the given name.
possibilities:
1- current element is not a start element named "element" - throw
2- current element is named "element" but is an empty element - return false
3- current element is named "element" and is not empty - return true
If the funciton returns true, it means that a non-empty element of the given name
was read, so the caller takes responsability to read the corresponding end element.
The element name
Returns true if it read a non-empty start element of the given name.
Is Start Element
Expected Element Tag
True if reader is at the expected element
Is End Element
Expected Element Tag
True if reader is at the end of the expected element
Read End Element
Call MoveToContent, then skip a known set of irrelevant elements (gml:name, gml:description)
Is reader at the start of a pos or pointProperty
True if reader is at the expected element
Prepare for figure drawing
Draw a point in the current figure
X coordinate
Y coordinate
Z coordinate
M coordinate
End Current Figure
Gml Constants
Gml Namespace
FullGlobe namespace
Gml Prefix
System reference attribute name
gml:id attribute name
System Reference Prefix
Gml representation of a point
The Gml:name element name
the Gml:Description element name
the metadata property element name
Description Reference element name
identifier element name
Gml representation of a point
Gml representation of a point array
Gml Point
Gml representation of a linestring
Gml Polygon
Gml MultiPoint
Gml MultiLineString
Gml MultiPolygon
Gml Collection
Gml FullGlobe
Gml Polygon exterior ring
Gml Polygon interior ring
Gml Ring
Member Tag for MultiPoint
Members Tag for MultiPoint
Member Tag for MultiLineString
Members Tag for MultiLineString
Member Tag for MultiPolygon
Members Tag for MultiPolygon
Member Tag for Collection
Members Tag for Collection
Attribute name for Axis Labels
Attribute name for unit of measure labels
Attribute name for count
Well Known Text Constants
SRID
POINT
LINESTRING
POLYGON
GEOMETRYCOLLECTION
DEVNOTE: Because there is no inherent Geography support in the WKT specification,
this constant is used for both GeographyCollection and GeometryCollection
MULTIPOINT
MULTILINESTRING
MULTIPOLYGON
FULLGLOBE
NULL
NULL
Equals Operator '='
Semicolon ';'
Delimiter ',' + WktWhiteSpace
Open Parenthesis '('
Close Parenthesis ');
Whitespace ' '
Period/Dot '.'
Adapter from the type washed API to Geometry, where it assumes that coord1 is X.
The pipeline to redirect the calls to
Constructor
The pipeline to redirect the calls to
Set the coordinate system based on the given ID
The coordinate system ID to set. Null indicates the default should be used
Setup the pipeline for reuse
Begin drawing a spatial object
The spatial type of the object
Begin drawing a figure
1st Coordinate
2nd Coordinate
3rd Coordinate
4th Coordinate
Draw a line to a point in the specified coordinate
1st Coordinate
2nd Coordinate
3rd Coordinate
4th Coordinate
Ends the current figure
Ends the current spatial object
Gets a value indicating whether this instance is geography.
true if this instance is geography; otherwise, false.
Semantically validate a GeoData
Grammar, states, and actions:
:= SetSRID { Finish }
:= (Begin_Point | ... | Begin_FullGlobe (: verify depth = 1 :) )
:= [ BeginFigure 1 EndFigure ] 2 End
:= [ BeginFigure 1 { LineTo } EndFigure (: verify 2+ points :) ] 2 End
:= { BeginFigure 1 { LineTo } EndFigure (: verify 4+ points and closed :) } End
:= { { SetSRID } Begin_Point } End
:= { { SetSRID } Begin_LineString } End
:= { { SetSRID } Begin_Polygon } End
:= { { SetSRID } } End
:= End
:= [ BeginFigure 1 { AddCircularArc } EndFigure ] 2 End
:= [ BeginFigure 1 { LineTo | AddCircularArc } EndFigure ] | 2 End
:= { } EndFigure
:= AddSegmentLine 0 BeginFigure { LineTo } | AddSegmentArc 0 BeginFigure { AddCircularArc }
:= AddSegmentLine { LineTo } | AddSegmentArc { AddCircularArc }
:= { | | EndFigure (: verify closed and three distinct :)} End
:= BeginFigure 1 { LineTo | AddCircularArc }
:= StartSimpleRing 0
:= { }
:= AddSegmentLine 0 BeginFigure { LineTo } | AddSegmentArc 0 BeginFigure { AddCircularArc }
:= AddSegmentLine { LineTo } | AddSegmentArc { AddCircularArc }
]]>
Max value for Longitude
~263 radians converted to degrees
Max value for latitude
The DrawBoth derived instance of the geography Validator that is nested in this class
The DrawBoth derived instance of the geometry Validator that is nested in this class
Gets the draw geography.
Gets the draw geometry.
this is the actual validator, and derived from DrawBoth
while the real SpatialValidator derives from DrawSpatial.
We simple create an instance of this nested class and pass back
the DrawGeometry, and DrawGeography when the outter classes DataSpatial
properties are accessed.
Geometry Functional Specification 3.2.3.4
Max Geometry Collection Depth
Set coordinate system
BeginGeo
Starting a point
Building a point
Ending a point
Starting a LineString
Building a LineString
Ending a LineString
Starting a Polygon
Building a Polygon
Starting a MultiPoint
Starting a LineString
Starting a MultiPolygon
Starting a Collection
Starting a FullGlobe
States
CoordinateSystem
Number of rings in a polygon
First point's X coordinate
First point's Y coordinate
Last point's X coordinate
Last point's Y coordinate
we are validating a geography stream
Number of points in the GeoData