代码拉取完成,页面将自动刷新
地理信息处理库,包括WKT,WKB解析,图形相交,擦除等叠加分析
https://github.com/NetTopologySuite/NetTopologySuite NetTopologySuite
NetTopologySuite
static void WKTIntersection()
{
var wkt1 = File.ReadAllText("E:\\g1.wkt");
var wkt2 = File.ReadAllText("E:\\g2.wkt");
Geometry geo1 = new WKTReader().Read(wkt1);
Geometry geo2 = new WKTReader().Read(wkt2);
//验证要素是否有效,为空或者有自相交则无效
if (geo1.IsValid == false)
{
return;
}
if (geo2.IsValid == false)
{
return;
}
//是否检查节点有效,如果存在自相交等则相交失败
// ByGeo.Operation.Overlay.OverlayOp.NodingValidatorDisabled = true;
var result = geo1.Intersection(geo2);
var resultstr = new WKTWriter().Write(result);
By.GeometryEllipse ellipse = new By.GeometryEllipse();
double nArea = ellipse.Area(resultstr);
Console.WriteLine(resultstr);
}
static void EllipseArea()
{
var g1 = "POLYGON ((105.66278148717595 26.268896196702144,105.65603151224457 26.270494874738745,105.6553345349609 26.27166525334883,105.65733907973481 26.273402525905908,105.6625862344672 26.271431379254807,105.66278148717595 26.268896196702144))";// File.ReadAllText("E:\\g1.wkt");
Geometry geo1 = new WKTReader().Read(g1);
double gArea = geo1.Area;//平面面积,所以必须是平面坐标系
//wkt
var text = geo1.AsText();
By.GeometryEllipse ellipse = new By.GeometryEllipse();
double nArea = ellipse.Area(text);
}
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。