我正在制作一款能够跟踪用户并实时显示其位置的Android应用。我有它工作,但我有问题正确存储数据库中的坐标。现在,用户的位置将每秒更新一次,它将位置存储在数据库中,然后Web应用程序从数据库中提取最新的位置。我希望能够为特定用户存储一行中的位置列表。我在MySQL中阅读了一些关于GeoSpatial信息的内容,我认为linestring数据类型可以工作,但我似乎无法找到有关如何在PHP中实现查询的足够信息。有人可以提供一个示例,说明如何使用PHP以线串类型向数据库附加坐标吗?或者提供如何使用数据库的一行连续存储坐标的建议。
由于
答案 0 :(得分:2)
只需将用户所在的每个点都存储在一个表格中,并附上ID和时间戳。然后,您可以使用查询汇总点。
不要将整个曲目存储在一行中,否则以后您将无法对这些数据进行太多操作。
编辑:这是您的表格的样子:
gps_points
答案 1 :(得分:0)
GPS坐标是一组X,Y和Z浮点值,而不是插入曲线的一组点(基本上是线串数据类型的用途)。所以我会将这些点存储在3个浮点列中,并附加时间戳等附加信息。如果需要,您可以从给定数据中推断出线串,以便在地图上显示。
答案 2 :(得分:0)
或者您可以仅将Firebase用于您的数据库,这非常灵活并且可以轻松地在Firebase中工作
答案 3 :(得分:-1)
我的经验是UTM格式更容易存储在数据库中,因为它是正交的,并且具有非常方便的语法。它也适用于单线串。您可以在这里找到信息和方便的课程,轻松转换GPS和UTM:
http://www.ibm.com/developerworks/java/library/j-coordconvert/index.html