gpt4 book ai didi

c# - 将 SQL 地理转换为 C#

转载 作者:可可西里 更新时间:2023-11-01 08:10:21 30 4
gpt4 key购买 nike

此地理空间 T-SQL 代码的 C# 等效项是什么?

DECLARE @g geography;
DECLARE @h geography;
SET @g = geography::STGeomFromText('POLYGON((-122.358 47.653, -122.348 47.649, -122.348 47.658, -122.358 47.658, -122.358 47.653))', 4326);
SET @h = geography::Point(47.653, -122.358, 4326)

SELECT @g.STIntersects(@h)

我正在尝试使用 SqlGeometry 数据类型在多边形中查找一个点——并且可以使用上述 T-SQL;但我不明白如何实现等效的 C# 代码。

最佳答案

试试这个:

public bool OneOffSTIntersect()
{
var g =
Microsoft.SqlServer.Types.SqlGeography.STGeomFromText(
new System.Data.SqlTypes.SqlChars(
"POLYGON((-122.358 47.653, -122.348 47.649, -122.348 47.658, -122.358 47.658, -122.358 47.653))"), 4326);
// suffix "d" on literals below optional but explicit
var h = Microsoft.SqlServer.Types.SqlGeography.Point(47.653d, -122.358d, 4326);

// rough equivalent to SELECT
System.Console.WriteLine(g.STIntersects(h));

// Alternatively return from a C# method or property (get).
return g.STIntersects(h);
}

MSDN 的 SqlGeography Methods页面链接到每个 C# 等同于 T-SQL 中的关键调用的信息 - 例如ST 相交

关于c# - 将 SQL 地理转换为 C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16456365/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com