-
Notifications
You must be signed in to change notification settings - Fork 130
Microsoft.Geospatial
The altitude reference system to be used in defining a geographic shape.
public enum Microsoft.Geospatial.AltitudeReference
: Enum, IComparable, IFormattable, IConvertible
Enum
Value | Name | Summary |
---|---|---|
0 |
Ellipsoid | The altitude reference is based on an ellipsoid which is a mathematical approximation of the shape of the Earth. |
1 |
Terrain | The altitude reference is based on distance above terrain or ground level. |
2 |
Surface | The altitude reference is based on the distance above the tallest surface structures, such as buildings, trees, roads, etc., above terrain or ground level. |
Defines a rectangular area in Latitude and Longitude coordinates.
public struct Microsoft.Geospatial.GeoBoundingBox
: IEquatable<GeoBoundingBox>
Properties
Type | Name | Summary |
---|---|---|
LatLon |
BottomLeft | The minimum coordinate for the GeoBoundingBox. |
LatLon |
Center | The center of the GeoBoundingBox. |
IEnumerable<LatLon> |
Corners | Enumerates each of the corners in this box. |
LatLon |
TopRight | The maximum coordinate for the GeoBoundingBox. |
Methods
Type | Name | Summary |
---|---|---|
Boolean |
Equals(Object obj) |
|
Boolean |
Equals(GeoBoundingBox other) |
|
Int32 |
GetHashCode() | |
Boolean |
Intersects(LatLon location) |
Returns true if the specified location is in this GeoBoundingBox or intersects the edge of this GeoBoundingBox. |
Boolean |
Intersects(GeoBoundingBox other) |
Returns true if the specified location is in this GeoBoundingBox or intersects the edge of this GeoBoundingBox. |
Boolean |
Overlaps(IList<LatLon> ring) |
Tests whether this bounding box overlaps the provided polygon. |
Boolean |
Overlaps(LatLon p1, LatLon p2) |
Tests whether this bounding box overlaps the provided polygon. |
MercatorBoundingBox |
ToMercatorBoundingBox() | Returns the Microsoft.Geospatial.MercatorBoundingBox for this Microsoft.Geospatial.GeoBoundingBox . |
String |
ToString() |
Encapsulates logic for building a Microsoft.Geospatial.GeoBoundingBoxBuilder
instance.
public class Microsoft.Geospatial.GeoBoundingBoxBuilder
Properties
Type | Name | Summary |
---|---|---|
Boolean |
IsEmpty | Gets whether or not the box has grown to include anything. |
Methods
Type | Name | Summary |
---|---|---|
void |
Grow(LatLon point) |
Creates the box or increases it to encompass the specified point. |
void |
Grow(Double longitude, Double latitude) |
Creates the box or increases it to encompass the specified point. |
void |
Grow(Single longitude, Single latitude) |
Creates the box or increases it to encompass the specified point. |
void |
Grow(IEnumerable<LatLon> points) |
Creates the box or increases it to encompass the specified point. |
void |
Grow(GeoBoundingBox box) |
Creates the box or increases it to encompass the specified point. |
GeoBoundingBox |
ToGeoBoundingBox() | Gets an immutable box from the builder. |
Interface to read/write types from/to binaries.
public interface Microsoft.Geospatial.IBinarySerializable
Methods
Type | Name | Summary |
---|---|---|
void |
Read(BinaryReader reader) |
Types that get serialized to blob implement this method to hydrate their contents from binary storage. |
void |
Write(BinaryWriter writer) |
Types that get serialized to blob must implement this method to commit their contents to binary storage. |
Represents Latitude + Longitude.
public struct Microsoft.Geospatial.LatLon
: IBinarySerializable, IEquatable<LatLon>
Properties
Type | Name | Summary |
---|---|---|
Boolean |
IsValid | Returns true if the specified coordinate is valid. |
Double |
LatitudeInDegrees | The latitude in degrees. |
Double |
LatitudeInRadians | Gets the longitude value, converted to radians. |
Double |
LongitudeInDegrees | The longitude in degrees. |
Double |
LongitudeInRadians | Gets the latitude value, converted to radians. |
Methods
Type | Name | Summary |
---|---|---|
Boolean |
ApproximatelyEquals(LatLon other, Double tolerance = 1E-09) |
Determines whether two LatLon coordinates are considered equal based on a precision threshold. https://msdn.microsoft.com/en-us/library/ya2zha7s(v=vs.110).aspx The default tolerance is set to 9 decimal places where the precision is approximately equal to 110 microns, since 10 decimal places or more indicates a computer or calculator was used. In our applications, it's likely to have come from calls to SQL MakeValid(). |
Boolean |
Equals(Object obj) |
|
Boolean |
Equals(LatLon other) |
|
Int32 |
GetHashCode() | |
Boolean |
IsOnTheEdgeOfTheWorld() | Check if a vertex lies on the edge of the world, from -180 to 180 longitude, and from -90 to 90 latitude |
Boolean |
Overlaps(IList<LatLon> ring) |
Determines if the point is inside or outside the ring. Uses the crossing count algorithm to count the number of times a horizontal ray from the point crosses the ring. It is assumed that though the ring is closed, it does not duplicate the first vertex. |
void |
Read(BinaryReader reader) |
Hydrate the contents from binary storage. Expected order of data is Longitude, Latitude. |
MercatorCoordinate |
ToMercatorCoordinate() | Returns the Microsoft.Geospatial.MercatorCoordinate from this Microsoft.Geospatial.LatLon . |
String |
ToString() | |
void |
Write(BinaryWriter writer) |
Commit their contents to binary storage. |
Static Fields
Type | Name | Summary |
---|---|---|
Double |
MaximumLatitude | The maximum valid latitude. |
Double |
MaximumLongitude | The maximum valid longitude. |
LatLon |
MaxValue | A Coordinate2D with maximum values for X and Y. |
Double |
MinimumLatitude | The minimum valid latitude. |
Double |
MinimumLongitude | The minimum valid longitude. |
LatLon |
MinValue | A Coordinate2D with minimum values for X and Y. |
LatLon |
Origin | The origin coordinate, (0, 0). |
Int64 |
SizeInBytes | Size of this struct. |
Static Methods
Type | Name | Summary |
---|---|---|
LatLon |
FromRadians(Double latitudeInRadians, Double longitudeInRadians) |
Initializes a new instance of the Microsoft.Geospatial.LatLon struct from radians. |
Double |
Wgs84LatitudeToMercator(Double wgs84LatitudeInRadians) |
Converts from WGS 84 latitudes in radians (-PI/2...PI/2) to Mercator unit latitude value (-0.5...0.5). |
Double |
WrapLongitude(Double longitude) |
Wraps a longitudinal value in degrees to the -180 to 180 range. |
A latitude, longitude, and altitude.
public struct Microsoft.Geospatial.LatLonAlt
: IEquatable<LatLonAlt>
Properties
Type | Name | Summary |
---|---|---|
Double |
AltitudeInMeters | Meters, Z. This is always relative to WGS84 Datum. |
Double |
LatitudeInDegrees | The latitude in degrees. |
Double |
LatitudeInRadians | Gets the longitude value, converted to radians. |
LatLon |
LatLon | Degrees, YX |
Double |
LongitudeInDegrees | The longitude in degrees. |
Double |
LongitudeInRadians | Gets the latitude value, converted to radians. |
Methods
Type | Name | Summary |
---|---|---|
Boolean |
Equals(Object obj) |
|
Boolean |
Equals(LatLonAlt other) |
|
Int32 |
GetHashCode() | |
String |
ToString() |
Defines a rectangular area in Mercator space.
In Mercator space, X coordinates are longitudinal values and Y coordinates are latitudinal values.
The direction that the MercatorBoundingBox wraps longitudinally is determined by the X cordinate of the left and right points. If the BottomLeft X coordinate is greater than the TopRight X coordinate, the MercatorBoundingBox wraps across the anti-meridian.
public struct Microsoft.Geospatial.MercatorBoundingBox
: IEquatable<MercatorBoundingBox>
Properties
Type | Name | Summary |
---|---|---|
MercatorCoordinate |
BottomLeft | The bottom left coordinate of the bounding box. |
MercatorCoordinate |
Center | The center of the box. |
Double |
Height | The height of the bounding box in Mercator space. |
MercatorCoordinate |
TopRight | The top right coordinate of the bounding box. |
Double |
Width | The width of the bounding box in Mercator space. |
Methods
Type | Name | Summary |
---|---|---|
Boolean |
Contains(MercatorBoundingBox& other) |
Returns true if the specified Microsoft.Geospatial.MercatorBoundingBox is completely contained within this box. |
Boolean |
Equals(MercatorBoundingBox other) |
|
Boolean |
Equals(Object obj) |
|
Int32 |
GetHashCode() | |
Boolean |
Intersects(LatLon latLon) |
Returns true if the Microsoft.Geospatial.LatLon intersects the Microsoft.Geospatial.MercatorBoundingBox . |
Boolean |
Intersects(MercatorCoordinate& other) |
Returns true if the Microsoft.Geospatial.LatLon intersects the Microsoft.Geospatial.MercatorBoundingBox . |
Boolean |
Intersects(MercatorBoundingBox& other) |
Returns true if the Microsoft.Geospatial.LatLon intersects the Microsoft.Geospatial.MercatorBoundingBox . |
GeoBoundingBox |
ToGeoBoundingBox() | Converts this MercatorBoundingBox to a lat-lon Box. |
String |
ToString() |
Defines a circle in Mercator space.
public struct Microsoft.Geospatial.MercatorBoundingCircle
: IEquatable<MercatorBoundingCircle>
Properties
Type | Name | Summary |
---|---|---|
MercatorCoordinate |
Center | The center of the circle in Mercator space. |
Double |
Radius | The radius of the circle in Mercator space. |
Methods
Type | Name | Summary |
---|---|---|
Boolean |
Contains(MercatorBoundingBox& mercatorBoundingBox) |
Returns true if the Microsoft.Geospatial.MercatorBoundingBox is completely contained within this Microsoft.Geospatial.MercatorBoundingCircle . |
Boolean |
Equals(MercatorBoundingCircle other) |
|
Boolean |
Equals(Object obj) |
|
Int32 |
GetHashCode() | |
Boolean |
Intersects(LatLon latLon) |
Returns true if the Microsoft.Geospatial.LatLon intersects the circle. Handles anti-meridian wrapping. |
Boolean |
Intersects(MercatorCoordinate& mercatorCoordinate) |
Returns true if the Microsoft.Geospatial.LatLon intersects the circle. Handles anti-meridian wrapping. |
Boolean |
Intersects(MercatorBoundingBox& mercatorBoundingBox) |
Returns true if the Microsoft.Geospatial.LatLon intersects the circle. Handles anti-meridian wrapping. |
String |
ToString() |
Represents a coordinate in the Mercator system (EPSG:3857). The latitude and longitude values range from -0.5 to +0.5.
public struct Microsoft.Geospatial.MercatorCoordinate
: IEquatable<MercatorCoordinate>
Properties
Type | Name | Summary |
---|---|---|
Double |
X | The longitude in Mercator space where -0.5 represents -180 degrees, 0 is the prime meridian, and +0.5 represents to 180 degrees. |
Double |
Y | The latitude in Mercator space. Valid range from -0.5 to 0.5, corresponding to Microsoft.Geospatial.MercatorCoordinate.MinimumLatitudeInDegrees and Microsoft.Geospatial.MercatorCoordinate.MaximumLatitudeInDegrees . |
Methods
Type | Name | Summary |
---|---|---|
Boolean |
Equals(MercatorCoordinate other) |
|
Boolean |
Equals(Object obj) |
|
Int32 |
GetHashCode() | |
LatLon |
ToLatLon() | Creates a Microsoft.Geospatial.LatLon from this Microsoft.Geospatial.MercatorCoordinate
|
String |
ToString() | |
MercatorCoordinate |
Wrap() | Wraps the longitudinal value of the Mercator coordinate if it extends outside the range of [-0.5, 0.5]. |
Static Fields
Type | Name | Summary |
---|---|---|
Double |
MaximumLatitudeInDegrees | Minimum valid latitude of the Mercator projection in degrees. |
Double |
MaximumLatitudeInRadians | Maximum valid latitude of the Mercator projection in radians. |
Double |
MinimumLatitudeInDegrees | Minimum valid latitude of the Mercator projection in degrees. |
Double |
MinimumLatitudeInRadians | Minimum valid latitude of the Mercator projection in radians. |
MercatorCoordinate |
Origin | The origin coordinate, (0, 0). |
Static Methods
Type | Name | Summary |
---|---|---|
Double |
Distance(MercatorCoordinate& first, MercatorCoordinate& second) |
The squared distance in Mercator space between the specified coordinates. Does not take into account longitude wrapping. |
Double |
DistanceSq(MercatorCoordinate& first, MercatorCoordinate& second) |
The distance in Mercator space between the specified coordinates. Does not take into account longitude wrapping. |
Double |
MercatorToWgs84LatitudeInRadians(Double mercatorLatitude) |
Converts from Mercator unit latitude value (-0.5...0.5) to WGS 84 latitudes in radians (-PI/2...PI/2). |
Double |
WrapLongitude(Double x) |
Wraps a longitudinal value in Mercator space to the -0.5 to 0.5 range. |
Various helper methods used to compute the scaling factor of the Mercator projection, i.e. the amount of distortion. This varies based on the latitude of the coordinate. The scale of the distortion increases away from the equator and is exterme towards the poles. At Microsoft.Geospatial.MercatorCoordinate.MaximumLatitudeInDegrees
, the distortion is around 11x.
public static class Microsoft.Geospatial.MercatorScale
Static Methods
Type | Name | Summary |
---|---|---|
Double |
AtLatitudeInDegrees(Double latitudeInDegrees) |
Calculates the Mercator scaling factor at the specified latitude in degrees. |
Double |
AtLatitudeInRadians(Double latitudeInRadians) |
Calculates the Mercator scaling factor at the specified latitude in radians. |
Double |
AtLatLon(LatLon latLon) |
Calculates the Mercator scaling factor at the specified Microsoft.Geospatial.LatLon . |
Double |
AtMercatorCoordinate(MercatorCoordinate& mercatorCoordinate) |
Calculates the Mercator scaling factor at the specified Microsoft.Geospatial.MercatorCoordinate . |
Double |
AtMercatorLatitude(Double y) |
Calculates the Mercator scaling factor at the specified latitude in Mercator space. |
Flags enumeration identifying the borders of a tile.
public enum Microsoft.Geospatial.TileBorders
: Enum, IComparable, IFormattable, IConvertible
Enum
Value | Name | Summary |
---|---|---|
0 |
None | No borders |
1 |
East | Eastern (right) border |
2 |
West | Western (left) border |
4 |
North | Northern (top) border |
8 |
South | Southern (bottom) border |
Encompasses a single Tile Id At level of detail 0, there is one tile with a value of 1 (""). At level of detail 1, there are four tiles with values of 4 ("0"), 5 ("1"), 6 ("2"), 7 ("3"). At level of detail 2, there are sixteen tiles with value starting at 16 ("00").
public struct Microsoft.Geospatial.TileId
: IBinarySerializable, IEquatable<TileId>
Properties
Type | Name | Summary |
---|---|---|
Int64 |
Value | Gets or sets the value of this tile. |
Methods
Type | Name | Summary |
---|---|---|
Boolean |
Equals(Object obj) |
See System.Object.Equals(System.Object) . |
Boolean |
Equals(TileId other) |
See System.Object.Equals(System.Object) . |
TileId |
GetEast() | Calculates the Microsoft.Geospatial.TileId to the East of this one, wrapping around the earth. |
Int32 |
GetHashCode() | |
TileId |
GetNorth() | Calculates the Microsoft.Geospatial.TileId to the North of this one. |
TileId |
GetParent() | Calculate the id of the tile that is one level of detail up from this tile. This method will return Microsoft.Geospatial.TileId.Null if the this tile has no parents. |
TileId |
GetSouth() | Calculates the Microsoft.Geospatial.TileId to the South of this one. |
TileId |
GetWest() | Calculates the Microsoft.Geospatial.TileId to the West of this one, wrapping around the earth. |
Boolean |
IsParentOf(TileId tileId) |
Returns whether or not the specified tile id is an immediate or distant child of this tile id. |
Boolean |
IsParentOf(IEnumerable<TileId> tileIds) |
Returns whether or not the specified tile id is an immediate or distant child of this tile id. |
void |
Read(BinaryReader reader) |
|
String |
ToKey() | Gets the tile id as a string grid quadkey. This can be passed into Microsoft.Geospatial.TileId.Parse(System.String) and Microsoft.Geospatial.TileId.TryParse(System.String,Microsoft.Geospatial.TileId@) . |
String |
ToString() | |
Boolean |
TryGetChildren(TileId[]& children) |
Calculate the four child tile ids of this tile id. |
Boolean |
TryGetParent(TileId& parent) |
Try to calculate the id of the tile that is one level of detail up from this tile. |
void |
Write(BinaryWriter writer) |
Static Fields
Type | Name | Summary |
---|---|---|
TileId |
Null | The null tile id. |
Static Methods
Type | Name | Summary |
---|---|---|
TileId |
Parse(String key) |
Initializes a new instance of the Microsoft.Geospatial.TileId struct from a string tile key. |
Boolean |
TryParse(String key, TileId& tileId) |
Initializes a new instance of the Microsoft.Geospatial.TileId struct from a string tile key. |
Encapsulates the value of a tile level-of-detail.
public struct Microsoft.Geospatial.TileLevelOfDetail
: IBinarySerializable, IComparable<TileLevelOfDetail>, IEquatable<TileLevelOfDetail>
Properties
Type | Name | Summary |
---|---|---|
Int16 |
Value | Gets or sets the value of this object. |
Methods
Type | Name | Summary |
---|---|---|
Int32 |
CompareTo(TileLevelOfDetail other) |
|
Boolean |
Equals(TileLevelOfDetail other) |
Tests whether this value equals the other. |
Boolean |
Equals(Object obj) |
Tests whether this value equals the other. |
Int32 |
GetHashCode() | |
void |
Read(BinaryReader reader) |
Populates this object with a value read in from the provided System.IO.BinaryReader . |
String |
ToString() | |
void |
Write(BinaryWriter writer) |
Writes this level of detail to the provided System.IO.BinaryWriter . |
Static Fields
Type | Name | Summary |
---|---|---|
TileLevelOfDetail |
Max | Gets the maximum level of detail supported by the system. |
Int16 |
MaxValue | The largest Level of Detail that is supported by this class. |
TileLevelOfDetail |
Min | Gets the minimum level of detail supported by the system. This will be 0 as that is the minimum functional value even though -1 is used for null. |
Int16 |
MinValue | The smallest Level of Detail that is supported by this class. |
TileLevelOfDetail |
Null | Gets a level of detail instance for no level of detail. |
Int16 |
NullValue | Gets the level of detail value that is used to represent no level of detail. |
Static Methods
Type | Name | Summary |
---|---|---|
TileLevelOfDetail |
FindHighestLowerThan(TileLevelOfDetail levelOfDetail, HashSet<TileLevelOfDetail> levelsOfDetailToCheck) |
find the highest valid Lod that is lower than the given one |
Boolean |
TryParse(String value, TileLevelOfDetail& levelOfDetail) |
Parses the level of detail from the specified string. |
Common operations related to TilePosition and TileId. For more basic operations using the underlying primitive types, see PrimitiveTileOperations.
public static class Microsoft.Geospatial.TileOperations
Static Methods
Type | Name | Summary |
---|---|---|
void |
CalculateBounds(this TileId tileId, Double& westLongitudeInDegrees, Double& eastLongitudeInDegrees, Double& southLatitudeInDegrees, Double& northLatitudeInDegrees) |
Calculates the bounding box for this tile id. |
LatLon |
CalculateCenter(this TileId tileId) |
Calculates the center of the Microsoft.Geospatial.TileId . |
GeoBoundingBox |
CalculateGeoBoundingBox(this TileId tileId) |
Calculates the bounding box for this tile id. |
LatLon |
CalculateLatLongAtPixel(this TileId tileId, Int32 xPixel, Int32 yPixel, Int32 pixelWidth, Int32 pixelHeight) |
Calculates the Latitude and Longitude at a given coordinate in pixel space. Pixel origin 0,0 is at the bottom left, proceeding up and to the right. |
TileLevelOfDetail |
CalculateLevelOfDetail(this TileId tileId) |
Calculates the TileLevelOfDetail for the TileId. |
IEnumerable<TileId> |
CalculateOverlappingTiles(IList<LatLon> ring, TileLevelOfDetail levelOfDetail) |
Returns a list of tiles that overlap the specified ring. |
void |
CalculateSidePlanes(this TileId tileId, Plane3D& west, Plane3D& east, Plane3D& south, Plane3D& north) |
Gets the planes that run along the four sides of this tile id. |
TileBorders |
CalculateTileBorders(this TileId tileId, LatLon point) |
Given a point, calculates if the point falls on a tile border or not. If the point is on a corner, then the point will fall into two sides. |
TileBorders |
CalculateTileBorders(this GeoBoundingBox tileBoundingBox, LatLon point) |
Given a point, calculates if the point falls on a tile border or not. If the point is on a corner, then the point will fall into two sides. |
TileId |
GetChild(this TileId tileId, TileQuadrant quadrant) |
Gets a specific child of this TileId |
void |
GetChildren(this TileId tileId, TileId[] output) |
Fills out the specified array with the immediate children of this tile. |
IReadOnlyList<TileId> |
GetChildrenAtLevelOfDetail(this TileId tileId, TileLevelOfDetail levelOfDetail) |
Gets a list of Microsoft.Geospatial.TileId values from an ancestor tile at the desired level of detail. |
void |
GetChildrenTileIds(this TilePosition tilePosition, TileId[] output) |
Fills out the specified array with the immediate children as TileIds. |
IEnumerable<TileId> |
GetCoveredTileIds(MercatorBoundingBox& boundingBox, TileLevelOfDetail levelOfDetail) |
Returns an enumeration of TileIds that cover the specified MercatorBoundingBox at the given level of detail. The enumeration starts in the upper left tile and ends at the lower right tile. |
IEnumerable<TileId> |
GetCoveredTileIds(GeoBoundingBox boundingBox, TileLevelOfDetail levelOfDetail) |
Returns an enumeration of TileIds that cover the specified MercatorBoundingBox at the given level of detail. The enumeration starts in the upper left tile and ends at the lower right tile. |
IEnumerable<TilePosition> |
GetCoveredTilePositions(MercatorBoundingBox& boundingBox, TileLevelOfDetail levelOfDetail) |
Returns an enumeration of TilePositions that cover the specified MercatorBoundingBox at the given level of detail. The enumeration starts in the upper left tile and ends at the lower right tile. |
IEnumerable<TilePosition> |
GetCoveredTilePositions(GeoBoundingBox boundingBox, TileLevelOfDetail levelOfDetail) |
Returns an enumeration of TilePositions that cover the specified MercatorBoundingBox at the given level of detail. The enumeration starts in the upper left tile and ends at the lower right tile. |
List<TileId> |
GetNeighbors(this TileId tileId) |
For a given tileId, returns a list containing the tile id and all (up to 8) neighbors for that tile |
TileId |
GetParent(this TileId tileId, IEnumerable<TileLevelOfDetail> levelsOfDetailToCheck) |
Calculate the id of the tile that is one level of detail up from this tile. This method will return Microsoft.Geospatial.TileId.Null if this tile has no parents. |
TileId |
GetParentAtLevelOfDetail(this TileId tileId, TileLevelOfDetail levelOfDetail) |
Gets the parent Microsoft.Geospatial.TileId of a parent tile at the desired level of detail. |
String |
GetQuadKey(this TilePosition tilePosition) |
Creates the quad key string for the TilePosition. |
TileQuadrant |
GetQuadrant(this TileId tileId) |
The corner of its parent that this tile is in. |
void |
GetRelativeOffsetScale(this TileId childTileId, TileId parentTile, Single& offsetScaleX, Single& offsetScaleY, Single& childScale) |
Gets the normalized extent of this tile within the given parent tile. |
Byte |
GetSubdomain(this TileId tile) |
Gets the subdomain of the tile, a value between 0 and 3. This id is relative to the parent tile. 0 is the first child, etc. |
Boolean |
IsParentOf(this TilePosition tilePosition, TilePosition otherTilePosition) |
Returns true if the TilePosition is a parent of the specified TilePosition. |
void |
PopulateCoveredTilePositionsList(MercatorBoundingBox& boundingBox, TileLevelOfDetail levelOfDetail, IList<TilePosition> tilePositionList) |
Populates the tilePositionList passed in with a list of TilePositions that cover the specified MercatorBoundingBox at the given level of detail. The list starts in the upper left tile and ends at the lower right tile. |
GeoBoundingBox |
ToGeoBoundingBox(this TilePosition tilePosition) |
Converts the specified TilePosition to a Box. |
MercatorBoundingBox |
ToMercatorBoundingBox(this TileId tileId) |
Converts the specified TileId to a MercatorBoundingBox. |
MercatorBoundingBox |
ToMercatorBoundingBox(this TilePosition tilePosition) |
Converts the specified TileId to a MercatorBoundingBox. |
TileId |
ToTileId(this TilePosition tilePosition) |
Calculates the Microsoft.Geospatial.TileId from a Microsoft.Geospatial.TilePosition . |
TilePosition |
ToTilePosition(this TileId tileId, TileLevelOfDetail levelOfDetail) |
Calculates our position using the specified level of detail rather than going to the trouble of extracting ours. |
TilePosition |
ToTilePosition(this TileId tileId) |
Calculates our position using the specified level of detail rather than going to the trouble of extracting ours. |
Boolean |
TryGetChildren(this TileId tileId, IEnumerable<TileLevelOfDetail> levelsOfDetailToCheck, TileId[]& children) |
Calculate the children TileIds that have valid Lod from the current TileId. |
Boolean |
TryGetParent(this TileId tileId, IEnumerable<TileLevelOfDetail> levelsOfDetailToCheck, TileId& parent) |
Try to calculate the id of the tile that is one level of detail up from this tile, on condition that this parent tile is a valid Lod. If not, keep getting the grand parents till finding one with valid lod. |
Boolean |
TryGetParent(this TileId tileId, TileLevelOfDetail validLevelOfDetail, TileId& parent) |
Try to calculate the id of the tile that is one level of detail up from this tile, on condition that this parent tile is a valid Lod. If not, keep getting the grand parents till finding one with valid lod. |
Boolean |
TryGetParent(this TilePosition tilePosition, Int16 delta, TilePosition& parentTilePosition) |
Try to calculate the id of the tile that is one level of detail up from this tile, on condition that this parent tile is a valid Lod. If not, keep getting the grand parents till finding one with valid lod. |
The position of a Microsoft.Geospatial.TileId
within a specific Microsoft.Geospatial.TileLevelOfDetail
of tiles. This is an alternate, more verbose, expression of a single tile's Id.
public struct Microsoft.Geospatial.TilePosition
: IEquatable<TilePosition>
Properties
Type | Name | Summary |
---|---|---|
TileLevelOfDetail |
LevelOfDetail | Gets or sets the level of detail for this position. |
Int32 |
X | Gets or sets the horizontal offset for this position. |
Int32 |
Y | Gets or sets the vertical offset for this position. |
Methods
Type | Name | Summary |
---|---|---|
Boolean |
Equals(Object obj) |
Overrides System.Object.Equals(System.Object) . |
Boolean |
Equals(TilePosition other) |
Overrides System.Object.Equals(System.Object) . |
Int32 |
GetHashCode() | Overrides System.Object.GetHashCode . |
String |
ToString() |
Directions enumeration, for use primarily in choosing a child Microsoft.Geospatial.TileId
.
public enum Microsoft.Geospatial.TileQuadrant
: Enum, IComparable, IFormattable, IConvertible
Enum
Value | Name | Summary |
---|---|---|
0 |
Northwest | The upper left quad, coded "0". |
1 |
Northeast | The upper right quad, coded "1". |
2 |
Southwest | The lower left quad, coded "2". |
3 |
Southeast | The lower right quad, coded "3". |
Collection of methods related to WGS84 earth centered XYZ (Cartesian) coordinates.
public static class Microsoft.Geospatial.Wgs84Datum
Static Fields
Type | Name | Summary |
---|---|---|
Double |
EccentricitySquared | The squared eccentricity. |
Double |
EquatorialCircumferenceInMeters | The circumference of the Earth at the equator. |
Double |
MajorRadiusInMeters | The distance from the center of the Earth to the equator. |
Double |
MinorRadiusInMeters | The distance from the center of the Earth to the poles. |
Static Methods
Type | Name | Summary |
---|---|---|
Vector3D |
FromLatLon(LatLon latLon) |
Gets the WGS84 ECEF coordinate for the specified latitude at longitude at altitude = 0. |
Vector3D |
FromLatLonAlt(LatLonAlt lla) |
Gets the WGS84 ECEF coordinate for the specified latitude, longitude, and altitude. |
Double |
GetApproximateDistanceToHorizon(LatLonAlt lla) |
Gets the approximate distance to the horizon from the specified LatLonAlt. |
Double |
GetRadiusForLatitude(Double latitudeInDegrees) |
Gets the radius of the WGS84 ellipsoid at the specified latitude. |
Vector3D |
GetSurfaceNormal(LatLon latLon) |
Gets the surface normal of the WGS84 elliposid at the specified LatLon. |
Vector3D |
GetSurfaceNormal(Vector3D coordinate) |
Gets the surface normal of the WGS84 elliposid at the specified LatLon. |
LatLonAlt |
ToLatLonAlt(Vector3D coordinate) |
Returns the LatLonAlt of the specified WGS84 ECEF coordinate. |
- Configuring the map
- Attaching GameObjects
- Adding labels
- Animating the map
- Raycasting the map
- Displaying copyrights
- Customizing map data
- Displaying contour lines
- Microsoft.Geospatial
- Microsoft.Geospatial.VectorMath
-
Microsoft.Maps.Unity
- ClippingVolumeDistanceTextureResolution
- ClusterMapPin
- CoordinateClamping
- DefaultElevationTileLayer
- DefaultTextureTileLayer
- DefaultTrafficTextureTileLayer
- ElevationTile
- ElevationTileLayer
- ElevationTileLayerList
- FontStyle
- FontWeight
- HttpTextureTileLayer
- IMapSceneAnimationController
- Intersection
- IntersectionType
- IPinnable
- LanguageChangedEvent
- LatLonAltUnityEvent
- LatLonUnityEvent
- LatLonWrapper
- MapColliderType
- MapConstants
- MapContourLineLayer
- MapCopyrightAlignment
- MapCopyrightLayer
- MapDataCache
- MapDataCacheBase
- MapDeveloperKeySource
- MapImageryStyle
- MapImageryType
- MapInteractionController
- MapInteractionHandler
- MapLabel
- MapLabelLayer
- MapLayer
- MapMouseInteractionHandler
- MapPin
- MapPinLayer
- MapRenderer
- MapRendererBase
- MapRendererRaycastHit
- MapRendererTransformExtensions
- MapScaleRatioExtensions
- MapScene
- MapSceneAnimationController
- MapSceneAnimationKind
- MapSceneOfBoundingBox
- MapSceneOfLabelAndZoomLevel
- MapSceneOfLocationAndZoomLevel
- MapSession
- MapShape
- MapTerrainType
- MapTouchInteractionHandler
- ObservableList
- ObservableMapPinList
- ServiceOptions
- Style
- SystemLangaugeConverter
- TextureTile
- TextureTileLayer
- TextureTileLayerList
- TileLayer
- TileLayerList
- UnityTaskFactory
- UnityWebRequestAwaiter
- UnityWebRequestAwaiterExtensionMethods
- WaitForMapLoaded
- WaitForMapSceneAnimation
- Microsoft.Maps.Unity.Search