• 大小: 15.29MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-06-18
  • 语言: C#
  • 标签: GDALWKT  

资源简介

C# GDAL 2.1.0读取Shapefile并将Shape转换为WKT源码

资源截图

代码片段和文件信息

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;

namespace WKTConvert
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private string wktString;

        public string WktString
        {
            get { return wktString; }
            set { wktString = value; }
        }

        /// 
        /// 读取Shapefile shp信息
        /// 

        /// Shapefile路径
        /// shp信息
        public string ReadSHP(string path)
        {
            string strMessage = ““;

            OSGeo.OGR.Ogr.RegisterAll();
            OSGeo.OGR.Driver dr = OSGeo.OGR.Ogr.GetDriverByName(“ESRI shapefile“);

            if (dr == null)
            {
                MessageBox.Show(“文件不能打开,请检查“);
                return ““;
            }

            OSGeo.OGR.DataSource ds = dr.Open(path 0);
            int layerCount = ds.GetlayerCount();

            OSGeo.OGR.layer layer = ds.GetlayerByIndex(0);

            //投影信息
            OSGeo.OSR.SpatialReference coord = layer.GetSpatialRef();
            string coordString;
            coord.ExportToWkt(out coordString);

            OSGeo.OGR.Feature feat;
            //string contentString = ““;
            string wkt;
            string strWkt = string.Empty;
            //读取shp文件
            while ((feat = layer.GetNextFeature()) != null)
            {
                OSGeo.OGR.Geometry geometry = feat.GetGeometryRef();
                OSGeo.OGR.wkbGeometryType goetype = geometry.GetGeometryType();
                geometry.ExportToWkt(out wkt);
                strWkt += wkt + “\n“;             
            }

            strMessage += “该文件有:“ + layerCount + “层“;
            strMessage += Environment.NewLine;
            strMessage += “该文件坐标信息为:“ + coordString;
            strMessage += Environment.NewLine;
            strMessage += “几何类型:“ + layer.GetGeomType();//shp的类型
            strMessage += Environment.NewLine;
            strMessage += “该文件共有:“ + layer.GetFeatureCount(0).ToString() + “记录“;
            strMessage += Environment.NewLine;
            strMessage += strWkt;
            return strMessage;
        }

        private void btnSelect_Click(object sender EventArgs e)
        {
            using (OpenFileDialog ofg = new OpenFileDialog())
            {
                ofg.InitialDirectory = Path.GetFullPath(“../../World“);
                ofg.Filter = “Shapefile(*.shp)|*.shp“;
                if (ofg.ShowDialog() == DialogResult.OK)
                {
                    txtInput.Text = ofg.FileName;
                }
            }
        }

        private void btnConvertToWkt_Click(object sender EventArgs e)
        {
  

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件        144  2016-05-04 10:10  WKTConvert\app.config

     文件    1826304  2015-11-23 02:50  WKTConvert\bin\Debug\cairo.dll

     文件    1001472  2015-11-23 02:06  WKTConvert\bin\Debug\cfitsio.dll

     文件     118272  2015-11-23 04:32  WKTConvert\bin\Debug\expat.dll

     文件      50688  2015-11-23 01:07  WKTConvert\bin\Debug\freexl.dll

     文件     110592  2015-11-23 02:19  WKTConvert\bin\Debug\fribidi.dll

     文件    9694208  2015-11-26 05:27  WKTConvert\bin\Debug\gdal111.dll

     文件      19456  2015-11-26 05:30  WKTConvert\bin\Debug\gdalconst_csharp.dll

     文件      12288  2015-11-26 05:30  WKTConvert\bin\Debug\gdalconst_wrap.dll

     文件      80384  2015-11-26 05:30  WKTConvert\bin\Debug\gdal_csharp.dll

     文件     110592  2015-11-26 05:30  WKTConvert\bin\Debug\gdal_wrap.dll

     文件    1018880  2015-11-23 01:04  WKTConvert\bin\Debug\geos.dll

     文件     228864  2015-11-23 01:04  WKTConvert\bin\Debug\geos_c.dll

     文件     898048  2015-11-23 01:07  WKTConvert\bin\Debug\iconv.dll

     文件     288256  2015-11-23 01:43  WKTConvert\bin\Debug\libcurl.dll

     文件    1158144  2015-11-23 01:34  WKTConvert\bin\Debug\libeay32.dll

     文件    1026560  2015-11-25 03:30  WKTConvert\bin\Debug\libecwj2.dll

     文件      38912  2015-11-23 02:10  WKTConvert\bin\Debug\libfcgi.dll

     文件     350208  2015-11-23 03:35  WKTConvert\bin\Debug\libkea.dll

     文件    3871232  2015-11-23 03:53  WKTConvert\bin\Debug\libmysql.dll

     文件     119296  2015-11-23 01:54  WKTConvert\bin\Debug\libpq.dll

     文件     719872  2015-11-23 02:25  WKTConvert\bin\Debug\libtiff.dll

     文件    1005056  2015-11-23 02:04  WKTConvert\bin\Debug\libxml2.dll

     文件    3752960  2014-06-19 19:39  WKTConvert\bin\Debug\lti_dsdk_9.1.dll

     文件     287232  2014-06-19 19:21  WKTConvert\bin\Debug\lti_lidar_dsdk_1.1.dll

     文件    2296832  2015-11-26 05:38  WKTConvert\bin\Debug\mapserver.dll

     文件     108544  2015-11-23 03:45  WKTConvert\bin\Debug\mfhdfdll.dll

     文件     421200  2011-06-11 08:58  WKTConvert\bin\Debug\msvcp100.dll

     文件     773968  2011-06-11 08:58  WKTConvert\bin\Debug\msvcr100.dll

     文件    7518144  2014-03-11 01:16  WKTConvert\bin\Debug\NCSEcw.dll

............此处省略104个文件信息

评论

共有 条评论

相关资源