- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
MSDN documentation只是将返回值定义为:
A double value that specifies the distance between the two closest points in this geometry value and other.
返回什么单位?测试值与我识别的任何内容都不匹配并且在 WHERE 子句中不起作用。
var results = db.Locations.Where(t => t.ItemPoint.Distance(targetPoint) <= 100); // 100km
注意:我使用 .NET 连接器将 MySQL 与 Entity Framework 结合使用,它不支持使用 SRID 值。
最佳答案
虽然 MSDN 文档可以提供更多信息,但它没有指定值的度量,因为它会根据 SRID(或缺少 SRID)而变化。
如果没有 SRID,Geometry 只能在平面网格(或平面)系统上工作(想想老派方格纸)。因此,您的距离答案是简单的毕达哥拉斯结果
a2 + b2 = c2>>>>>> c = SqRt(a2 + b2)。
例如:
using System.Data.Entity.Spatial;
DbGeometry geom1 = DbGeometry.FromText("POINT(0 0)");
DbGeometry geom2 = DbGeometry.FromText("POINT(50 50)");
Console.WriteLine(geom1.Distance(geom2));
//Returns 70.71067811 (the square root of (50 sq'd + 50 sq'd)).
你会发现这个 blog有趣的阅读,跳到页面的中部,您将找到如何创建用户定义的半正弦计算方法,该方法允许您将结果转换为距离。
不过请注意,如果您不能在 EF for MySQL 中映射存储过程,那么您将需要求助于良好的老式 ADO 来获得结果。确保使用 st_distance 而不是 mbr_distance,因为 st_distance 是精确的,而 mbr_distance 将包含误报。对于 st_distance,您需要 MySQL 5.6.1。
最后,如果空间数据很重要,请尽可能考虑另一个数据库。
关于mysql - DbGeometry.Distance 返回什么单位?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22184634/
我有个问题希望大家帮我解决 我有一个 DbGeometry 点(或 DbGeography,我可以同时使用两者),我想检查它是否在 DbGeometry 多边形(或者 DbGeography)内。 我
我是新手。我不知道如何使用 SqlSpatialFunction MakeValid。我有一个 DbGeometry,它是一个多边形。这个多边形无效,我想使其有效。 谁能解释一下如何使用 MakeVa
MSDN documentation只是将返回值定义为: A double value that specifies the distance between the two closest poin
我正在尝试解析显示为 DbGeometry 的多边形类(从 System.Data.Entity.Spatial )到一些 List 表示,但是失败了。 我试过: - 用 .ToList<>() 方法
我正在按照 John Papa 在其最新的 PluralSight 类(class)中概述的方法使用 Angular、Breeze 和 Web API 2 构建 SPA。 一切正常,我可以将信息提取、
SqlGeometry 和 DbGeometry 之间有没有简单的转换方法?我正在使用一个流行的 sql 空间帮助程序库,其中的所有函数都需要 SqlGeometry。但是,当我针对 ESRI Arc
我有一个包含几何列的空间表。我的实体如下: public class Tile { public DbGeometry Geometry { get; set; } } 我正在使用数据传输对象
我有一个这个模型: public partial class UserPosition { ... public DbGeometry Position { get; set; }
我对 WKT 和 DbGeometry 一起工作有疑问。当我像这个例子一样使用 POINT 作为几何体时,效果很好。 DbGeometry myGeometry1 = DbGeometry.FromT
我正在尝试计算折线的面积 string poly = "POLYGON ((637604.918432772 2230520.64934531, 637622.257266129 223041
我正在使用 Entity Framework 6 进行 crud 操作,包括 DbGeometry 属性。该属性包含一个从 WellKnownText 创建的多边形。 DbGeometry.Polyg
我在一个表中有许多空间实体,其中有一个名为 Boundaries 的 geometry 字段。我想生成一个具有简化形状/几何图形的 GeoJson 文件。 这是我的第一次尝试: var entitie
我正在尝试创建一个 DbGeometry 类型的多边形。它在我的本地计算机上运行良好,但在 Azure Web 角色上托管我的网站时,返回语句出现错误。 代码: string polygon = “P
如标题所示,我有一个代码,当数据库中没有几何图形并且 DbGeometry 获得空值时,我会收到带有空值的 DbNull 类型。但是当我想做一个 if 语句来检查 DbGeometry 是否等于 Db
我正在使用 Entity Framework 6.0 Code First 构建 OData v3 Web API。 一切正常,我可以将 CRUD 操作执行回 api 服务器。 但是,我使用的是空间类
好的,我正在使用 OData v4 和 WebApi 2.2,其中一些实体在坐标系 4674 中设置了 DbGeometry 属性。 假设我们有一个简单的实体,如下所示: public class A
我是一名优秀的程序员,十分优秀!