空间应用开发中的常见错误与解决策略
1. 常见错误及注意事项
在进行位置感知应用开发时,有许多常见的陷阱需要避免。下面将详细介绍这些问题及相应的解决方法。
1.1 地理数据的边界、经纬度和容差设置
如果图层中的数据是地理数据(即 SRID 与 MDSYS.GEODETIC_SRIDS 表中的某个值匹配),则对应的 DIMINFO 属性(类型为 SDO_DIM_ARRAY)应按以下方式设置:
- 经度维度 :SDO_DIM_ARRAY 中的第一个维度应对应经度维度,其上下边界应始终设置为 -180 和 180。如果指定了其他边界值,Oracle Spatial 将忽略它们。
- 纬度维度 :SDO_DIM_ARRAY 中的第二个维度应对应纬度维度,其上下边界应始终设置为 -90 和 90。如果指定了其他边界值,Oracle Spatial 将忽略它们。
- 容差设置 :维度的容差应始终以米为单位指定。在 Oracle 的所有地理坐标系中,米是距离单位。如果容差设置不正确,Oracle Spatial 可能会返回意外结果。对于大多数应用程序,0.5(0.5 米)是合适的值。
1.2 SDO_GEOMETRY 的 NULL 值处理
将 SDO_GEOMETRY 的各个字段设置为 NULL 并不构成一个 NULL 的 SDO_GEOMETRY 对象。相反,应该将整个对象设置为 NULL。例如,可以使用以下 SQL 语句将 customers 表中的 location 列设置为 NULL:
超级会员免费看
订阅专栏 解锁全文
6万+

被折叠的 条评论
为什么被折叠?



