我有两点描述一个矩形:
东北纬度/经度和西南纬度/经度。
生成可以存储在DbGeography
字段中的简单矩形实体的正确有效方法是什么?
请注意,稍后我想使用该字段来确定 POINT 是否在此 Rectangle 内。
我意识到我应该使用DbGeography.FromText(...)
方法,但我不确定如何使用。
我有两点描述一个矩形:
东北纬度/经度和西南纬度/经度。
生成可以存储在DbGeography
字段中的简单矩形实体的正确有效方法是什么?
请注意,稍后我想使用该字段来确定 POINT 是否在此 Rectangle 内。
我意识到我应该使用DbGeography.FromText(...)
方法,但我不确定如何使用。
该FromText
方法需要WKT表示,在本例中为多边形:
这样的事情应该可以解决问题:
DbGeography box = DbGeography.FromText(
string.Format("POLYGON(({0} {1}, {0} {2}, {3} {2}, {3} {1}, {0} {1}))",
nwLongitude,
nwLatitude,
seLatitude,
seLongitude), 4326);
如果你有 NE 和 SW 坐标,你可以使用这个:
DbGeography box = DbGeography.FromText(
string.Format("POLYGON(({0} {1}, {0} {2}, {3} {2}, {3} {1}, {0} {1}))",
swLongitude, //nwLongitude,
neLatitude, //nwLatitude,
swLatitude, //seLatitude,
neLongitude, //seLongitude
), 4326);