ArcGIS डेस्कटॉप या QGIS में विस्तृत परतों से सीमा निकालें?


10

क्या बहुभुज परत की सीमा (बाहर) परिधि को वापस करना संभव है?

मान लीजिए कि आपके पास यूएसए का मानचित्र है, जो सादगी के लिए, काउंटी स्तर तक टूट गया है, क्या उस नक्शे से पूरे देश के सीमा मानचित्र को वापस करना संभव है?


तो अमेरिका के उदाहरण के मामले में, आप वास्तव में राज्यों की रूपरेखा प्राप्त करते हैं, न कि बाउंडिंग बॉक्स, सही? यदि हां, तो काउंटियों की परत के विघटन के बारे में कैसे?
चाड कूपर

@ कोच कूपर - जब मैं परत को भंग करता हूं, तब भी मुझे काउंटियों और राज्यों के लिए कुछ लाइनें दिखाई देती हैं।
डसॉकी

जवाबों:


6

आप बस काउंटी लेयर पर एक विघटन कर सकते हैं (सुनिश्चित करें कि आपके पास केवल उन काउंटी हैं जो आपके द्वारा चयनित भंग करना चाहते हैं)।


मुझे कुछ आंतरिक रेखाएँ अभी भी घुलती हुई दिखाई दे रही हैं।
डसौकी

3
क्या आप आंतरिक लाइनों को खत्म करने के लिए दो बार बफर कर सकते हैं? मूल आकार को पुनर्स्थापित करने के लिए, लाइनों को फिर से "खाने" के लिए बाहर।
mwalker

किसी कारण से यह काम किया। मुझे पता है कि यह समाधानों का "हैकिएस्ट" है, लेकिन यह एकमात्र समाधान था जिसने लाइनों से छुटकारा पा लिया था
dassouki

1
+1 यह वास्तव में एक महान समाधान है। यह घटक पॉलीगॉन में छोटे स्लिव्स और ओवरलैप्स को समायोजित करके काम करता है (और सॉफ्टवेयर में कई अंतर्निहित बगों को भी मात देता है)।
whuber

1
मैंने mwalker की सलाह का उपयोग तब बाहर करने के लिए किया। मुझे आशा है कि आप अपने उत्तर में इसे शामिल कर सकते हैं।
डसॉकी

4

आप GRASS मॉड्यूल का उपयोग कर सकते हैं: v.dissolve आपको केवल अपना डेटा GRASS में आयात करना होगा। यहाँ अपने डेटा को QGis के अंदर से ग्रास में स्थानांतरित करने की एक स्क्रीन-कास्ट है।


3

मुझे अपनी खुद की परियोजना को प्लग करने की अनुमति दें ... सीमा जनरेटर आपको प्रत्येक बहुभुज की बाहरी और आंतरिक सीमाएं प्रदान करेगा (जैसा कि लाइन की विशेषताएं हैं)।

आंतरिक सीमाएं उस सीमा को साझा करने वाले दो बहुभुजों में से प्रत्येक के लिए एफआईडी के साथ जिम्मेदार हैं। बाहरी सीमाओं में उन दो में से एक के लिए शून्य की एफआईडी होनी चाहिए, इसलिए वे पूर्ण परिणाम से बाहर का चयन करना आसान है।

इसके बारे में अच्छी बात यह है कि बनाम घुलने की बात यह है कि मैंने सटीकता के साथ कुछ नॉब्स जोड़े हैं, ताकि यह बिलकुल सही डेटा से न निपट सके। (साझा सीमा पर विचार करने के लिए दो बहुभुज सीमाओं को कितना दूर रखना चाहिए? कितना कोण विचलन आवश्यक है?)

यह अभी भी अल्फा में है और जब से मैंने अपडेट अपडेट किया है, तब तक यह थोड़ी देर हो चुकी है; मुझे यह सुनकर अच्छा लगेगा कि यह आपके लिए कितना कारगर है!


