ArcGIS Engine 几何对象和WKB的转换
来源:互联网 发布:淘宝软文范例 编辑:程序博客网 时间:2024/05/22 02:00
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); } }}
转载链接:http://www.cnblogs.com/zuiyirenjian/p/3410141.html
ArcMap中使用ArcPy实现Geometry与WKT的相互转换:http://blog.csdn.net/linghe301/article/details/29554257
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的总结
- [ReactNative] 02--style & width/height & FlexBox
- 准备学习的技能
- python模块与包的导入
- Linux编程基础之epoll简析
- PHP设计模式(2)
- ArcGIS Engine 几何对象和WKB的转换
- Elasticsearch5.0 安装问题集锦
- Html5 新特性
- @Column
- css--清风徐来之选择器区别和选择器声明
- 对linux内核中jiffies、Hz的理解
- OpenCV霍夫圆检测原理
- http://www.myexception.cn/mysql/2040843.html
- eclipse创建maven模块