我想返回我的搜索坐标和我正在搜索的字段之间的距离。
例如,您可以使用“查询游乐场”:
它们使用以下示例查询:
-- Find all volcanoes of type Stratovolcano
-- (http://www.sciencedaily.com/terms/stratovolcano.htm)
-- that are within 100 km of Redmond, WA.
SELECT *
FROM volcanoes v
WHERE ST_DISTANCE(v.Location, {
"type": "Point",
我在我的数据库中有一个表,其中存储了谷歌地图的位置与他们返回的坐标。以前我将经纬度和lng存储为小数点,在我将MySQL版本升级到8之后,发现有一些预定义的数据类型和函数来处理坐标和距离计算。我已经创建了如下表格,并从google地图插入了一些随机值。
CREATE TABLE `Location` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`lat` varchar(50) NOT NULL,
`lng` varchar(50) NOT NULL,
`coordinates` point NOT NULL,
`name` varcha
在我的项目中,我们有一个名为Trip的实体。这次旅行有两点:开始和结束。Start和finish是geo坐标,并添加了一些属性,比如address。
我需要的是查询所有的旅行,满足搜索条件的开始和完成。
smth样
select from trips where start near 16,16 and finish near 18,20 where type = type
所以我的问题是:哪个数据库可以提供这样的功能?
我已经尝试过的
我已经研究过mongodb,它支持geo索引,但不支持这个用例。当前解决方案将这些点存储为单独的文档,这些文档具有对旅行的引用。我们为开始和结束运行两个独立的
此SQL生成以下内容:
SELECT city FROM travel_logs ORDER BY ST_Distance(travel_logs.start_point, ST_GeographyFromText('SRID=4326;POINT(101.652506 3.167610)'))
"Tshopo"
"Tshopo"
"Mongala"
"Haut-Komo"
此SQL生成以下内容:
SELECT city, count(*) AS count FROM travel_logs GROUP BY
下面是我当前的查询,该查询当前返回按距离排序的合格结果的名称和点,如何在结果集中还包括距离?
查询:
select name, ST_AsText(location) from places where ST_DWithin(
ST_GeogFromText('SRID=4326;POINT($point)'),
location,
$distance
) ORDER BY ST_Distance(
ST_GeogFromText('SRID=4326;POINT($point)'),
location
)
$distan
在寻找了几天,并尝试了我发现的所有东西,我在这里问如何计算距离beetwen两点上的Postgres与PostGis。我有一张名叫地点的桌子。这个表得到了一个类型为point的列"coordenate“。当用户在应用程序上插入一个值时,我需要得到按关闭距离排序的位置。我知道我需要使用ST_Distance,但是每次我尝试使用协调点时我都不能,我需要用Km表示结果。
我试着:
SELECT ST_Distance('POINT(0.0 0.0)', ST_GeomFromText(location.coordenate)) FROM app.location as loc
我有一些地块多边形和一些电源线。对于每个地块,我尝试仅查找到最接近的线串的距离。
此查询将运行,但需要相当长的时间:
SELECT
a.OBJECTID,
st_distance(a.geometry, b.geometry) as distance
FROM `kpennell.KYLETEST.parcelpoly` a
join `kpennell.KYLETEST.powerlines` b
ON st_dwithin(a.geometry, b.geometry, 1000)
我猜我需要使用或的东西,但我似乎不能得到正确的查询。后一个例子只找到最接近的一个的id,而不是
因此,基本上我尝试创建一个触发器,如果插入或更新的位置与现有表的距离小于1米,则该触发器将更新另一个表。
它不允许我插入任何东西,因为if语句中缺少FROM子句,并且我不确定如何正确地调用它。
我得到了以下信息
CREATE TRIGGER access_node_aiu
AFTER INSERT OR UPDATE
ON schemab.table
FOR EACH ROW
EXECUTE PROCEDURE schemab.trigegr();
CREATE OR REPLACE FUNCTION schemab.trigger()
RETURNS trigger AS
为了在Bigquery中找到最近的点及其距离,我使用以下查询 WITH table_a AS (
SELECT id, geom
FROM bqtable
), table_b AS (
SELECT id, geom
FROM bqtable
)
SELECT AS VALUE ARRAY_AGG(STRUCT<id_a STRING,id_b STRING, dist FLOAT64>(a.id,b.id,ST_DISTANCE(a.geom, b.geom)) ORDER B
我想计算两个城市之间的距离。我有以下功能:
CREATE OR REPLACE FUNCTION calc_distance_for_cities(fromCityId bigint, toCityId bigint) RETURNS integer LANGUAGE plpgsql as $$
DECLARE
fromCityCoords Geometry;
toCityCoords Geometry;
BEGIN
SELECT * FROM geo_cities WHERE geo_cities.i
我想查询表A中每个点(id)到表B中每个polgygon (id)的距离。对于我使用ST_Distance进行的距离计算。但是,ST_Distance返回(显然)到每个多边形的距离。但我只需要每个点的“最近”结果。到目前为止,我尝试了以下查询,该查询返回正确的结果,但(当然)只返回一点。
SELECT polygons.id, points.id, ST_Distance(points.geom, polygons.geom)
FROM table_A AS points, table_B AS polygons
ORDER BY st_distance ASC LIMIT 1
结果应该是
在这里,"FromSt“和"EndSt”是变量。
我想在Vb.net中运行这段代码。
MySql控制台命令:
从其中选择st_distance st_name IN ("value1","value1");
VB.net代码:
Using FindSqlS As MySqlCommand = New MySqlCommand("SELECT st_distance FROM addst WHERE st_name = '" & FromSt & "OR" & "'s