问题标签 [sqlgeography]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sql - 如何为地理数据类型列添加值?
我正在尝试插入一条记录,t-sql
如下所示。我对向地理数据类型列添加值感到震惊。
这是一个地理值:
t-sql
请告诉我如何在声明中增加地理价值的价值。
插入语句
桌子
请参阅下面以 csv 文件格式插入的数据:
c# - 如何在 SQL Server 中使用 STIntersection 查询返回多个字段
我正在计算 SQL Server 中的多边形交点,并根据此处的示例有一个如下所示的表:http: //msdn.microsoft.com/en-gb/library/cc280766.aspx其中计算了“Coordinates_OGC_WKT”。
我已经测试了以下建议的 SP,它可以工作,但是我不确定如何还返回“ZoneName”字段——这很重要。
结果显示交点坐标,但不指示数据库中保存多边形坐标的行。我正在尝试检索发生交叉点的“ZoneName”(这是必需的):
这一定很简单,但我很挣扎。
- - 编辑 - -
这看起来好像它应该工作并且有点......但我得到的区域不在折线附近:
我通过在谷歌地图上手动绘制它来检查折线是否正确。我还通过相同的操作检查了多边形坐标是否正确,那么为什么数据库会返回距离折线 50 多英里且绝对没有交叉点的区域?
作为测试,折线穿过伦敦,所以我想我会看看布鲁塞尔的一个区域是否也被归还......不是。因此,这可能是一个准确性问题吗?我对此表示怀疑,因为绘制的折线可以准确渲染并且不会靠近区域。
我现在有点绝望,所以我也想知道我是按正确的顺序存储坐标(lat lng)还是应该是 lng lat?
sql - 如何从 SQL Server 地理数据类型字段中选择经纬度坐标
考虑到 SQL Server 的“地理”数据类型......
我可以输入一个纬度和经度数组(顺便说一句,这样做的正确顺序还是应该是经度纬度?)指向字段如下:
这将显示为:
如何将它们选择回它们的纬度和经度格式?
sql - SQL Server STIntersects 查询返回误报
问题
STIntersects 返回误报
场景
- 我使用 GoogleMaps 绘制了一个表示“伦敦拥堵费”区域的多边形,并将坐标保存到地理字段中的数据库中
- 我从 Google Directions API 获得一条折线
- 我检查折线是否与我存储的任何区域相交。
问题
- 一条路线在伦敦附近无处可去(避开了 50 英里),但 STIntersects 正在显示伦敦市中心的伦敦拥堵费多边形的交叉点。
- 我知道折线很好,因为我可以在谷歌地图上渲染它并看到它。我也知道这不是问题(见后文)
- 多边形坐标似乎非常好(尽管我怀疑这里有问题),因为当我在 Google 地图上直观地渲染多边形时,它会正确显示。
我相信多边形坐标是一个贡献者是因为我尝试了以下方法:
- 我创建了应用程序和数据库的两个完全独立的实例
- 我在其中一个比另一个更具体地(更多点)绘制了伦敦拥堵费区
- 尽管在视觉上它们看起来非常相似(它们都覆盖了伦敦拥堵费区域),但具有更多积分的版本效果很好。多段线可以在没有报告交叉点的情况下直接通过它,而具有较少点的版本会返回一个误报,因为多段线距离它实际上是几英里(50 奇数)。
怎么会这样?
这是重现问题的方法。
将问题多边形添加到地理数据库字段:
将工作多边形添加到地理数据库字段:
使用 stintersects SQL 查询运行此折线检查:
您会看到“IDoNotWork”记录在不应该被选中时被选中。
任何帮助将不胜感激。
这是绘制为折线的完全相同的坐标。您可以看到他们在该区域附近无处可去。
c# - SqlGeography 从多多边形中获取多边形
我的表格Town
包含TownBoundary
相关城镇的多边形(geography
数据类型)。
对于每个城镇,我都会获得生成 KML(XML) 文件所需的多边形数据,例如:
的值town.TownBoundary.WellKnownValue.WellKnownText
以POLYGON(..
但最近我意识到一些城镇包含更多的多边形,并且WellKnownText
开始MULTIPOLYGON(..
和功能STPolyFromText
错误。
我已经将它放在try{}
块中,但是在catch{}
- 如果值是多面体 - 是否有可能以某种方式获得单个多边形?我知道有 method STMPolyFromText
,但我无法访问那里的单个多边形,只能访问 method 中的点STPolyFromText
。
我的目标是将多面体拆分为多边形,然后 foreach 多边形执行与上述相同的方法。
sql-server - 如何通过“SqlDataReader”读取“geography”列?
我有一个 SQL Server 2008 数据库,geography
其中有一列由System.Data.Entity.Spatial.DbGeography
Entity Framework 6.0.0-alpha3 生成。
现在我需要用SqlDataReader
. 但我不知道该怎么做。使用旧上下文不是一种选择。我试图将其转换为DbGeography
:
但我得到这个错误:
无法将“Microsoft.SqlServer.Types.SqlGeography”类型的对象转换为“System.Data.Entity.Spatial.DbGeography”类型
你有什么建议吗?
google-maps - SQL Server 2012 地理 STIntersects 理解
我试图得到多边形内的所有点,经过几次测试,我终于抓住了。
STIntersects
即使在“视觉上”不在多边形中的点的情况下,也始终为我的所有实体返回 1。
我找到了有关多边形创建方向的帖子并尝试了它,但它没有帮助我:)
所以我决定创建一个简单的案例:
- 在俄罗斯某处具有 4 个顶点的多边形(角:55 37、56 38)
- 此多边形内的一点
- 还有一个在外面
这是带有点的谷歌地图的链接
这个测试的结果让我摆脱了困境
为什么会这样?我只是不明白我错过了什么
我希望pointIn
当我的多边形很小时应该返回 1,当我的多边形是整个世界减去选定区域时pointOut
返回 0,并且应该在第一种情况下返回 0,在第二种情况下返回 1
但是两个点都在逆时针多边形中返回 1。
更新
最后我的错误是geography::STPolyFromText
第一个应该是 lng 和第二个 lat 的输入参数的顺序。并且扩展顺序是不同的
msdn 说:Point ( Lat, Long, SRID )
sql - 从几何类型生成带有 X 和 Y 的视图
在sql-server-2012中,我想生成包含几何类型的所有点的视图。我怎样才能做到这一点?查看示例
带有 sys.SDO 的 Oracle 示例
sql - 使用地理和距离从 SQL Server 数据库中选择记录
我正在使用 SQL Server 地理数据类型将记录的位置存储在我的数据库中。我想选择给定位置给定距离内的所有记录:
在我的测试数据库中有几十条记录,它运行得非常快,我没有任何问题,但我知道 WHERE 子句正在针对我数据库中的所有记录运行 STDistance,一旦我有数千条记录,它就会慢到爬行。
有一个更好的方法吗?也许创建某种区域并首先在相邻区域中选择数据?
python - 返回矩形内的点列表
我有一个地理(纬度,经度)点的数据库(MySQL),我需要从一个矩形(每个顶点有 2 个坐标)中查询点列表。是否有任何查询或算法可以快速解决此问题。
谢谢。