所以我将几何列添加到空间表中并使用一些msdn引用我最终将SRID指定为0,如下所示:
update dbo.[geopoint] set GeomPoint = geometry::Point([Longitude], [Latitude], 0)
Run Code Online (Sandbox Code Playgroud)
但是,我认为这是一个错误,但在更新列之前,0实际上是默认值= 4326?只要我在查询中将SRID指定为0,查询就会起作用,但是与我所拥有的地理字段相比,我得到了奇怪的结果...在sys.spatial_reference_systems中不存在SRID 0并且我无法进行查询挖掘它的任何信息.任何帮助,将不胜感激.
所以这是我的设置:
我有一张桌子如:
Id, Lat, Long, GeoPoint, GeomPoint
两个GeoPoint(地理)和GeomPoint(几何)设置为SRID 4326
我有以下查询:
DECLARE @radiiCollection TABLE
( [ID] INT IDENTITY(1, 1) PRIMARY KEY,
[Radius] GEOMETRY,
[RefPoint] GEOMETRY,
[RefAddr] VARCHAR(255),
[MinLat] VARCHAR(255),
[MaxLat] VARCHAR(255),
[MinLng] VARCHAR(255),
[MaxLng] VARCHAR(255))
DECLARE @point GEOMETRY = geometry::Point(-111.84493459999999, 33.3902569, 4326)
DECLARE @gpoint GEOGRAPHY = geography::Point(33.3902569, -111.84493459999999, 4326);
INSERT INTO @radiicollection
(radius,
refpoint,
refaddr,
maxlat,
maxlng,
minlat,
minlng)
VALUES ( @point.MakeValid().STBuffer(16093.40),
@point,
'10 miles of 85210',
33.51734689767781,
-111.6923852740045,
33.26298081643247,
-111.99703818130439 )
SELECT
GeomPoint,
GeoPoint
INTO #temp …Run Code Online (Sandbox Code Playgroud) 所以在SSMS中,模板浏览器具有我个人永远不会使用的所有这些预加载的模板.我宁愿清除它,所以我可以开始自己的结构,但是,每次我删除它们:
C:\ Users [user]\AppData\Roaming\Microsoft\SQL Server Management Studio\11.0\Templates
并重新启动SSMS,他们都神奇地重新出现.那里的模板或多或少对我来说毫无价值,但我想摆脱保存查询项目或快速模板到文件夹,只需将它们放在这里以便组织和轻松.我找不到导致行为的设置,所以我想知道是否有人知道如何禁用此功能.
任何帮助,将不胜感激!