求教 关于postgis的函数 st_distance_sphere()与st_dwithin()的误差

问题描述

给出某个点A以及某固定长度radius,想要得到在以该固定长度为半径的圆内,共存在多少个点。似乎使用下面两个函数都能得到结果,只是实际使用之后,发现两个函数得到的结果有一定程度的误差。希望对postgis有研究的朋友能给一些提示或建议。谢谢!selectcount(t1.A)fromtablet1,tablet2wherest_distance_sphere(t1.A,t2.A)<=radiusandt1.no=x(t1.A为中心。)selectcount(t1.A)fromtablet1,tablet2whereST_DWithin(t2.A,t1.A,radius)(t1.A为中心。)其中,表内的地理对象A是POINT类型的,以毫秒为单位,而半径radius以米为单位。

解决方案

解决方案二:
补充一下,由于使用A以毫秒为单位,所以曾经在使用DWithin()函数的时候尝试把半径变换为毫秒。得到的结果已经很接近了,但是很遗憾的是,还是没能得到完全一致的结果。selectcount(t1.A)fromtablet1,tablet2whereST_DWithin(t2.A,t1.A,radius*1/1852*1/60*3600000)

时间: 2024-08-17 18:43:45

求教 关于postgis的函数 st_distance_sphere()与st_dwithin()的误差的相关文章

c++-小白求教C++怎样用函数输出图形

问题描述 小白求教C++怎样用函数输出图形 原题是这样的 二.设计以下三个函数:dispRectangle().dispRightAngledTriangle().dispIsoscelesTriangle(),分别用来显示由指定字符和指定行数构成的矩形.直角三角形和等腰三角形.并在主函数给出如图1所示的菜单(就是很简单的那种输入一二三的菜单,我就不写了,大神们肯定都懂),输入选项,调用相应的图形显示函数. #include using namespace std; void dispRecta

求教:编写一个函数,在页面输入一个整数,打印出对应的乘法表

问题描述 求教:编写一个函数,在页面输入一个整数,打印出对应的乘法表 函数会写,就是不知道怎么在页面输入整数来打印出乘法表,哪位可以帮忙给看看啊 解决方案 void show() { for (int i = 1; i < 10; i++) { for (int j = 1; j <=i;j++) { Response.Write(j + " * " + i + " = " + i * j+"t"); } Response.Write

Postgis常用函数

1,基本操作函数 AddGeometryColumn(<schema_name>, <table_name>,<column_name>, <srid>, <type>, <dimension>) 给一个已存在属性数据表增加一个几何字段(geomtrycolumn).schema_name 指表的模式的名字,srid 必须是一个整数指对应于 SPATIAL_REF_SYS 表,type必须是一个大写的字符串,用来描述几何类型,例如:'

javascript-求教function isFilled(field)函数

问题描述 求教function isFilled(field)函数 function isFilled(field) {if (field.value.replace(' ''').length==0) return false;var placeholder=field.placeholder || field.getAttribute('placeholder');return (field.value !=placeholder);}其中 if(field.value.replace('

菜鸟末端轨迹(解密支撑每天251亿个包裹的数据库) - 阿里云RDS PostgreSQL最佳实践

标签 PostgreSQL , PostGIS , 多边形 , 面 , 点 , 面点判断 , 菜鸟 背景 菜鸟末端轨迹项目中涉及的一个关键需求,面面判断. 在数据库中存储了一些多边形记录,约几百万到千万条记录,例如一个小区,在地图上是一个多边形. 不同的快递公司,会有各自不同的多边形划分方法(每个网点负责的片区(多边形),每个快递员负责的片区(多边形)). 用户在寄件时,根据用户的位置,查找对应快递公司负责这个片区的网点.或者负责该片区的快递员. 一.需求 1.在数据库中存储了一些静态的面信息,

MySQL · 引擎特性 · 初识 MySQL GIS 及 InnoDB R-TREE

一直以来MySQL在GIS上的功能支持都比较弱,并且仅有MyISAM引擎支持.很高兴的看到MySQL5.7将这个短板补上了,实现了InnoDB引擎的GIS支持,现在对GIS数据可以支持完整的MVCC和事务特性.在MySQL5.7版本里,针对GIS特性主要做了几点改进: InnoDB支持Spatial Index,可以对空间数据类型建立索引 更丰富的功能,支持计算两点之间的球面距离函数st_distance_sphere,新增支持GeoHash和GeoJSON: 基于Boost.Geometry库

jquery-Jquery chechbox全选怎么没有作用,求解

问题描述 Jquery chechbox全选怎么没有作用,求解 <script type="text/javascript"> $("#stu1").click(function () { $("input[name='stu']").attr("checked", $(this).attr("checked")); return false; }); </script> <a

对象- C++(Qt问题)类函数调用问题

问题描述 C++(Qt问题)类函数调用问题 QPushButton *btn = new QPushButton(QObject::tr("quit"),this); 在这句话中,为什么QObject::tr("quit")不会报错,调用类的成员函数不是要通过具体的对象来调用的吗?为什么QObject::tr()可以通过,QObject不是类名吗?刚写Qt和C++不懂,求教 解决方案 静态类成员函数就可以直接用类名来调用 解决方案二: 嗯,知道了!还得好好学呢!

[网摘][批处理]批处理学习之一

之前搞过批处理,但后来没做了,现在就忘记了.看来知识也像人一样,太久不联系的话就散了,淡了,渐渐的远了,在我们的世界里消失了.这无疑是杯具的事.还是不要忘记吧,丢掉的东西徐亚找回来.收藏一篇文章做学习用,如下: 见:http://www.hackbase.com/tech/2009-09-16/56089_2.html 目录 第一章 批处理基础 第一节 常用批处理内部命令简介 1.REM 和 :: 2.ECHO 和 @ 3.PAUSE 4.ERRORLEVEL 5.TITLE 6.COLOR 7