空间函数
使用空间函数转换数据,以便可以用其创建地图。
如果形状文件中包含地图信息,则不需要使用空间函数。但是,如果包含 WKB(熟知二进制)数据的某些其他类型的 BLOB 列中有地理信息,则需要将此信息提取到七个不同列
几何的边界框称为信封。它由四个坐标(XMax、XMin、YMax 和 YMin)指定。几何中心由两个坐标 X 中心和 Y 中心指定。可以将带有二进制 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 中心,并在mapchart.columntypeid属性上设置 X 中心值。该参数是二进制 WKB 列。 示例: WKBEnvelopeXCenter([WKB]) |
WKBEnvelopeXMin(Arg1) | 将计算几何信封的 X 最小值,并在mapchart.columntypeid属性上设置 X 最小值。该参数是二进制 WKB 列。 示例: WKBEnvelopeXMin([WKB]) |
WKBEnvelopeXMax(Arg1) | 将计算几何信封的 X 最大值,并在mapchart.columntypeid属性上设置 X 最大值。该参数是二进制 WKB 列。 示例: WKBEnvelopeXMax([WKB]) |
WKBEnvelopeYCenter(Arg1) | 将计算几何信封的 Y 中心,并在mapchart.columntypeid属性上设置 Y 中心值。该参数是二进制 WKB 列。 示例: WKBEnvelopeYCenter([WKB]) |
WKBEnvelopeYMin(Arg1) | 将计算几何信封的 Y 最小值,并在mapchart.columntypeid属性上设置 Y 最小值。该参数是二进制 WKB 列。 示例: WKBEnvelopeYMin([WKB]) |
WKBEnvelopeYMax(Arg1) | 将计算几何信封的 Y 最大值,并在mapchart.columntypeid属性上设置 Y 最大值。该参数是二进制 WKB 列。 示例: WKBEnvelopeYMax([WKB]) |