C#用GDAL/OGR庫讀取與寫shape投影資訊[原創]

來源:互聯網
上載者:User
今天花了一點點時間看了一下C#中OGR讀取與寫shape中的投影資訊的方式.
讀寫向量與屬性資訊見上一篇C#用GDAL/OGR庫建立與寫Shape檔案,測試通過[原創]
具體過程為
//投影實驗區
OSGeo.OSR.SpatialReference ss;
ss = orgLayer.GetSpatialRef();//orgLayer為OSGeo.OGR.layer類型執行個體
string ppss;
ss.ExportToWkt(out ppss);//將讀取檔案的shape投影資訊輸出到格式化字串ppss
MessageBox.Show(ppss);
非常簡單.
比如,輸出的一個編碼資訊串為
GEOGCS["GCS_North_American_1927",DATUM["North_American_Datum_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199433]]
這個串就是OGR裡面標準的wkt串

然後往新產生的shape裡寫投影資訊的過程也比較簡單.
string strwkt = "GEOGCS[\"GCS_North_American_1927\",DATUM[\"North_American_Datum_1927\",SPHEROID[\"Clarke_1866\",6378206.4,294.9786982]],PRIMEM[\"Greenwich\",0],UNIT[\"Degree\",0.0174532925199433]]";
注意字串中雙引號表示為\"
OSGeo.OSR.SpatialReference srs = new OSGeo.OSR.SpatialReference(strwkt);
//然後在建立Layer的函數中,第二個參數就是//OSGeo.OSR.SpatialReference
此時
poLayer = poDS.CreateLayer("layername1", srs, OSGeo.OGR.wkbGeometryType.wkbPoint, null);

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.