2017-11-11 115 views
0

地理数据类型对我来说是新的,我正试图让我的头脑知道如何使用它。我有一个简单的问题,我无法找到答案。我有一个包含坐标(Lat,Lon;十进制(9,6))和海拔(smallint)数据的数据库。 入门最高/最低/最北端/ E/S/W是非常直截了当:SQL地理如何获得大部分北/ E/S/W /最高/最低?

SELECT MAX(Lat) FROM Tbl  etc. 

地理数据被存储为一个对象,据我所知,以获得最北点,我第一次需要将所有数据转换为Lat/Lon/Elev,然后查找Lat值最高的点。 对于imo应该非常简单的东西,这看起来很麻烦。 考虑到这一点,我倾向于保留现有的数据并添加地理信息,但这并不适合我:在同一个表中存储两次相同的信息。

有没有一种简单的方法从设置的坐标获取最北面的点作为地理数据存储?

+0

可能重复[从点几何或地理获取XY值](https://stackoverflow.com/questions/10856014/get-xy-values-from-point-geometry-or-geography)然后你可以得到' MAX(obj.Lat)' –

回答

1

您的数据存储为一个地理对象,所以你可以做geografic东西一样距离十字路口

在我来说,我还留着两个X,Y和GEOM。所以我可以在x,y上使用索引并在geom上执行几何函数。

+0

这是简单的解决方案,但我们在同一个表中存储两次相同的数据,只是格式不同。当然,这是可行的,我都为了实用主义。 但是,这不是真的回答我的问题。无论如何感谢您的意见。 – mindcopy