- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如下所示,地理多边形的结果与几何多边形的结果不同。我想要的是黄色方块,但我得到的是绿色方块。有什么办法可以做到这一点?
如果我创建一个地理多边形,它将返回期望的区域,但带有曲线,这是我不想要的。为什么我的几何多边形的结果与我的地理多边形不同?是否可以创建跨越日期线的几何多边形?
我知道地理多边形应该逆时针旋转。我为几何多边形尝试了顺时针和逆时针方向,结果是相同的。如何设置几何多边形的方向?
declare @maxLat varchar(50);
declare @minLong varchar(50);
declare @minLat varchar(50);
declare @maxLong varchar(50);
set @maxLat ='-17.041470974676777'
set @minLong ='107.1076781691894'
set @minLat ='-41.6281068235708'
set @maxLong='-169.2204468308106'
declare @boundingRectGeography varchar(1000)
SET @boundingRectGeography = 'POLYGON((' + @minLong + ' ' + @minLat + ', ' +
@maxLong + ' ' + @minLat + ', ' +
@maxLong + ' ' + @maxLat + ', ' +
@minLong + ' ' + @maxLat + ', ' +
@minLong + ' ' + @minLat + '))'
DECLARE @BoundsGeography AS Geography =GEOGRAPHY::STPolyFromText(@boundingRectGeography,4326)
select @BoundsGeography
DECLARE @boundingRectGeometry varchar(1000)
SET @boundingRectGeometry = 'POLYGON((' + @minLong + ' ' + @minLat + ', ' +
@maxLong + ' ' + @minLat + ', ' +
@maxLong + ' ' + @maxLat + ', ' +
@minLong + ' ' + @maxLat + ', ' +
@minLong + ' ' + @minLat + '))'
DECLARE @BoundsGeometry AS geometry =geometry::STPolyFromText(@boundingRectGeometry,4326)
select @BoundsGeometry
@dotMorten
友好地调查了我的问题,并建议在我的
maxLong
中添加+360。我在创建多边形之前添加了以下经度,但是它不适用于以下所有经度和纬度集:
set @maxLat ='69.00668202899128'
set @minLong ='158.5892594884939'
set @minLat ='-17.38989745726571'
set @maxLong='133.2767594884939'
set @maxLong=convert(VARCHAR(20), convert(float,@maxLong) +360 )
最佳答案
开始
几何列和地理列之间的区别在于,将几何列应用于平面(平面),而将地理列应用于球体(弯曲)。
解释这些有何不同:
想象一下,向前走6,225英里,向左转,向前走6,225英里,向左转,然后向前走6,225英里。
在飞机上,您刚制作了一个U形。 | _ |
在地球上,您回到了起点(或相对接近)。
如果您从北极开始,则走到赤道,向左转,沿着赤道走,然后向左拐,现在正向北走,您将最终回到北极。
这就是为什么确定2个GPS坐标之间的距离包括一堆数学的原因,即使距离看起来很简单。
投影
地球上有很多不同的地图。您通常会看到一种,有些是在边缘弯曲的,有些则是怪异的形状。这是因为我们试图在一张纸上画一个球的表面。
想象一下从地球仪的表面窥探并试图将其平放。如果您希望它是一个矩形,则将需要顶部和底部,并对其进行拉伸,因为没有足够的材料。这是墨卡托投影背后的概念。
Relevant XKCD
弯曲的结果
在SQL Server中映射结果时,默认投影为等矩形。等角投影绘制地球,因此纬度和经度在整个地图上均匀变化,即经度= x和纬度= y。
当查看整个星球时,这会导致一些变形。距赤道较远的事物比距赤道较近的事物受到的影响更大,而距(0,0)较远的事物会受到影响。澳大利亚适合这两种情况,因此其形状会变形。
当您在该区域中绘制一个框时,默认情况下,SQL Server将使形状变形。不同的投影系统会扭曲您看到的形状。在Management Studio中“空间结果”选项卡的右侧,将有三个下拉框;它们分别是:最后一个下拉框允许您更改投影。尝试在不同的选项之间切换以查看它们如何变化。
您的问题
地图上的矩形框看起来像是一个简单的请求,但是由于上面列出的所有相同原因,将其转换为球体表面上的形状实际上是相当复杂的,但反之亦然。在球体上,您描述的形状同样失真。这意味着您有两个选择:
接受矩形的变形(弯曲度)。
用许多点描述矩形。使用的点越多,形状看起来越接近矩形。
例:
与
点的方向
再一次,这里的问题是您处在一个范围内。
对于地理数据类型,多边形是球体表面的任何部分。这意味着它可以是除一个微小区域之外的整个球体,也可以是那个微小区域。方向可让您决定要描述的形状。
对于几何数据类型,这不适用。经度= 181与经度= -179相同,但x = 181与x = -179不相同。这意味着对于您声明的形状实际上是形状(而不是带有小孔的无限平面),SQL Server将自动假定您想要这些点所描述的正方形,即大盒子。为了使几何数据类型创建您在地理区域中看到的形状,将需要使用多多边形。
但是,这仅仅是由于地理基准。在几何数据类型中,平面将永远延伸,但是在地理数据类型中,平面会环绕。这意味着,如果对(0,0)使用不同的位置,则形状将显示为整体,而不是两块。
希望这已经清除了一些东西。
关于sql-server - SQL几何多边形的方向并跨越国际日期线(IDL),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35643156/
我有以下 StackedXYAreaChart: 如何让我的绘图从左到右一直延伸,以便图表和绘图的边界之间没有空白?谢谢! 最佳答案 createStackedAreaChart()方法创建一个具有
当您将一个从 MarshalByRefObject 继承的对象传递给另一个 AppDomain 时,创建它的 AppDomain 所诱导的 GC.Collect() 不会收集该对象,前提是该对象在 G
我有一个使用 DefaultTableModel 的 JTable,它会生成如下表: 但是我很好奇是否有一种好方法可以在交叉的单元格中创建箭头,如下例所示...... 这对我来说似乎很难。有什么方法可
我在一个 div 中有 3 个 span。 Title Someinfomation Toright 为了使 c 类垂直对齐,我必须使用 margin-top 来修复它然而,对于 IE
首先,我完全意识到这个问题已经被问过很多次了,但是我发现的每种方法似乎都已经过时了和/或所引用的链接已不复存在。 所以我想知道是否有一种方法可以使 JTable 中的特定行跨越所有列,就像一个忽略该列
我需要帮助来按照下图获取 Bootstrap 布局。我无法弄清楚如何让黄色条与 Bootstrap 容器的整个宽度一起显示,而不影响列在移动 View 上的堆叠方式(第二张图片)。 所以我不需要在移动
我有一个包含以下数据的集合 _id name type 1 Banana Fruit 2 Tomato Vegetable 3 Carrot Vegetable 4 Tom
我知道有很多这类问题,但我没有看到一个与我的标准足够相似的问题。所以我想请你帮忙。我拥有的字段只是时间类型的开始和结束。我不能在其中涉及任何具体日期。如果时间范围不超过一天的午夜,我将直接比较两个元组
我有一个包含许多数字列的数据框,第一列需要针对第二列进行回归,然后存储 Rsqr 值,然后第一列针对第三列,然后存储 Rsqr 值...等等.这样做直到第 n 列回归到第 1 列。 我希望结果是一个数
标题可能很隐晦,但这是我的问题。 我有一张一天的事件表(行程表)。每个条目(例如参观博物馆)都有 slot_start 和 slot_end 时间列。这是 24 小时格式,例如 13:00:00 -
这对我来说是一个大问题,我正在努力解决不同设备之间的缩放问题。如果我只有一个回显的乘数,那就太好了,除非可以使用 javascript 变量来代替宽度、高度、字体大小等值... 例如,stackexc
不必是表格也可以是 div。 我的图片有一些透明部分需要混合。上半部分需要与下半部分不同的背景颜色混合。 所以在我看来,表格有 2 行,其中一行有一种背景颜色,另一行有另一种背景颜色,但图像跨越两行。
我试图以这样一种方式将 span 与 div 一起使用,即最后一个 span 占据 div 的剩余宽度 dddd: ssss .data{width:100%;display:bl
我在跨共享库边界使用 libstdc++ 的 std::any 实现和 mingw 时偶然发现了一个问题。它会产生一个 std::bad_any_cast 显然不应该(我相信)。 我使用 mingw-
我正在从一张 1bpp 索引图像剪切并粘贴到一张新图像。 一切正常,直到起始像素是 8 的除数。在下面的代码中,步幅等于相对于矩形宽度的值,直到我达到字节边界。那么步幅等于整个页面的宽度。 var c
我目前有以下 SwiftUI View : HStack { ... VStack { TextField { ... } SecureField { ... } Bu
我想构建一个标准的 JTable,但所有行都分布在一个特定的列上。因此该列必须仅包含一个以 JTextPane 作为其渲染器的单元格。您知道任何简单的方法吗? 注意:不需要第三方软件。 谢谢。 最佳答
这个问题在这里已经有了答案: 关闭 12 年前。 Possible Duplicate: Auto-size dynamic text to fill fixed size container. 假
我有一个左浮动的 div 和它跨越左浮动的 div 之后的 div。 看这里http://www.kienitz.it/kienitz_cms/referenzen/ . 我想要这样:http://w
我在水平导航栏上有一个下 zipper 接,如下所示:
我是一名优秀的程序员,十分优秀!