我有两个带有几何数据类型的(v11.0)表。一个有8000个点记录,另一个有100个多边形记录。
两个表在适当的几何图形列上都有空间索引,并且都使用相同的SRID。
为了达到指定的报告目的,我需要提取所有点的名称列表,其中包含它所在的多边形的名称。所有点都在多边形的中。多边形不与重叠。
我使用以下查询:
SELECT points.point_label, polygons.polygon_label
FROM
points WITH (NOLOCK) INNER JOIN
polygons WITH (NOLOCK) ON
polygons.polygon_geometry.STCont
我想问你一些关于SQL Server上的交集的问题。我正在运行一个使用gmap的项目。我有一个多边形,一些折线正在通过,而另一些则不是。我使用STIntersection是为了准确地得到多边形中的折线部分。下面是我用来实现这一点的t-sql。
现在的问题是,我想通过传递找到每条折线与多边形接触的确切点。关于这个问题,你有什么解决办法吗?
DECLARE @polygon geography;
DECLARE @polyline geography;
SET @g = (select Polygon from Polygons where id = @polygonID)
SET @h =
我在SQL Server 2008中有两个表A和B:
A
lon(float)
lat(float)
name (nvarchar)
B
name (nvarchar)
the_geom (geometry)
基本上,表B包含面积多边形,表A在两列中包含点坐标。如果在经度/纬度列中定义的点在表B的多边形内,我想用区域名称更新表A。正确的T-SQL命令是什么?这是我到目前为止未成功的查询:
UPDATE A SET name = (SELECT name FROM B WHERE
the_geom.STIntersects(geography::Point([A.lat], [A.Lon],
我是server空间方面的新手。
我使用两个空间数据库“点”(>1M条目)和“多边形”(>800个条目)在SQL server上运行一个作业。
我想做的就是简单地创建一个布尔字段,告诉我一个点是否落在多边形中。我试过几件事,但没有什么结论,也没有什么有成效的。我尝试过的查询是:
SELECT
points_id,
CASE
WHEN p1.GEOM.STWithin((p2.GEOM))=1
THEN 'yes'
ELSE 'no'
END as results
FROM [
在我的SQL Server (2008 R2) on Azure中,有一个包含大量地理纬度(纬度/经度)的表:
CREATE TABLE MyPoints
(
Region uniqueidentifier NOT NULL,
Number int NOT NULL,
Position geography NOT NULL,
CONSTRAINT PK_MyPoints PRIMARY KEY(Region, Number)
)
现在,我想从这些点创建一个Polygon,以确定我的哪些商店位于这些点所定义的区域中。
在T-SQL中,有没有一种从给定点构建多边形的本机快速方法?正
使用一个将国家形状存储为SQL Server 2010几何图形的映射工具,我有一个使用案例,需要从与另一个多边形重叠最多的一组多边形中选择一个多边形。
例如,在地球地图上,我们可以围绕法国的形状绘制轮廓(重叠的西班牙、德国和意大利),重叠部分将返回西班牙、德国、意大利和法国,我需要返回法国(因为它将具有最大的重叠部分)。
我在文档中找不到任何可以做到这一点的方法。有可能吗?如果是这样的话,是怎么做的?
如何在SQL Server中执行此操作? SQL/SpatiaLite: how to declare a column as geometry? 创建列数据类型很简单-但是我看不到在CREATE脚本中定义属性的方法。 据我所知,创建一个具有geometry数据类型的列是第一步,但然后必须使用geometry (多边形/点/等)类型初始化它。