ArcGIS Engine 几何对象和WKB的转换
来源:互联网 发布:量子统计 淘宝 编辑:程序博客网 时间:2024/05/22 06:51
using System;using System.Collections.Generic;using System.Text;using GisSharpBlog.NetTopologySuite.IO;using ESRI.ArcGIS.Geometry;namespace Utils{ /// <summary> /// This class is used to convert a GeoAPI Geometry to ESRI and vice-versa. /// It can also convert a ESRI Geometry to WKB/WKT and vice-versa. /// </summary> public static class Converters { public static byte[] ConvertGeometryToWKB(IGeometry geometry) { IWkb wkb = geometry as IWkb; ITopologicalOperator oper = geometry as ITopologicalOperator; oper.Simplify(); IGeometryFactory3 factory = new GeometryEnvironment() as IGeometryFactory3; byte[] b = factory.CreateWkbVariantFromGeometry(geometry) as byte[]; return b; } public static byte[] ConvertWKTToWKB(string wkt) { WKBWriter writer = new WKBWriter(); WKTReader reader = new WKTReader(); return writer.Write(reader.Read(wkt)); } public static string ConvertWKBToWKT(byte[] wkb) { WKTWriter writer = new WKTWriter(); WKBReader reader = new WKBReader(); return writer.Write(reader.Read(wkb)); } public static string ConvertGeometryToWKT(IGeometry geometry) { byte[] b = ConvertGeometryToWKB(geometry); WKBReader reader = new WKBReader(); GeoAPI.Geometries.IGeometry g = reader.Read(b); WKTWriter writer = new WKTWriter(); return writer.Write(g); } public static IGeometry ConvertWKTToGeometry(string wkt) { byte[] wkb = ConvertWKTToWKB(wkt); return ConvertWKBToGeometry(wkb); } public static IGeometry ConvertWKBToGeometry(byte[] wkb) { IGeometry geom; int countin = wkb.GetLength(0); IGeometryFactory3 factory = new GeometryEnvironment() as IGeometryFactory3; factory.CreateGeometryFromWkbVariant(wkb, out geom, out countin); return geom; } public static IGeometry ConvertGeoAPIToESRI(GeoAPI.Geometries.IGeometry geometry) { WKBWriter writer = new WKBWriter(); byte[] bytes = writer.Write(geometry); return ConvertWKBToGeometry(bytes); } public static GeoAPI.Geometries.IGeometry ConvertESRIToGeoAPI(IGeometry geometry) { byte[] wkb = ConvertGeometryToWKB(geometry); WKBReader reader = new WKBReader(); return reader.Read(wkb); } }}
阅读全文
0 0
- ArcGIS Engine 几何对象和WKB的转换
- ArcGIS Engine 几何对象和WKB的转换
- ArcGIS Engine中 IGeometry和Json字符串的相互转换
- ArcGIS Engine中 IGeometry和Json字符串的相互转换
- ArcGIS Engine中 IGeometry和Json字符串的相互转换
- ArcGIS Engine中 IGeometry和Json字符串的相互转换
- Arcgis Engine 分解对象
- ArcGIS Runtime for IOS 几何对象与json的互相转换
- Arcgis Engine和ArcObjects的区别
- ArcGIS10.1中的ArcGIS Engine和 ArcGIS Runtime的关系
- Net下Arcgis engine COM对象的释放问题
- AGF和WKB释义
- AGF和WKB释义
- 什么是WKT和WKB
- 使用标准的格式:WKT、WKB和GML(1)
- ArcGIS Engine 属性和方法
- 基于ArcGIS Engine和C#的管线剖面图的制作
- vista下安装VS2005和ArcGIS Engine的总结
- 生成WORD
- 远程计算机或设备将不接受连接,谷歌浏览器无法上网
- js获取菲波那契数列的第N个元素
- Windows下 VM12虚拟机安装OS X 10.11(详细教程)
- org.springframework.beans.factory.BeanCreationException
- ArcGIS Engine 几何对象和WKB的转换
- 关于windows下phpstorm+vmware的lnmp共享文件夹问题的最佳实践
- ArcMap中使用ArcPy实现Geometry与WKT的相互转换
- 814/ A. An abandoned sentiment from past
- 56. Merge Intervals
- 进程与线程
- 【python 图像识别】图像识别从菜鸟走向大神系列1
- Vue2生命周期
- Java实现的链表,提供增,删,改,查方法。