Questions tagged «geometry»

4
通过MySQL获取半径拉链时出现问题
我有一个邮政编码表,其中包括每个邮政编码的中心纬度,经度。我用它来获取从任意点到给定英里半径内的邮政编码列表。 在我看来,仅仅是因为拉链的中心点不在给定的半径内,并不意味着拉链本身不在半径内。 我用自己的超高级艺术技巧来说明这一点: 绿色条纹斑点表示邮政编码A,B和C。 红色污点是每个邮政编码的地理中心 紫红色的点是目标位置,并且.. 块状蓝色圆圈距离目标位置1英里半径 如果我查询距离粉红色污迹1英里半径内的所有邮政编码,则将返回邮政编码B和C,因为邮政编码A的中心点不在1英里半径内,即使粉红色污迹本身显然在邮政编码A中。 SELECT *, p.distance_unit * DEGREES(ACOS(COS(RADIANS(p.latpoint)) * COS(RADIANS(z.y)) * COS(RADIANS(p.longpoint) - RADIANS(z.x)) + SIN(RADIANS(p.latpoint)) * SIN(RADIANS(z.y)))) AS dist FROM standard_zip AS z JOIN ( /* these are the query parameters */ SELECT $lat AS latpoint, $lng AS longpoint, $miles AS radius, 69 AS …

3
在数字表上交叉连接以获得线顶点,是否有更好的方法?
问题: 我有一个空间表(路线),使用ESRI的SDE.ST_GEOMETRY用户定义数据类型存储在Oracle 12c 地理数据库中。我想列出线顶点,以便最终访问并更新它们的坐标。如果使用的是SDO_GEOMETRY / Oracle Locator,则可以使用该 SDO_UTIL.GETVERTICES功能。但是我没有使用SDO_GEOMETRY / Oracle Locator,并且中没有等效功能SDE.ST_GEOMETRY。我可以找到的与顶点有关的唯一SDE.ST_GEOMETRY 函数是ST_PointN和ST_NumPoints。 我想出一个可以成功完成所有操作的查询-将行顶点作为行(受此页面的启发): 1 SELECT a.ROAD_ID 2 ,b.NUMBERS VERTEX_INDEX 3 ,a.SDE.ST_X(SDE.ST_PointN(a.SHAPE, b.NUMBERS)) AS X 4 ,a.SDE.ST_Y(SDE.ST_PointN(a.SHAPE, b.NUMBERS)) AS Y 5 FROM ENG.ROADS a 6 CROSS JOIN ENG.NUMBERS b 7 WHERE b.NUMBERS <= SDE.ST_NumPoints(a.SHAPE) 8 --removed to do explain plan: ORDER …
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.