Dav*_*yes 6 database geospatial
我正在构建一个移动地图应用程序,我想在数据库 (SQL CE 4.0) 中存储 GPS 跟踪数据、航点等。这意味着我只能访问基本数据类型(http://msdn.microsoft.com/en-us/library/ms172424(SQL.110).aspx)
我可能想做的操作
WGS84 是大地测量系统(基准面),而不是坐标系 - 字面意思是 (W)orld (G)eodetic (S)ystem 19(84)。所以我不是 100% 确定你在问什么。
如果您询问决定使用哪个数据,那么这将取决于您打算如何处理数据以及您正在处理的位置。例如,如果您仅处理基于英国的功能并希望在操作系统地图上显示点,那么 OSGB36 将最有意义。如果您需要一个全球参考系统并希望使用 Google 地图等工具,那么 WGS84 将是最好的选择。值得注意的是,WGS84 是娱乐和商业 GPS 设备中存储的坐标的默认标准基准。
然而,所有这些基准都基于纬度和经度的地理坐标系定义点 - 因此它们都使用相同的“坐标系”。使用赫尔默特变换矩阵在基准之间进行转换也是可能的,因此即使某些替代系统在特定情况下更适用,您也永远不会陷入困境。
除此之外,如果您使用 SQL CE,我建议使用一个简单的表来存储航路点。在很多情况下,像下面这样的东西应该可以很好地工作。您需要确定坐标所需的精度级别。例如
CREATE TABLE 'waypoints' (
'id' INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
'name' VARCHAR( 60 ) NOT NULL ,
'type' VARCHAR( 30 ) NOT NULL ,
'latitude' FLOAT( 10, 6 ) NOT NULL ,
'longitude' FLOAT( 10, 6 ) NOT NULL
)'
Run Code Online (Sandbox Code Playgroud)
显然,您可能不需要“名称”和“类型”等字段,它们只是为了显示如何以人类可读的方式区分航路点。
--
只是补充一下 - 至于您可能希望执行的各种操作或计算;在 x 距离内、x 和 y 之间的距离等。您再次需要决定应用程序中所需的精度级别。对于大多数情况,使用简单的余弦球面定律就足够了,但是您可能希望实现更准确的东西,例如半正弦公式或文森蒂公式等。
| 归档时间: |
|
| 查看次数: |
2824 次 |
| 最近记录: |