2
 public static IPolygon getPolygonFromLayer(ILayer layer)
{
            IFeatureLayer FLayer = layer as IFeatureLayer;
            IFeatureClass FClass = FLayer.FeatureClass;
            return polygonMerge(FClass);
}

   private static IPolygon polygonMerge(IFeatureClass featureClass)
        {
            if (featureClass == null) return null;
            IGeoDataset geoDataset = featureClass as IGeoDataset;

            //You can use a spatial filter to create a subset of features to union together. 
            //To do that, uncomment the next line, and set the properties of the spatial filter here.
            //Also, change the first parameter in the IFeatureCursor.Seach method.
            //ISpatialFilter queryFilter = new SpatialFilterClass();

            IGeometry geometryBag = new GeometryBagClass();

            //Define the spatial reference of the bag before adding geometries to it.
            geometryBag.SpatialReference = geoDataset.SpatialReference;

            //Use a nonrecycling cursor so each returned geometry is a separate object. 
            IFeatureCursor featureCursor = featureClass.Search(null, false);

            IGeometryCollection geometryCollection = geometryBag as IGeometryCollection;
            IFeature currentFeature = featureCursor.NextFeature();

            while (currentFeature != null)
            {
                //Add a reference to this feature's geometry to the bag.
                //Since you don't specify the before or after geometry (missing),
                //the currentFeature.Shape IGeometry is added to the end of the geometryCollection.
                object missing = Type.Missing;
                geometryCollection.AddGeometry(currentFeature.Shape, ref missing, ref missing);
                currentFeature = featureCursor.NextFeature();
            }

            // Create the polygon that will be the union of the features returned from the search cursor.
            // The spatial reference of this feature does not need to be set ahead of time. The 
            // ConstructUnion method defines the constructed polygon's spatial reference to be the 
            // same as the input geometry bag.
            ITopologicalOperator unionedPolygon = new PolygonClass();
            unionedPolygon.ConstructUnion(geometryBag as IEnumGeometry);

            return unionedPolygon as IPolygon;
        }

    }

2

जब आप भंग करते हैं तो आपकी पंक्तियाँ प्राप्त होती हैं क्योंकि सीमाएं निर्बाध नहीं होती हैं।

सॉफ़्टवेयर उत्पाद के बावजूद, निम्न कार्य करें:

एक एकीकृत करेंवैकल्पिक शब्द

फिर एक विलयन करेंवैकल्पिक शब्द


मैंने कई बार यह कोशिश की, और यह काम नहीं किया :(, मैं कुछ बहुभुजों को खोता रहता हूं, मैंने एक बहुत छोटी सहिष्णुता और एक बहुत बड़े उपयोग के रूप में
dassouki

1

ऐसा लगता है कि आर्कगिस.कॉम पर पोस्ट किए गए बाउंडिंग कंटेनर का नमूना आपको जो चाहिए, उसके लिए काम करेगा।


यह एक अच्छा विचार है, लेकिन इस समाधान से इस आक्रमण में काम करने की संभावना नहीं है। इसका उद्देश्य आकृतियों के एक वर्ग के सबसे छोटे सदस्य को खोजकर सुविधाओं के बारे में अतिरिक्त ज्यामितीय जानकारी प्रदान करना है, जिसमें एक आयत, वृत्त, दीर्घवृत्त, या उत्तल बहुभुज जैसी विशेषताएं शामिल हैं। परिणाम हमेशा उन लोगों में से एक होता है जिनमें आकृतियाँ होती हैं। सामान्य तौर पर यह मूल आकार के साथ बिल्कुल मेल नहीं खाता जब तक कि उस सीमा में पहले से ही वांछित आकार न हो।
व्हिबर

1

मुझे पता है कि यह एक पुराना प्रश्न है, लेकिन मुझे लगता है कि मुझे जो उत्तर मिला था वह पिछले लोगों के यहाँ से लाया गया था, इसलिए मैं इसे उन लोगों के लिए साझा कर रहा हूँ जो इसे खोज में पाते हैं।

QGIS (संस्करण 2.14 के रूप में कम से कम), प्रसंस्करण टूलबॉक्स में एक "भरें छेद" है, QGIS जियो-एल्गोरिदम> वेक्टोरी ज्यामिति उपकरण के तहत। मुझे लगता है कि घुलती हुई आकृतियाँ और फिर मैक्स क्षेत्र पैरामीटर के साथ भरण छेद को चलाना इस समस्या को हल करता है।


0

तुम भी DROPLINE कार्यक्षमता कहा जाता है के लिए देख रहे हो सकता है।

हालांकि यह आर्कगिस्क डेस्कटॉप संक्रमण के लिए आर्कइन्फो वर्कस्टेशन से बच नहीं पाया, वर्तमान में आराम करने के लिए एक आर्कगैस आइडिया है:

ऐसे पॉलीगनों के बीच की रेखाओं को गिराने का विकल्प रखना अच्छा होगा जो एक निर्दिष्ट क्षेत्र के लिए समान मान रखते हैं। यह कार्यक्षमता आर्कप्लॉट में DROPLINE कमांड के रूप में उपलब्ध थी और इसे विघटित कमांड के साथ एक नया डेटासेट बनाने से बचने के लिए व्यापक रूप से उपयोग किया गया था।


0

आप ST_UNIONQGIS DB प्रबंधक से PostGIS में फ़ंक्शन का उपयोग परत के सभी बहुभुजों (या बहुभुजों के कई समूहों को बड़े बहुभुजों में) को एकत्र करने के लिए कर सकते हैं। प्रलेखन से:

वेरिएंट 2 एक कुल कार्य है जो ज्यामिति का एक सेट लेता है और उन्हें एक एकल ST_Geometry में एकजुट करता है जिसके परिणामस्वरूप कोई प्रतिच्छेद क्षेत्र नहीं होता है

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.