मेरे पास Shapefile है जिसमें कई हजार बहुभुज हैं।सी # में एक आकार से WKT निर्यात करने के लिए कैसे?
मुझे इस फ़ाइल से सी # में पढ़ने और WKT formatted तारों की एक सूची आउटपुट करने की आवश्यकता है।
मैंने DotSpatial और "CatFood" ESRI Shapefile Reader पर देखा। मैं या तो आकारफाइल को ठीक से लोड करने के लिए प्राप्त कर सकता हूं, लेकिन मैं यह नहीं समझ सकता कि WKT के रूप में निर्यात कैसे करें।
डॉटस्पाटियल में, केवल एक उदाहरण जो मुझे मिल सकता है WktWriter
जो Geometry
लेता है। मैं Shape
से Geometry
प्राप्त करने का तरीका नहीं समझ सका।
क्या ऐसी कोई पुस्तकालय है जो इसके लिए अधिक उपयुक्त है?
using (var fs = FeatureSet.Open(path))
{
var writer = new WktWriter();
var numRows = fs.NumRows();
for (int i = 0; i < numRows; i++)
{
var shape = fs.GetShape(i, true);
var geometry = shape.ToGeometry();
var wkt = writer.Write((Geometry) geometry);
Debug.WriteLine(wkt);
}
}
कारण मैं यह मूल रूप से याद किया है, क्योंकि मैं this sample पीछा कर रहा था, जो fs.ShapeIndices
fs.GetShape()
के बजाय का उपयोग करता है:
अद्यतन
mdm20 के जवाब के लिए धन्यवाद, मैं निम्नलिखित लिखने में सक्षम था । यह Shape
नहीं है, लेकिन ShapeRange
है, जिसे मैं ज्यामिति में परिवर्तित नहीं कर सका।
नए सवाल
- मैं
fs.IndexMode = true
की स्थापना किया जाना चाहिए? क्यों या क्यों नहीं? ऐसा कोई प्रदर्शन या परिणाम प्रभाव प्रतीत नहीं होता है। fs.GetShape()
getAttributes
नामक एक बूलियन लेता है। मेरे पास मेरे आकृतियों पर गुण हैं, और ऐसा लगता है कि यह सच या गलत है या नहीं। फिर, किसी भी तरह का प्रदर्शन प्रदर्शन प्रभाव नहीं है। क्या यह उम्मीद है?- उन्हें इस तरह से प्राप्त करके, क्या डब्लूकेटी आकारफाइल में संग्रहीत वास्तविक मूल्यों का प्रतिनिधित्व करता है? या वे किसी भी तरह से बदल रहे हैं? क्या यह dotSpatial से खाते में कोई डिफ़ॉल्ट सेटिंग्स ले रहा है, और क्या मुझे उन्हें बदलने के बारे में चिंतित होना चाहिए?
- मैं जिस आकार का आयात कर रहा हूं वह world timezone map है। इसमें एक .prj फ़ाइल होती है। क्या dotSpatial इसे ध्यान में रखता है, और यदि नहीं - क्या मुझे कुछ अतिरिक्त करने की आवश्यकता है?
बहुत धन्यवाद!
धन्यवाद! अधिक प्रश्नों के साथ कृपया मेरा अद्यतन प्रश्न देखें। :) –