天天看點

IGeometry轉WKT

轉換需要用到一個叫NetTopologySuite的插件,github位址。下載下傳編譯好的版本引入到項目中,然後using NetTopologySuite.IO即可。

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 byte[] ConvertGeometryToWKB(IGeometry geometry)
        {
            IGeometryFactory3 factory = new GeometryEnvironment() as IGeometryFactory3;
            byte[] b = factory.CreateWkbVariantFromGeometry(geometry) as byte[];
            return b;
        }