System.Spatial Helper methods that provide a common API surface on all platforms. Use this instead of Type.EmptyTypes. Use this instead of Uri.UriSchemeHttp. Use this instead of Uri.UriSchemeHttps. Replacement for Type.Assembly. Type on which to call this helper method. See documentation for property being accessed in the body of the method. Replacement for Type.IsValueType. Type on which to call this helper method. See documentation for property being accessed in the body of the method. Replacement for Type.IsGenericParameter. Type on which to call this helper method. See documentation for property being accessed in the body of the method. Replacement for Type.IsAbstract. Type on which to call this helper method. See documentation for property being accessed in the body of the method. Replacement for Type.IsGenericType. Type on which to call this helper method. See documentation for property being accessed in the body of the method. Replacement for Type.IsGenericTypeDefinition. Type on which to call this helper method. See documentation for property being accessed in the body of the method. Replacement for Type.IsVisible. Type on which to call this helper method. See documentation for property being accessed in the body of the method. Replacement for Type.IsInterface. Type on which to call this helper method. See documentation for property being accessed in the body of the method. Replacement for Type.IsClass. Type on which to call this helper method. See documentation for property being accessed in the body of the method. Replacement for Type.IsEnum. Type on which to call this helper method. See documentation for property being accessed in the body of the method. Replacement for Type.BaseType. Type on which to call this helper method. See documentation for property being accessed in the body of the method. Replacement for Type.ContainsGenericParameters. Type on which to call this helper method. See documentation for property being accessed in the body of the method. Replacement for Array.AsReadOnly(T[]). Type of items in the array. Array to use to create the ReadOnlyCollection. ReadOnlyCollection containing the specified array items. Converts a string to a DateTime. String to be converted. See documentation for method being accessed in the body of the method. Converts a string to a DateTimeOffset. String to be converted. See documentation for method being accessed in the body of the method. Adds the seconds padding as zeros to the date time string if seconds part is missing. String that needs seconds padding DateTime string after adding seconds padding Converts the DateTime to a string, internal method. DateTime to convert to String. Converted String. Converts a DateTime to a string. DateTime to be converted. See documentation for property being accessed in the body of the method. Gets the specified type. Name of the type to get. Throws if the type could not be found. Type instance that represents the specified type name. Gets the TypeCode for the specified type. Type on which to call this helper method. TypeCode representing the specified type. Gets the Unicode Category of the specified character. Character to get category of. Category of the character. Replacement for usage of MemberInfo.MemberType property. MemberInfo on which to access this method. True if the specified member is a property, otherwise false. Replacement for usage of Type.IsPrimitive property. Type on which to access this method. True if the specified type is primitive, otherwise false. Replacement for usage of Type.IsSealed property. Type on which to access this method. True if the specified type is sealed, otherwise false. Replacement for usage of MemberInfo.MemberType property. MemberInfo on which to access this method. True if the specified member is a method, otherwise false. Compares two methodInfos and returns true if they represent the same method. Need this for Windows Phone as the method Infos of the same method are not always instance equivalent. MemberInfo to compare. MemberInfo to compare. True if the specified member is a method, otherwise false. Gets public properties for the specified type. Type on which to call this helper method. True if method should return only instance properties, false if it should return both instance and static properties. Enumerable of public properties for the type. Gets public properties for the specified type. Type on which to call this helper method. True if method should return only instance properties, false if it should return both instance and static properties. True if method should return only properties that are declared on the type, false if it should return properties declared on the type as well as those inherited from any base types. Enumerable of public properties for the type. Gets instance constructors for the specified type. Type on which to call this helper method. True if method should return only public constructors, false if it should return only non-public constructors. Enumerable of instance constructors for the specified type. Gets a instance constructor for the type that takes the specified argument types. Type on which to call this helper method. True if method should search only public constructors, false if it should search only non-public constructors. Array of argument types for the constructor. ConstructorInfo for the constructor with the specified characteristics if found, otherwise null. Tries to the get method from the type, returns null if not found. The type. The name. The parameter types. Returns True if found. Gets a method on the specified type. Type on which to call this helper method. Name of the method on the type. True if method should search only public methods, false if it should search only non-public methods. True if method should search only static methods, false if it should search only instance methods. MethodInfo for the method with the specified characteristics if found, otherwise null. Gets a method on the specified type. Type on which to call this helper method. Name of the method on the type. Argument types for the method. True if method should search only public methods, false if it should search only non-public methods. True if method should search only static methods, false if it should search only instance methods. MethodInfo for the method with the specified characteristics if found, otherwise null. Gets all public static methods for a type. Type on which to call this helper method. Enumerable of all public static methods for the specified type. Replacement for Type.GetNestedTypes(BindingFlags.NonPublic) Type on which to call this helper method. All types nested in the current type Creates a Compiled Regex expression Pattern to match. Options to use. Regex expression to match supplied patter Is marked as compiled option only in platforms otherwise RegexOption.None is used Formatter for Json Object Represents a formatter for Json object. Creates the implementation of the formatter. The created implementation. Reads from the source. The object that was read. The source json object. The spatial type to read. Converts spatial value to a Json object. The json object. The spatial value. The implementation that created this instance. Spatial builder The parse pipeline Constructor The SpatialImplementation that created this instance Read from the source The spatial type to read The source json object The read instance Convert spatial value to a Json Object The spatial value The json object Initialize the pipeline Convert Spatial objects into json writer Base Writer for GeoJson Base class to create a unified set of handlers for Geometry and Geography Performs an implicit conversion from to . The instance to convert. The result of the conversion. Draw a point in the specified coordinate Next position The position to be passed down the pipeline Draw a point in the specified coordinate Next position The position to be passed down the pipeline Begin drawing a figure Next position The position to be passed down the pipeline Begin drawing a figure Next position The position to be passed down the pipeline Begin drawing a spatial object The spatial type of the object The type to be passed down the pipeline Begin drawing a spatial object The spatial type of the object The type to be passed down the pipeline Ends the current figure Ends the current spatial object Ends the current spatial object Setup the pipeline for reuse Set the coordinate system The CoordinateSystem the coordinate system to be passed down the pipeline Gets the draw geography. Gets the draw geometry. This class is responsible for taking the calls to DrawGeography and delegating them to the unified handlers Represents the pipeline of geography. Begins drawing a spatial object. The spatial type of the object. Begins drawing a figure. The position of the figure. Draws a point in the specified coordinate. The position of the line. Ends the current figure. Ends the current spatial object. Sets the coordinate system. The coordinate system to set. Resets the pipeline. the DrawBoth instance that should be delegated to Initializes a new instance of the class. The both. Draw a point in the specified coordinate Next position Begin drawing a figure Next position Begin drawing a spatial object The spatial type of the object Ends the current figure Ends the current spatial object Setup the pipeline for reuse Set the coordinate system The CoordinateSystem This class is responsible for taking the calls to DrawGeometry and delegating them to the unified handlers Represents the pipeline of geometry. Begins drawing a spatial object. The spatial type of the object. Begins drawing a figure. The position of the figure. Draws a point in the specified coordinate. The position of the line. Ends the current figure. Ends the current spatial object. Sets the coordinate system. The coordinate system to set. Resets the pipeline. the DrawBoth instance that should be delegated to Initializes a new instance of the class. The both. Draw a point in the specified coordinate Next position Begin drawing a figure Next position Begin drawing a spatial object The spatial type of the object Ends the current figure Ends the current spatial object Setup the pipeline for reuse Set the coordinate system The CoordinateSystem Stack to track the current type being written. CoordinateSystem for the types being written. Figure added in current shape Creates a new instance of the GeoJsonWriter. Draw a point in the specified coordinate Next position The position to be passed down the pipeline Draw a point in the specified coordinate Next position The position to be passed down the pipeline Begin drawing a spatial object The spatial type of the object The type to be passed down the pipeline Begin drawing a spatial object The spatial type of the object The type to be passed down the pipeline Begin drawing a figure Next position The position to be passed down the pipeline Begin drawing a figure Next position The position to be passed down the pipeline Ends the current figure Ends the current spatial object Ends the current spatial object Set the coordinate system The CoordinateSystem the coordinate system to be passed down the pipeline Setup the pipeline for reuse Add a property name to the current json object The name to add Add a value to the current json scope The value to add Add a value to the current json scope The value to add Start a new json object scope Start a new json array scope End the current json object scope End the current json array scope Setup the pipeline for reuse Gets the GeoJson type name to use when writing the specified type. SpatialType being written. GeoJson type name corresponding to the specified . Gets the name of the GeoJson member to use when writing the body of the spatial object. SpatialType being written. Name of the GeoJson member to use when writing the body of the spatial object. Whether or not the specified type wraps its data in an outer array. SpatialType being written. True if the type uses an outer array, otherwise false. Sets the CoordinateSystem for Geography and Geometry shapes. CoordinateSystem value to set. Start writing a Geography or Geometry shape. SpatialType to use when writing the shape. Default CoordinateSystem to use if SetCoordinateSystem is never called on this shape. Write the type header information for a shape. SpatialType being written. Start writing a figure in a Geography or Geometry shape. Write a position in a Geography or Geometry figure. First (X/Longitude) Coordinate Second (Y/Latitude) Coordinate Z Coordinate M Coordinate Ends a Geography or Geometry figure. Ends a Geography or Geometry shape. Writes the coordinate reference system footer for the GeoJson object. True if the shape should write start and end object scope, otherwise false. True if the shape is not a child of another shape. True if the shape should write start and end object scope, otherwise false. Stack of json objects Buffered key of the current name-value pair Stores the last object fully serialized Start a new json object scope Start a new json array scope Add a property name to the current json object The name to add Add a value to the current json scope The value to add Add a value to the current json scope The value to add End the current json array scope End the current json object scope Add an json object to the current scope The json object Return the current property name, and clear the buffer The current property name When inserting to a dictionary, the name-value pair comes across multiple pipeline calls Therefore we need to buffer the name part and wait for the value part. You can get into an incorrect state (caught by asserts) if you add a property name without using it immediately next. Access the current container as a List The current container as list Access the current container as a Dictionary The current container as dictionary Get the top level json object Test if the current container is an array Adapter from the type washed API to Geography, where it assumes that coord1 is Latitude. Internal pipeline Inteface that washes the distinction between Geography and Geometry Set the coordinate system based on the given EPSG 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 X or Latitude Coordinate Y or Longitude Coordinate Z Coordinate M Coordinate Add a control point to the current figure First coordinate Second coordinate Third coordinate Fourth 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. 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. Adapter from the type washed API to Geography, where it assumes that coord1 is Longitude. 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. The spatial reader that can read from a pre parsed GeoJson payload Reader to be used by spatial formats The type of source that the reader operates on. Creates a reader the instance of the pipeline that the reader will message while it is reading. Parses some serialized format that represents one or more Geography spatial values, passing the first one down the pipeline. Throws if the input is not valid. In that case, guarantees that it will not pass anything down the pipeline, or will clear the pipeline by passing down a Reset. The input string Parses some serialized format that represents one or more Geometry spatial values, passing the first one down the pipeline. Throws if the input is not valid. In that case, guarantees that it will not pass anything down the pipeline, or will clear the pipeline by passing down a Reset. The input string Sets the reader and underlying Destination back to a clean starting state after an exception Parses some serialized format that represents one or more Geometry spatial values, passing the first one down the pipeline. Throws if the input is not valid. In that case, guarantees that it will not pass anything down the pipeline, or will clear the pipeline by passing down a Reset. The input string Parses some serialized format that represents one or more Geography spatial values, passing the first one down the pipeline. Throws if the input is not valid. In that case, guarantees that it will not pass anything down the pipeline, or will clear the pipeline by passing down a Reset. The input string The pipeline that is messaged while the reader is reading. Initializes a new instance of the class. The pipeline. Parses some serialized format that represents a geography value, passing the result down the pipeline. The jsonObject to read from. Parses some serialized format that represents a geometry value, passing the result down the pipeline. The jsonObject to read from. A common way to call Geography and Geometry pipeline apis from the structured Json Pipeline to use for the output of the translation of the GeoJSON object into pipeline method calls. Initializes a new instance of the class. Spatial pipeline that will receive the pipeline method calls. Translates a dictionary of parsed GeoJSON members and values into method calls on the spatial pipeline. Dictionary containing GeoJSON members and values. Coordinate System must be set for this pipeline Iterates over an object array, verifies that each element in the array is another array, and calls a delgate on the contained array. Array to iterate over. Delegate to invoke for each element once it has been validated to be an array. Convert an object to a nullable double value. Object to convert. If the specified element was null, returns null, otherwise returns the converted double value. Convert an object to a non-null double value. Object to convert. Converted double value. Values as json array. The value. The value cast as a json array. Values as json object. The value. The value cast as IDictionary<string, object> Values as string. Name of the property. The value. The value cast as a string. Get the type member value from the specified GeoJSON member dictionary. Dictionary containing the GeoJSON members and their values. SpatialType for the GeoJSON object. Tries to get a coordinate system id from the geo json object's 'crs' property The geo json object. The coordinate system id. True if the object had a coordinate system Gets the coordinate system ID from a representation of the CRS object The parsed representation of the CRS object. The coordinate system ID Get the designated member value from the specified GeoJSON member dictionary. Dictionary containing the GeoJSON members and their values. The member's tag name Member value for the GeoJSON object. This method assumes a non forward only enumerable The enumerable to check true if there is at least one element Reads GeoJson 'type' value and maps it a valid SpatialType. The GeoJson standard type name SpatialType corresponding to the GeoJson type name. Sends a shape to the spatial pipeline. SpatialType of the shape. Content member for the shape Translates the coordinates member value into method calls on the spatial pipeline. SpatialType of the GeoJSON object. Coordinates value of the GeoJSON object, or inner geometries for collection Translates the coordinates member value of a Point object into method calls on the spatial pipeline. Parsed coordinates array. Translates the coordinates member value of a LineString object into method calls on the spatial pipeline. Parsed coordinates array. Translates the coordinates member value of a Polygon object into method calls on the spatial pipeline. Parsed coordinates array. Translates the coordinates member value of a MultiPoint, MultiLineString, or MultiPolygon object into method calls on the spatial pipeline. Type of the shape contained in the Multi shape. Parsed coordinates array. Translates an array of positions into method calls on the spatial pipeline. List containing the positions. Translates an individual position into a method call on the spatial pipeline. List containing elements of the position. True if the position is the first one being written to a figure, otherwise false. A key consisting of multiple fields The type of the first field. The type of the second field. The first field The second field Initializes a new instance of the class. The first. The second. Implements the operator ==. The left. The right. The result of the operator. Implements the operator !=. The left. The right. The result of the operator. Indicates whether the current object is equal to another object of the same type. An object to compare with this object. true if the current object is equal to the parameter; otherwise, false. Determines whether the specified is equal to this instance. The to compare with this instance. true if the specified is equal to this instance; otherwise, false. The parameter is null. Returns a hash code for this instance. A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. Represents the extensions to formatters. Writes the specified formatter. A string value of the formatted object. The formatter. The spatial object. Writes the specified formatter. A string value of the formatted object. The formatter. The spatial object. Represents the full globe of geography. Represents the geography surface. Represents a base class of geography shapes. Represents the spatial interface. Gets the coordinate system. The coordinate system. Gets a value that indicates whether the spatial type is empty. true if the spatial type is empty; otherwise, false. The implementation that created this instance The CoordinateSystem of this geography Initializes a new instance of the class. The coordinate system of this geography. The implementation that created this instance. Sends the current spatial object to the given pipeline. The spatial pipeline. Computes the hashcode for the given CoordinateSystem and the fields Spatial type instances or doubles for base types (Geography/Geometry types). CoordinateSystem instance. Spatial type instances or doubles for base types (Geography/Geometry types). hashcode for the CoordinateSystem instance and Spatial type instances. Check for basic equality due to emptyness, nullness, referential equality and difference in coordinate system The other geography Boolean value indicating equality, or null to indicate inconclusion Gets the coordinate system of the geography. The coordinate system of the geography. Gets a value that indicates whether the geography is empty. true if the geography is empty; otherwise, false. Gets the implementation that created this instance. Initializes a new instance of the class. The coordinate system of this instance. The implementation that created this instance. Initializes a new instance of the class. The coordinate system of this instance. The implementation that created this instance. Determines whether this instance and another specified geography instance have the same value. true if the value of the value parameter is the same as this instance; otherwise, false. The geography to compare to this instance. Determines whether this instance and the specified object have the same value. true if the value of the value parameter is the same as this instance; otherwise, false. The object to compare to this instance. Gets the hash code. The hash code. Represents the curve of geography. Initializes a new instance of the class. The coordinate system of this geography curve. The implementation that created this instance. Represents a geography line string consist of an array of geo points. Initializes a new instance of the class. The coordinate system of this instance. The implementation that created this instance. Determines whether this instance and another specified geography instance have the same value. true if the value of the value parameter is the same as this instance; otherwise, false. The geography to compare to this instance. Determines whether this instance and the specified object have the same value. true if the value of the value parameter is the same as this instance; otherwise, false. The object to compare to this instance. Gets the hash code. The hash code. Gets the point list. The point list. Represents the multi-curve of geography. Represents the collection of geographies. Initializes a new instance of the class. The coordinate system of this geography collection. The implementation that created this instance. Determines whether this instance and another specified geography instance have the same value. true if the value of the value parameter is the same as this instance; otherwise, false. The geography to compare to this instance. Determines whether this instance and the specified object have the same value. true if the value of the value parameter is the same as this instance; otherwise, false. The object to compare to this instance. Gets the hash code. The hash code. Gets the collection of geographies. The collection of geographies. Initializes a new instance of the class. The coordinate system of this instance. The implementation that created this instance. Represents the multi-line string of geography. Initializes a new instance of the class. The coordinate system of this instance. The implementation that created this instance. Determines whether this instance and another specified geography instance have the same value. true if the value of the value parameter is the same as this instance; otherwise, false. The geography to compare to this instance. Determines whether this instance and the specified object have the same value. true if the value of the value parameter is the same as this instance; otherwise, false. The object to compare to this instance. Gets the hash code. The hash code. Gets the line strings. A collection of line strings. Represents the multi-point of geography. Initializes a new instance of the class. The coordinate system of this instance. The implementation that created this instance. Determines whether this instance and another specified geography instance have the same value. true if the value of the value parameter is the same as this instance; otherwise, false. The geography to compare to this instance. Determines whether this instance and the specified object have the same value. true if the value of the value parameter is the same as this instance; otherwise, false. The object to compare to this instance. Gets the hash code. The hash code. Gets a collection of points. A collection of points. Represents the multi-polygon of geography. Represents the multi-surface of geography. Initializes a new instance of the class. The coordinate system of this instance. The implementation that created this instance. Initializes a new instance of the class. The coordinate system of this instance. The implementation that created this instance. Determines whether this instance and another specified geography instance have the same value. true if the value of the value parameter is the same as this instance; otherwise, false. The geography to compare to this instance. Determines whether this instance and the specified object have the same value. true if the value of the value parameter is the same as this instance; otherwise, false. The object to compare to this instance. Gets the hash code. The hash code. Gets a collection of polygons. A collection of polygons. Represents a geography point. Initializes a new instance of the class. The coordinate system of this instance. The implementation that created this instance. Creates a geography point using the specified latitude and longitude. The geography point that was created. The latitude. The longitude. Creates a geography point using the specified latitude, longitude and dimension. The geography point that was created. The latitude. The longitude. The z dimension. Creates a geography point using the specified latitude, longitude and dimensions. The geography point that was created. The latitude. The longitude. The z dimension. The m dimension. Creates a geography point using the specified coordinate system, latitude, longitude and dimensions. The geography point that was created. The coordinate system to use. The latitude. The longitude. The z dimension. The m dimension. Determines whether this instance and another specified geography instance have the same value. true if the value of the value parameter is the same as this instance; otherwise, false. The geography to compare to this instance. Determines whether this instance and the specified object have the same value. true if the value of the value parameter is the same as this instance; otherwise, false. The object to compare to this instance. Gets the hash code. The hash code. Gets the latitude. The latitude. Gets the longitude. The longitude. Gets the nullable Z. The nullable Z. Z is the altitude portion of position. Gets the nullable M. The nullable M. M is the arbitrary measure associated with a position. Represents the geography polygon. Initializes a new instance of the class. The coordinate system of this instance. The implementation that created this instance. Determines whether this instance and another specified geography instance have the same value. true if the value of the value parameter is the same as this instance; otherwise, false. The geography to compare to this instance. Determines whether this instance and the specified object have the same value. true if the value of the value parameter is the same as this instance; otherwise, false. The object to compare to this instance. Gets the hash code. The hash code. Gets a collection of rings. A collection of rings. Represents the geometry collection. Represents the base class of geography shapes. The implementation that created this instance. The CoordinateSystem of this geometry Initializes a new instance of the class. The coordinate system of this instance. The implementation that created this instance. Sends the current spatial object to the given pipeline. The spatial pipeline. Check for basic equality due to emptyness, nullness, referential equality and difference in coordinate system The other geography Boolean value indicating equality, or null to indicate inconclusion Gets the SRID of this instance of geometry. The SRID of this instance of geometry. Gets a value that indicates whether geometry is empty. true if the geometry is empty; otherwise, false. Gets the implementation that created this instance. Initializes a new instance of the class. The coordinate system of this instance. The implementation that created this instance. Determines whether this instance and another specified geometry instance have the same value. true if the value of the value parameter is the same as this instance; otherwise, false. The geometry to compare to this instance. Determines whether this instance and the specified object have the same value. true if the value of the value parameter is the same as this instance; otherwise, false. The object to compare to this instance. Gets the hash code. The hash code. Gets the geometry instances in this collection. A collection of geometries. Represents the geometry curve. Initializes a new instance of the class. The coordinate system of this instance. The implementation that created this instance. Represents the geometry line string. Initializes a new instance of the class. The coordinate system of this instance. The implementation that created this instance. Determines whether this instance and another specified geometry instance have the same value. true if the value of the value parameter is the same as this instance; otherwise, false. The geometry to compare to this instance. Determines whether this instance and the specified object have the same value. true if the value of the value parameter is the same as this instance; otherwise, false. The object to compare to this instance. Gets the hash code. The hash code. Gets the point list. The point list. Represents the geometry multi-curve. Initializes a new instance of the class. The coordinate system of this instance. The implementation that created this instance. Represents the geometry multi-line string. Initializes a new instance of the class. The coordinate system of this instance. The implementation that created this instance. Determines whether this instance and another specified geometry instance have the same value. true if the value of the value parameter is the same as this instance; otherwise, false. The geometry to compare to this instance. Determines whether this instance and the specified object have the same value. true if the value of the value parameter is the same as this instance; otherwise, false. The object to compare to this instance. Gets the hash code. The hash code. Gets a collection of line strings. A collection of line strings. Represents the geometry multi-point. Initializes a new instance of the class. The coordinate system of this instance. The implementation that created this instance. Determines whether this instance and another specified geometry instance have the same value. true if the value of the value parameter is the same as this instance; otherwise, false. The geometry to compare to this instance. Determines whether this instance and the specified object have the same value. true if the value of the value parameter is the same as this instance; otherwise, false. The object to compare to this instance. Gets the hash code. The hash code. Gets a collection of points. A collection of points. Represents the geometry multi-polygon. Represents the geometry multi-surface. Constructor The CoordinateSystem The implementation that created this instance. Initializes a new instance of the class. The coordinate system of this instance. The implementation that created this instance. Determines whether this instance and another specified geometry instance have the same value. true if the value of the value parameter is the same as this instance; otherwise, false. The geometry to compare to this instance. Determines whether this instance and the specified object have the same value. true if the value of the value parameter is the same as this instance; otherwise, false. The object to compare to this instance. Gets the hash code. The hash code. Gets a collection of polygons. A collection of polygons. Represents the Geometry Point. Initializes a new instance of the class. Empty Point constructor. The CoordinateSystem. The implementation that created this instance. Creates the specified latitude. The GeographyPoint that was created. The x dimension. The y dimension. Creates the specified latitude. The GeographyPoint that was created. The x dimension. The y dimension. The z dimension. Creates the specified latitude. The GeographyPoint that was created. The x dimension. The y dimension. The z dimension. The m dimension. Creates the specified latitude. The GeographyPoint that was created. The coordinate system to use. The x dimension. The y dimension. The z dimension. The m dimension. Determines whether this instance and another specified geography instance have the same value. true if the value of the value parameter is the same as this instance; otherwise, false. The geography to compare to this instance. Determines whether this instance and another specified geography instance have the same value. true if the value of the value parameter is the same as this instance; otherwise, false. The geography to compare to this instance. Gets the Hashcode. The hashcode. Gets the Latitude. The Latitude. Gets the Longitude. The Longitude. Gets the Nullable Z. The Nullable Z. Z is the altitude portion of position. Gets the Nullable M. The Nullable M. M is the arbitrary measure associated with a position. Represents the Geometry polygon. Represents a geometry surface. Constructor The CoordinateSystem The implementation that created this instance. Initializes a new instance of the class. The CoordinateSystem. The implementation that created this instance. Determines whether this instance and another specified geography instance have the same value. true if the value of the value parameter is the same as this instance; otherwise, false. The geography to compare to this instance. Determines whether this instance and another specified geography instance have the same value. true if the value of the value parameter is the same as this instance; otherwise, false. The geography to compare to this instance. Indicates the Get Hashcode. The hashcode. Gets the set of rings. Provides access to the geography objects that this object constructs. Fires when the provider constructs a geography object. Gets the geography object that was constructed most recently. The geography object that was constructed. Provides access to the geometry objects that this object constructs. Fires when the provider constructs a geometry object. Gets the geometry object that was constructed most recently. The geometry object that was constructed. Provides access to the constructed geography or geometry. The exception that is thrown on an unsuccessful parsing of the serialized format. Creates a new instance of the class. Creates a new instance of the class from a message and previous exception. The message about the exception. The exception that preceeded this one. Creates a new instance of the class from a message. The message about the exception. Creates a new instance of the class from a serialized data. The instance that holds the serialized object data about the exception being thrown. The instance that contains contextual information about the source or destination. Creates a geometry or geography instances from spatial data pipelines. One link of a geospatial pipeline the geography side of the pipeline the geometry side of the pipeline A reference to the begining link of the chain useful for getting the startingLink when creating the chain fluently e.g. new ForwardingSegment(new Node()).ChainTo(new Node()).ChainTo(new Node).StartingLink Initializes a new instance of the class. Initializes a new instance of the class. The geography chain. The geometry chain. Performs an implicit conversion from to . The spatial chain. The result of the conversion. Performs an implicit conversion from to . The spatial chain. The result of the conversion. Adds the next pipeline. The last pipesegment in the chain, usually the one just created. The next pipeline. Gets the geography side of the pipeline. Gets the geometry side of the pipeline. Gets or sets the starting link. The starting link. The builder to be delegated to when this class is accessed from the IGeographyPipeline or IGeographyProvider interfaces. The builder to be delegated to when this class is accessed from the IGeometryPipeline or IGeometryProvider interfaces. Initializes a new instance of the class. The geography input. The geometry input. The geography output. The geometry output. Creates an implementation of the builder. The created SpatialBuilder implementation. Fires when the provider constructs geography object. Fires when the provider constructs geometry object. Gets the geography object that was constructed most recently. The geography object that was constructed. Gets the geometry object that was constructed most recently. The geometry object that was constructed. Represents the base class for all Spatial Formats. The type of reader to be read from. The type of reader to be read from. The implementation that created this instance. Initializes a new instance of the <see cref="T:System.Spatial.SpatialFormatter`2" /> class. The implementation that created this instance. Parses the input, and produces the object. The input. The input to be parsed. The type of object to produce. Parses the input, and produces the object. The input to be parsed. The pipeline to call during reading. The type of object to produce. Creates a valid format from the spatial object. The object that the format is being created for. The stream to write the formatted object to. Creates the writerStream. The writerStream that was created. The stream that should be written to. Reads the Geography from the readerStream and call the appropriate pipeline methods. The stream to read from. The pipeline to call based on what is read. Reads the Geometry from the readerStream and call the appropriate pipeline methods. The stream to read from. The pipeline to call based on what is read. Creates the builder that will be called by the parser to build the new type. The builder that was created. Defines a list of allowed OpenGisTypes types. Unknown Point Line String Polygon Multi-Point Multi-Line-String Multi-Polygon Collection Full Globe Provides a place to add extension methods that work with ISpatial. Allows the delegation of the call to the proper type (geography or Geometry). The instance that will have SendTo called. The pipeline that the instance will be sent to. Coordinate System Reference Default Geometry Reference Default Geography Reference (SRID 4326, WGS84) List of registered references A lock object for the References static dict The shape of the space that this coordinate system measures. Initializes a static instance of the class. Initializes a new instance of the class. The coordinate system ID, according to the EPSG The Name of the system The topology of this coordinate system Gets or creates a Geography coordinate system with the ID, or the default if null is given. The coordinate system. The coordinate system id, according to the EPSG. Null indicates the default should be returned. Gets or creates a Geometry coordinate system with the ID, or the default if null is given. The coordinate system. The coordinate system id, according to the EPSG. Null indicates the default should be returned. Displays the coordinate system for debugging. The coordinate system, for debugging. Displays a string that can be used with extended WKT. String representation in the form of SRID=#; Indicates the Equals overload. True if equal. The other CoordinateSystem. Indicates the Equals overload. True if equal. The other CoordinateSystem. Returns a hash code for this instance. A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. For tests only. Identifies whether the coordinate system is of the designated topology. The expected topology. True if this coordinate system is of the expected topology. Get or create a CoordinateSystem with ID The SRID The topology. A CoordinateSystem object Remember this coordinate system in the references dictionary. The coords. Gets the key for a coordinate system ID topology The key to use with the references dict. Gets the coordinate system ID according to the EPSG, or NULL if this is not an EPSG coordinate system. The coordinate system ID according to the EPSG. Gets the coordinate system Id, no matter what scheme is used. The coordinate system Id. Gets the Name of the Reference. The Name of the Reference. The shapes of the spaces measured by coordinate systems. Ellipsoidal coordinates Planar coordinates This class is responsible for executing an action the first time dispose is called on it. The action to be executed on dispose Constructs an instance of the ActonOnDispose object the action to be execute on dispose The dipose method of the IDisposable insterface The object to move spatial types to and from the GML format Initializes a new instance of the class. The implementation that created this instance. Creates the implementation of the formatter. The created GmlFormatter implementation. The object to move spatial types to and from the WellKnownTextSql format Initializes a new instance of the class. The implementation that created this instance. Creates the implementation of the formatter. Returns the created WellKnownTextSqlFormatter implementation. Creates the implementation of the formatter and checks whether the specified formatter has Z. The created WellKnownTextSqlFormatter. Restricts the formatter to allow only two dimensions. Represents one position in the Geographyal coordinate system lattitude portion of position longitude portion of position arbitrary measure associated with a position altitude portion of position Creates a new instance of the class from components. The latitude portion of a position. The longitude portion of a position. The altitude portion of a position. The arbitrary measure associated with a position. Creates a new instance of the class from components. The latitude portion of a position. The longitude portion of a position. Performs equality comparison. true if each pair of coordinates is equal; otherwise, false. The first position. The second position. Performs inequality comparison. true if left is not equal to right; otherwise, false. The first position. The other position. Performs equality comparison on an object. true if each pair of coordinates is equal; otherwise, false. The object for comparison. Performs equality comparison on a spatial geographic position. true if each pair of coordinates is equal; otherwise, false. The other position. Computes a hash code. A hash code. Formats this instance to a readable string. The string representation of this instance. Gets the latitude portion of a position. The latitude portion of a position. Gets the longitude portion of a position. The longitude portion of a position. Gets the arbitrary measure associated with a position. The arbitrary measure associated with a position. Gets the altitude portion of a position. The altitude portion of a position. Represents one position in the Geometry coordinate system arbitrary measure associated with a position x portion of position y portion of position altitude portion of position Creates a new instance of the from components. The X portion of position. The Y portion of position. The altitude portion of position. The arbitrary measure associated with a position. Creates a new instance of the from components. The X portion of position. The Y portion of position. Performs the equality comparison. true if each pair of coordinates is equal; otherwise, false. The first position. The second position. Performs the inequality comparison. true if left is not equal to right; otherwise, false. The first position. The other position. Performs the equality comparison on an object. true if each pair of coordinates is equal; otherwise, false. The object for comparison. Performs the equality comparison on a spatial geometry position. true if each pair of coordinates is equal; otherwise, false. The other position. Computes a hash code. A hash code. Formats this instance to a readable string. The string representation of this instance. Gets the arbitrary measure associated with a position. The arbitrary measure associated with a position. Gets the X portion of position. The X portion of position. Gets the Y portion of position. The Y portion of position. Gets the altitude portion of position. The altitude portion of position. Base class for Spatial Type Validator implementations Creates the currently registered SpatialValidator implementation. The created SpatialValidator. Extension methods for the Geography operations Determines the distance of the geography. The operation result. The first operand. The second operand. Determines the Length of the geography LineString. The operation result. The LineString operand. Determines if geography point and polygon will intersect. The operation result. The first operand. The second operand. Finds the ops instance registered for the operands. The operands. The ops value, or null if any operand is null Extension methods for the Geography operations Determines the distance of the geometry. The operation result. The first operand. The second operand. Determines the Length of the geometry LineString. The operation result. The LineString operand. Determines if geometry point and polygon will intersect. The operation result. The first operand, point. The second operand, polygon. Finds the ops instance registered for the operands. The operands. The ops value, or null if any operand is null Queue where things are seen in highest priority (highest compare) order The type of the values stored in priority order The list of queued items. This is non-generic to avoid issues with the NetCF's reflection stack. Initializes a new instance of the PriorityQueue class DEVNOTE: this is only here for the FxCop suppression. Returns the top queue value without removing it. The top value of the queue Adds a new value to the queue by priority. The priority of the new item to add. The new item being added. Returns a value indicating whether there is already an item with the given priority in the queue The priority to check Whether or not an item with the given priority is in the queue Removes the item with the priority specified from the queue The priority of the item to be removed from the queue The value of the removed item. Gets the number of items in the queue Class responsible for knowing how to create the Geography and Geometry builders for a particular implemenation of Spatial types Default Spatial Implementation. Creates a SpatialBuilder for this implementation. The SpatialBuilder created. Creates a Formatter for Json Object. The JsonObjectFormatter created. Creates a GmlFormatter for this implementation. The GmlFormatter created. Creates a WellKnownTextSqlFormatter for this implementation. The WellKnownTextSqlFormatter created. Creates a WellKnownTextSqlFormatter for this implementation. The WellKnownTextSqlFormatter created. Controls the writing and reading of the Z and M dimension. Creates a spatial Validator. The SpatialValidator created. This method throws if the operations instance is null. It returns a non-null operations implementation. a SpatialOperations implementation. Returns an instance of SpatialImplementation that is currently being used. Gets or sets the Spatial operations implementation. Class responsible for knowing how to perform operations for a particular implemenation of Spatial types Indicates the Geometry Distance. The operation result. The Operand 1. The Operand 2. Indicates a Geography Distance. The operation result. The Operand 1. The Operand 2. Indicates the Geometry LineString's length. The operation result. The Operand. Indicates a Geography LineString's length. The operation result. The Operand. Indicates the Geometry Intersects() method. The operation result. The Operand 1, point. The Operand 2, polygon. Indicates a Geography Intersects() method. The operation result. The Operand 1, point. The Operand 2, polygon. This class holds extension methods for objects that have new capabilities in newer versions of .net, and this lets us make the calls look the same and reduces the #if noise StringBuilder didn't have a clear method in Orcas, so we added and extension method to give it one. The StringBuilder instance to clear. The object to move spatial types to and from the WellKnownTextSql format restricts the writer and reader to allow only two dimensions. Initializes a new instance of the class. The implementation that created this instance. Initializes a new instance of the class. The implementation that created this instance. restricts the reader to allow only two dimensions. Create the writer The object that should be the target of the ISpatialPipeline writer. A writer that implements ISpatialPipeline. Reads the geography. The reader stream. The pipeline. Reads the geometry. The reader stream. The pipeline. Gml Writer The underlying writer Stack of spatial types currently been built If an SRID has been written already. The Coordinate System to write Figure has been written to the current spatial type Whether there are shapes written in the current container Constructor The Xml Writer to output to Begin drawing a spatial object The spatial type of the object The type to be passed down the pipeline Draw a point in the specified coordinate Next position The position to be passed down the pipeline Ends the current spatial object Begin drawing a spatial object The spatial type of the object The type to be passed down the pipeline Draw a point in the specified coordinate Next position The position to be passed down the pipeline Ends the current spatial object Set the coordinate system The CoordinateSystem The coordinateSystem to be passed down the pipeline Begin drawing a figure Next position The position to be passed down the pipeline Begin drawing a figure Next position The position to be passed down the pipeline Ends the current figure Setup the pipeline for reuse Begin a figure The first coordinate The second coordinate The optional third coordinate The optional fourth coordinate Begin drawing a spatial object The spatial type of the object Write the element with namespaces The element name Write coordinate system Write a Point The first coordinate The second coordinate The optional third coordinate The optional fourth coordinate End Geography/Geometry The object to move spatial types to and from the GML format Initializes a new instance of the class. The implementation that created this instance. Create the writer The object that should be the target of the ISpatialPipeline writer. A writer that implements ISpatialPipeline. Reads the geography. The reader stream. The pipeline. Reads the geometry. The reader stream. The pipeline. WellKnownText Lexer Lexer base Input text Current lexer output Peek lexer output, if this is not null then we have advanced already Constructor The input text Peek one token ahead of the current position The peeked token True if there is one more token after the current position, otherwise false Move to the next token True if lexer has moved, otherwise false Examine the current character and determine its token type The char that will be read next The currently active token type The matched token type Whether the current character is a delimiter, thereby terminate the current token immediately Current token Constructor Input text Examine the current character and determine its token type The next char that will be read. The currently active token type The matched token type Whether the current character is a delimiter, thereby terminate the current token immediately WellKnownText Lexer Token Type A-Z only support upper case text. i.e., POINT() instead of Point() or point() character '=' characters '0' to '9' character ';' character '(' character ')' character '.' character ',' character ' ', '\t' Class responsible for knowing how to create the Geography and Geometry builders for the data services implemenation of Spatial types Creates a SpatialBuilder for this implemenation The SpatialBuilder created. Creates a GmlFormatter for this implementation The GmlFormatter created. Creates a GeoJsonObjectFormatter for this implementation The GeoJsonObjectFormatter created. Creates a WellKnownTextSqlFormatter for this implementation The WellKnownTextSqlFormatter created. Creates a WellKnownTextSqlFormatter for this implementation Controls the writing and reading of the Z and M dimension The WellKnownTextSqlFormatter created. Creates a SpatialValidator for this implementation The SpatialValidator created. Property used to register Spatial operations implementation. Builder for Geography types The tree builder Constructor The implementation that created this instance. Draw a point in the specified coordinate Next position Begin drawing a figure Next position Begin drawing a spatial object The spatial type of the object Ends the current figure Ends the current spatial object Setup the pipeline for reuse Set the coordinate system The CoordinateSystem Fires when the provider constructs a geography object. Constructed Geography Geography Tree Builder Tree based builder for spatial types Geography or Geometry The figure this builder is currently building Current builder tree root lastConstructed Draw a point in the specified coordinate X or Latitude Coordinate Y or Longitude Coordinate Z Coordinate M Coordinate Begin drawing a figure X or Latitude Coordinate Y or Longitude Coordinate Z Coordinate M Coordinate Begin a new spatial type The spatial type Ends the figure set on the current node Ends the current spatial object Setup the pipeline for reuse Create a new instance of Point Whether the point is empty X Y Z M A new instance of point Create a new instance of T The spatial type to create The arguments A new instance of T Notifies if we just finished building something. Traverses up the tree. Fires when the builder creates a top-level spatial object. Get the constructed spatial instance The constructed spatial instance Gets a value indicating whether this instance is geography. true if this instance is geography; otherwise, false. A spatial instance node in the builder tree Constructor Create a child node The node type The child node Children nodes Instance Parent node Spatial Type The implementation that created this instance. CoordinateSystem for the building geography Initializes a new instance of the class. The implementation that created this instance. Set the coordinate system based on the given ID The coordinate system ID to set. Null indicates the default should be used Create a new instance of Point Whether the point is empty X Y Z M A new instance of point Create a new instance of T The spatial type to create The arguments A new instance of T Builder for Geometry types The tree builder Constructor The implementation that created this instance. Draw a point in the specified coordinate Next position Begin drawing a figure Next position Begin drawing a spatial object The spatial type of the object Ends the current figure Ends the current spatial object Setup the pipeline for reuse Set the coordinate system The CoordinateSystem Fires when the provider constructs a geometry object. Constructed Geography Geography Tree Builder The implementation that created this instance. CoordinateSystem for the building geography Initializes a new instance of the class. The implementation that created this instance. Set the coordinate system based on the given ID The coordinate system ID to set. Null indicates the default should be used Create a new instance of Point Whether the point is empty X Y Z M A new instance of point Create a new instance of T The spatial type to create The arguments A new instance of T A Geography linestring consist of an array of GeoPoints Points array Constructor CoordinateSystem The implementation that created this instance. The point list Sends the current spatial object to the given sink The spatial pipeline Is LineString Empty Point list Geography 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 sink The spatial pipeline Is MultiLineString Empty Geographies Line Strings Geography 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 sink The spatial pipeline Is MultiPoint Empty Geography Points Geography 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 sink The spatial pipeline Is MultiPolygon Empty Geographies Polygons This class is an implementation of Geography point. Latitude Longitude Z M Point constructor CoordinateSystem The implementation that created this instance. latitude longitude Z M Create a empty point CoordinateSystem The implementation that created this instance. Sends the current spatial object to the given sink The spatial pipeline Latitude Longitude Is Point Empty Nullable Z Nullable M Geography 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 sink The spatial pipeline Is Polygon Empty Set of rings Geography Collection Collection of geography instances Constructor The CoordinateSystem The implementation that created this instance. Collection of geography instances Constructor The implementation that created this instance. Collection of geography instances Sends the current spatial object to the given pipeline The spatial pipeline Is Geography Collection Empty Geographies Helper methods for the geography type. Sends the current spatial object to the given pipeline with a figure that represents this LineString GeographyLineString instance to serialize. The pipeline to populate to Implementation of FullGlobe Constructor The CoordinateSystem The implementation that created this instance. Constructor The implementation that created this instance. Sends the spatial geography object to the given sink The spatial pipeline Is FullGlobe empty Geometry Line String Points array Constructor CoordinateSystem The implementation that created this instance. The point list Constructor The implementation that created this instance. The point list Sends the current spatial object to the given pipeline The spatial pipeline Is LineString Empty Point list 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 Stack depth Constructs a new SpatialValidatorImplementation segment Implemented by a subclass to handle the setting of a coordinate system the new coordinate system the coordinate system to be passed down the pipeline Implemented by a subclass to handle the start of drawing a Geography figure the shape to draw the SpatialType to be passed down the pipeline Implemented by a subclass to handle the end of drawing a Geography figure Implemented by a subclass to handle the start of drawing a Geometry figure the shape to draw the SpatialType to be passed down the pipeline Implemented by a subclass to handle the end of drawing a Geometry figure Implemented by a subclass to handle the start of a figure Next position The position to be passed down the pipeline Implemented by a subclass to handle the start of a figure Next position The position to be passed down the pipeline Implemented by a subclass to handle the end of a figure Implemented by a subclass to return to its initial state Implemented by a subclass to handle the addition of a waypoint to a Geography figure Next position the GeographyPosition to be passed down the pipeline Implemented by a subclass to handle the addition of a waypoint to a Geometry figure Next position the GeometryPosition to be passed down the pipeline Test whether a double is finite The double value True if the input double is not NaN or INF Test whether a point is in valid format The first coordinate The second coordinate The z coordinate The m coordinate Whether the input coordinate is valid Validate one position the first two dimensional co-ordinate the second two dimensional co-ordinate the altitude the measure Validate one Geography position the latitude the longitude the altitude the measure Validate one Geography position the x coordinate the y coordinate the altitude the measure Test whether a latitude value is within acceptable range The latitude value True if the latitude value is within range Test whether a longitude value is within acceptable range The longitude value True if the longitude value is within range Validate a Geography polygon The number of points in the ring its first latitude it first longitued its last latitude its last longitude Validate a Geometry polygon The number of points in the ring its first x it first y its last x its last y Test whether two longitude values are equal Left longitude Right longitude True if the two longitudes are equals Begins the figure. The validate action. The x. The y. The z. The m. Begin drawing a spatial object The spatial type of the object Add a control point to the current figure. the first coordinate the second coordinate Tracks the position. The first. The second. Transit into a new state The state to transit into initialize the object to a fresh clean smelling state Push a new state onto the stack The new state Pop a state from the stack Replace the current state on the stack with the new state The new state Calls to the pipeline interface Represented as state transition Set CoordinateSystem BeginGeo() fake transition, just for exception BeginGeo(point) BeginGeo(LineString) BeginGeo(Polygon) BeginGeo(MultiPoint) BeginGeo(MultiLineString) BeginGeo(MultiPolygon) BeginGeo(Collection) BeginGeo(FullGlobe) BeginFigure LineTo EndFigure EndGeo SpatialValidatorImplementation State Validate a call to the pipeline interface (a state transition) The transition The validator instance Throw an incorrect state exception The expected state The actual state Throw an incorrect state exception The expected state1 The expected state2 The actual state Throw an incorrect state exception The expected state1 The expected state2 The expected state3 The actual state SetCoordinateSystem State Validator is currently waiting for a SetCoordinateSystemCall Validate a call to the pipeline interface (a state transition) The transition The validator instance Beginning a GeoData Validator is currently waiting for a BeginGeo() call Validate a call to the pipeline interface (a state transition) The transition The validator instance Point Start State After BeginGeo(Point), waiting for BeginFigure() or EndGeo() Validate a call to the pipeline interface (a state transition) The transition The validator instance Point Building State After BeginFigure(), waiting for EndFigure() immediately Validate a call to the pipeline interface (a state transition) The transition The validator instance Point End State After EndFigure() for a point, waiting for EndGeo() Validate a call to the pipeline interface (a state transition) The transition The validator instance LineString Start state After BeginGeo(LineString), waiting for BeginFigure/EndGeo Validate a call to the pipeline interface (a state transition) The transition The validator instance LineString Building State After BeginFigure() for a line Waiting for LineTo/EndFigure Validate a call to the pipeline interface (a state transition) The transition The validator instance LineString End State After EndFigure() on Line Waiting for EndGeo Validate a call to the pipeline interface (a state transition) The transition The validator instance PolygonStart State After polygon started, waiting for Rings to build Validate a call to the pipeline interface (a state transition) The transition The validator instance Polygon Building State Drawing rings Validate a call to the pipeline interface (a state transition) The transition The validator instance MultiPoint State Inside a MultiPoint Container Validate a call to the pipeline interface (a state transition) The transition The validator instance MultiLineString State Inside a MultiLineString container Validate a call to the pipeline interface (a state transition) The transition The validator instance MultiPolygon State Inside a MultiPolygon container Validate a call to the pipeline interface (a state transition) The transition The validator instance Collection State Inside a Collection container Validate a call to the pipeline interface (a state transition) The transition The validator instance FullGlobe state Inside a FullGlobe container Validate a call to the pipeline interface (a state transition) The transition The validator instance Extension methods for TextWriter Write a double to a TextWriter ensuring that the value will be roundtrippable thorugh double.parse the writer the double value to be written If the arg is non-null, evaluate the op. Otherwise, propogate the null. The type of the arg. The type of the result. The arg. The op. op(arg) if arg is non-null; null if arg is null. If the arg is non-null, evaluate the op. Otherwise, propogate the null. The type of the arg. The type of the result. The arg. The op. op(arg) if arg is non-null; null if arg is null. Text Lexer Token Test whether this token matches the input criterion The target type The target text, or null The StringComparison True if this token matches the input criterion String representation of this token String representation of this token The Token Text Token Type Reader for Extended Well Known Text, Case sensitive example: SRID=1234;POINT(10.0 20.0 NULL 30.0) restricts the reader to allow only two dimensions. Creates a reader that that will send messages to the destination during read. The instance to message to during read. Initializes a new instance of the class. The destination. if set to true allows only two dimensions. Parses some serialized format that represents a geography value, passing the result down the pipeline. TextReader instance to read from. Parses some serialized format that represents a geometry value, passing the result down the pipeline. TextReader instance to read from. This class parses the text and calls the pipeline based on what is parsed restricts the parser to allow only two dimensions. Text lexer Output pipeline Creates a parser with the given reader and pipeline The reader that is the source of what is parsed. The pipeline to be called as the parser recognizes tokens. if set to true allows only two dimensions. Read WellKnownText into an instance of Geography Test whether the current token matches the expected token The expected token type The expected token text True if the two tokens match Move the lexer to the next non-whitespace token True if the lexer gets a new token Parse Collection Text Parse a LineString text Parse a Multi* text The inner spatial type The inner reader Parse Point Representation Whether this is the first point in the figure Parse a point text Parse a Polygon text Parse an instance of SRID Parse Tagged Text Read a double literal The read double Check to see if the content is EMPTY True if the content is declared as EMPTY Read an integer literal The read integer Read an optional double literal The value that was read. true if a value was read, otherwise returns false Read an optional token. If the read token matches the expected optional token, then consume it. The expected token type The expected token text, or null True if the optional token matches the next token in stream Read and consume a token from the lexer, throw if the read token does not match the expected token The expected token type The expected token text WellKnownText Writer restricts the writer to allow only two dimensions. The underlying writer Stack of spatial types currently been built Detects if a CoordinateSystem (SRID) has been written already. Figure has been written to the current spatial type A shape has been written in the current nesting level Wells the known text SQL format. -- 2D writer The writer. Initializes a new instance of the class. The writer. if set to true allows only two dimensions. Draw a point in the specified coordinate Next position The position to be passed down the pipeline Draw a point in the specified coordinate Next position The position to be passed down the pipeline Begin drawing a spatial object The spatial type of the object The type to be passed down the pipeline Begin drawing a spatial object The spatial type of the object The type to be passed down the pipeline Begin drawing a figure Next position The position to be passed down the pipeline Begin drawing a figure Next position The position to be passed down the pipeline Ends the current figure Ends the current spatial object Ends the current spatial object Set the coordinate system The CoordinateSystem the coordinate system to be passed down the pipeline Setup the pipeline for reuse Write the coordinate system The CoordinateSystem Setup the pipeline for reuse Start to write a new Geography/Geometry The SpatialType to write Adds the control point. The x. The y. The z. The m. Ends the figure. write tagged text for type the spatial type Start to write a figure The coordinate1. The coordinate2. The coordinate3. The coordinate4. End the current Geography/Geometry Write out a point The x coordinate The y coordinate The z coordinate The m coordinate Defines the members that may be found in a GeoJSON object. "type" member in a GeoJSON object. "coordinates" member in GeoJSON object. "geometries" member in GeoJSON object. "crs" member in GeoJSON object. 'properties' member in GeoJSON object 'name' member in GeoJSON object Constants for the GeoJSON format See http://geojson.org/geojson-spec.html for full details on GeoJson format. Name of the type member that identifies the spatial type. Value of the type member for Point values. Value of the type member for LineString values. Value of the type member for Polygon values. Value of the type member for MultiPoint values. Value of the type member for MultiLineString values. Value of the type member for MultiPolygon values. Value of the type member for GeometryCollection values. Name of the coordinates member that contains the spatial data. Name of the geometries member that contains the spatial data. Name of the crs member that contains the coordinate reference system details. Value of the type member inside of the crs object. Name of the name member inside of the properties member in the crs object. Name of the properties member inside of the crs object. Prefix to use when specifying the coordinate reference system inside the crs object. This is a forwarding transform pipe segment The singleton NoOp implementation of the DrawGeography The current drawspatial that will be called and whose results will be forwarded to the next segment The SpatialPipeline to forward the calls to the cached GeographyForwarder for this instance the cached GeometryForwarder for this instance Constructs a new SpatialPipeline segment The DrawSpatial to draw to before calling next. Initializes a new instance of the class. The current geography. The current geometry. Add the next pipeline the next pipleine The last pipesegment in the chain, usually the one just created Run one action on a pipeline what to do at this stage of the pipeline The handler reset. what the rest of the pipeline should do The delegation reset. Run one action on a pipeline The type taken and returned by the transform style methods. what to do at this stage of the pipeline The handler reset. what the rest of the pipeline should do The delegation reset. The argument to pass to both this node and the rest of the pipeline Gets the geography. Gets the geometry. The next geography sink in the pipeline The next geometry sink in the pipeline The forwarding implementation of DrawGeography The ForwardingSegment instance that this pipe is associated with Initializes a new instance of the class. The segment. Set the system reference to be used by this run of the pipeline the coordinate reference system start processing Geography data the sort of Geography data being processed finish processing Geography data Begin drawing a Geography figure Next position Finish drawing a Geography figure Continue drawing a Geography figure Next position Reset the piprline Run one action on a Geography pipeline The type taken and returned by the transform style methods. what to do at this stage of the pipeline what the rest of the pipeline should do The argument to pass to both this node and the rest of the pipeline Run one action on a Geography pipeline what to do at this stage of the pipeline what the rest of the pipeline should do Gets the current DrawGeography from the associated ForwardingSegment instance Gets the next GeographyPipeline from the associated ForwardingSegment instance The forwarding implementation of DrawGeography The ForwardingSegment instance that this pipe is associated with Initializes a new instance of the class. The segment. Set the system reference to be used by this run of the pipeline the coordinate reference system start processing Geometry data the sort of Geometry data being processed finish processing Geometry data Begin drawing a Geometry figure Next position Finish drawing a Geometry figure Continue drawing a Geometry figure Next position Reset the piprline Run one action on a Geography pipeline The type taken and returned by the transform style methods. what to do at this stage of the pipeline what the rest of the pipeline should do The argument to pass to both this node and the rest of the pipeline Run one action on a Geography pipeline what to do at this stage of the pipeline what the rest of the pipeline should do Gets the current DrawGeometry from the associated ForwardingSegment instance Gets the next GeometryPipeline from the associated ForwardingSegment instance A noop implementation of DrawGeography Draw a point in the specified coordinate Next position Begin drawing a figure Next position Begin drawing a spatial object The spatial type of the object Ends the current figure Ends the current spatial object Setup the pipeline for reuse Set the coordinate system The CoordinateSystem a noop implementation of DrawGeometry Draw a point in the specified coordinate Next position Begin drawing a figure Next position Begin drawing a spatial object The spatial type of the object Ends the current figure Ends the current spatial object Setup the pipeline for reuse Set the coordinate system The CoordinateSystem Util class StackOverFlow exception type ThreadAbortException exception type AccessViolationException exception type OutOfMemoryException exception type NullReferenceException exception type SecurityException exception type Check if input is null, throw an ArgumentNullException if it is. The input argument The error to throw Determines if the exception is one of the prohibited types that should not be caught. The exception to be checked against the prohibited list. True if the exception is ok to be caught, false otherwise. A workaround to a problem with FxCop which does not recognize the CheckArgumentNotNull method as the one which validates the argument is not null. This has been suggested as a workaround in msdn forums by the VS team. Note that even though this is production code the attribute has no effect on anything else. Class that contains all the constants for various schemas. Namespace for xmlns Sets public key string for friend assemblies. ProductPublicKey is an official MS supported public key for external releases. TestPublicKey is an unsupported strong key for testing and internal use only Dont know what this is Used for comparison with external assemblies for silverlight like Microsoft.VisualBasic. Used for comparison with external assemblies for desktop like Microsoft.VisualBasic. AutoGenerated resource class. Usage: string s = TextRes.GetString(TextRes.MyIdenfitier); Strongly-typed and parameterized string resources. A string like "The queue doesn't contain an item with the priority {0}." A string like "The value '{0}' is not valid for the coordinate '{1}'." A string like "Incorrect GML Format: The XmlReader instance encountered an unexpected element "{0}"." A string like "Incorrect GML Format: unknown spatial type tag "{0}"." A string like "Incorrect GML Format: a srsName attribute must begin with the namespace "{0}"." A string like "The attribute '{0}' on element '{1}' is not supported." A string like "Expecting token type "{0}" with text "{1}" but found "{2}"." A string like "Unexpected character '{0}' found in text." A string like "Unknown Tagged Text "{0}"." A string like "Invalid spatial data: Invalid spatial type "{0}"." A string like "Invalid spatial data: only {0} levels of nesting are supported in collection types." A string like "Invalid spatial data: the coordinates ({0} {1} {2} {3}) are not valid." A string like "Invalid spatial data: expected call to "{0}" but got call to "{1}"." A string like "Invalid spatial data: expected call to "{0}" or "{1}" but got call to "{2}"." A string like "Invalid latitude coordinate {0}. A latitude coordinate must be a value between -90.0 and +90.0 degrees." A string like "Invalid longitude coordinate {0}. A longitude coordinate must be a value between -15069.0 and +15069.0 degrees" A string like "Invalid GeoJSON. The '{0}' member is required, but was not found." A string like "Invalid GeoJSON. The value '{0}' is not a valid value for the 'type' member." A string like "Invalid GeoJSON. The value '{0}' is not a recognized CRS type." A string like "Invalid GeoJSON. The value '{0}' is not a recognized CRS name." A string like "Cannot read the value '{0}' for the property '{1}' as a quoted JSON string value." A string like "Cannot read the value '{0}' as a JSON object." A string like "The operation is not valid on an empty queue." A string like "An item with the same priority already exists." A string like "No operations are registered. Please provide operations using SpatialImplementation.CurrentImplementation.Operations property." A string like "Access to the coordinate properties of an empty point is not supported." A string like "The builder cannot create an instance until all pipeline calls are completed." A string like "Incorrect GML Format: the XmlReader instance is expected to be at the start of a GML element." A string like "Incorrect GML Format: a LinearRing element must not be empty." A string like "Incorrect GML Format: a pos element must contain at least two coordinates." A string like "Incorrect GML Format: a posList element must contain an even number of coordinates." A string like "The WellKnownTextReader is configured to allow only two dimensions, and a third dimension was encountered." A string like "Invalid spatial data: An instance of spatial type can have only one unique CoordinateSystem for all of its coordinates." A string like "Invalid spatial data: the spatial type "FullGlobe" cannot be part of a collection type." A string like "Invalid spatial data: the spatial type "LineString" must contain at least two points." A string like "Invalid spatial data: the spatial type "FullGlobe" cannot contain figures." A string like "Invalid spatial data: A polygon ring must contain at least four points, and the last point must be equal to the first point." A string like "A geography operation was called while processing a geometric shape." A string like "A geometry operation was called while processing a geographic shape." A string like "Invalid GeoJSON. A position must contain at least two and no more than four elements." A string like "Invalid GeoJSON. A null value was found in an array element where nulls are not allowed." A string like "Invalid GeoJSON. A non-numeric value was found in an array element where a numeric value was expected." A string like "Invalid GeoJSON. A primitive value was found in an array element where an array was expected." Strongly-typed and parameterized exception factory. The exception that is thrown when a null reference (Nothing in Visual Basic) is passed to a method that does not accept it as a valid argument. The exception that is thrown when the value of an argument is outside the allowable range of values as defined by the invoked method. The exception that is thrown when the author has yet to implement the logic at this point in the program. This can act as an exception based TODO tag. The exception that is thrown when an invoked method is not supported, or when there is an attempt to read, seek, or write to a stream that does not support the invoked functionality.