-
Notifications
You must be signed in to change notification settings - Fork 83
Expand file tree
/
Copy pathIGeoBoundingBox.cs
More file actions
54 lines (47 loc) · 1.52 KB
/
IGeoBoundingBox.cs
File metadata and controls
54 lines (47 loc) · 1.52 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
namespace Waher.Runtime.Geo
{
/// <summary>
/// Interface for a geo-spatial bounding box using the Mercator Projection.
/// </summary>
public interface IGeoBoundingBox
{
/// <summary>
/// The ID of the geo-spatial bounding box.
/// </summary>
string BoxId { get; }
/// <summary>
/// Lower-left corner of bounding box.
/// </summary>
GeoPosition Min { get; }
/// <summary>
/// Upper-right corner of bounding box.
/// </summary>
GeoPosition Max { get; }
/// <summary>
/// If the min latitude/longitude/altitude should be considered as included in the boundoing box.
/// </summary>
bool IncludeMin { get; }
/// <summary>
/// If the max latitude/longitude/altitude should be considered as included in the boundoing box.
/// </summary>
bool IncludeMax { get; }
/// <summary>
/// If the bounding box is longitude-wrapped, i.e. if the box passes the +-180 degrees
/// longitude.
/// </summary>
bool LongitudeWrapped { get; }
/// <summary>
/// If the bounding box contains a location.
/// </summary>
/// <param name="Location">Location</param>
/// <returns>If the bounding box contains the location.</returns>
bool Contains(GeoPosition Location);
/// <summary>
/// If the bounding box contains a location.
/// </summary>
/// <param name="Location">Location</param>
/// <param name="IgnoreAltitude">If altitude component should be ignored.</param>
/// <returns>If the bounding box contains the location.</returns>
bool Contains(GeoPosition Location, bool IgnoreAltitude);
}
}