Пространственные функции
С помощью пространственных функций можно преобразовать данные так, чтобы их можно было использовать для создания картосхем.
Если в файле фигур содержится информация о карте, использовать пространственные функции не нужно. Однако если географические данные находятся в столбце больших двоичных объектов какого-либо другого типа, содержащем данные в формате WKB, то эту информацию необходимо извлечь в семь разных столбцов:
Граничная рамка геометрии называется очертаниями. Она задается четырьмя координатами XMax, XMin, YMax и YMin. Центр геометрии задается двумя координатами: XCenter и YCenter. Вычислить эти столбцы координат по двоичному столбцу WKB можно с помощью пространственных функций, которым двоичный столбец WKB передается в качестве аргумента. Для того чтобы картосхема могла определить эти столбцы, они также должны иметь соответствующие значения свойства mapchart.columntypeid (такие же, как у приведенных выше столбцов). Выполняется это автоматически при применении пространственных функций.
Функция | Описание |
---|---|
GreatCircleDistance(Arg1, Arg2, Arg3, Arg4) | Возвращает кратчайшее расстояние между двумя точками, вычисленное по поверхности единичной сферы. Аргументы — это долгота и широта координат (lat1, long1, lat2, long2), выраженные в градусах. Для получения результата в определенных единицах умножьте результат, полученный от метода GreatCircleDistance, на радиус нужной сферы, выраженный в соответствующих единицах. Например, радиус Земли составляет около 6371 км (3959 миль), поэтому в первом примере ниже расстояние между двумя городами указано в километрах, а во втором — в милях. Примеры. 6371*GreatCircleDistance(57.717829, 11.990509, 42.355145, -71.057892) 3959*GreatCircleDistance(57.717829, 11.990509, 42.355145, -71.057892) 6371*GreatCircleDistance([Latitude], [Longitude], 42.355145, -71.057892) |
WKBEnvelopeXCenter(Arg1) | Вычисляет центр X геометрического очертания и задает значение XCenter свойству mapchart.columntypeid. Аргумент является столбцом WKB. Пример. WKBEnvelopeXCenter([WKB]) |
WKBEnvelopeXMin(Arg1) | Вычисляет мин. X геометрического очертания и задает значение XMin свойству mapchart.columntypeid. Аргумент является столбцом WKB. Пример. WKBEnvelopeXMin([WKB]) |
WKBEnvelopeXMax(Arg1) | Вычисляет макс. X геометрического очертания и задает значение XMax свойству mapchart.columntypeid. Аргумент является столбцом WKB. Пример. WKBEnvelopeXMax([WKB]) |
WKBEnvelopeYCenter(Arg1) | Вычисляет центр Y геометрического очертания и задает значение YCenter свойству mapchart.columntypeid. Аргумент является столбцом WKB. Пример. WKBEnvelopeYCenter([WKB]) |
WKBEnvelopeYMin(Arg1) | Вычисляет мин. Y геометрического очертания и задает значение YMin свойству mapchart.columntypeid. Аргумент является столбцом WKB. Пример. WKBEnvelopeYMin([WKB]) |
WKBEnvelopeYMax(Arg1) | Вычисляет макс. Y геометрического очертания и задает значение YMax свойству mapchart.columntypeid. Аргумент является столбцом WKB. Пример. WKBEnvelopeYMax([WKB]) |