ArcGIS Desktop 또는 QGIS의 상세 레이어에서 경계를 추출 하시겠습니까?


10

다각형 레이어의 경계 (외부) 둘레를 반환 할 수 있습니까?

단순함을 위해 미국 수준의지도를 카운티 수준으로 분류했다고 가정 해 봅시다. 해당지도에서 전체 국가의 경계지도를 반환 할 수 있습니까?


따라서 미국의 사례에서는 실제로 경계 상자가 아닌 주 개요를 얻는다는 의미입니까? 그렇다면 카운티 계층의 해산은 어떻습니까?
채드 쿠퍼

@ 채드 쿠퍼-레이어를 해산해도 카운티와 주에 여전히 일부 라인이 나타납니다.
dassouki

답변:


6

카운티 레이어에서 디졸브를 수행 할 수 있습니다 (해산 할 카운티 만 선택해야 함).


내부 줄이 여전히 디졸브에 표시됩니다.
dassouki

3
내부 라인을 제거하기 위해 두 번 버퍼링 할 수 있습니까? 원래 크기로 복원하려면 줄을 "먹은"다음 다시 넣습니다.
mwalker

어떤 이유로 이것이 효과가있었습니다. 나는 그것이 해결책 중 "가장 까다로운"방법이라는 것을 알고 있지만, 이것이 유일한 해결책이었다
dassouki

1
+1 이것은 실제로 훌륭한 솔루션입니다. 구성 요소 다각형의 작은 은색과 겹침을 수용하여 작동합니다 (또한 소프트웨어의 많은 고유 버그도 극복 함).
whuber

1
mwalker의 조언을 사용하여 버퍼에 넣었습니다. 답변에 포함시킬 수 있기를 바랍니다.
dassouki

4

GRASS 모듈을 사용할 수 있습니다 : v.dissolve GRASS로 데이터를 가져 오기만하면됩니다. 다음 은 QGis 내부에서 Grass로 데이터를 전송하는 화면입니다.


3

내 프로젝트를 직접 연결할 수 있습니다 ... Boundary Generator 는 모든 다각형의 외부 및 내부 경계를 모두 선 기능으로 제공합니다.

내부 경계는 해당 경계를 공유하는 두 다각형 각각에 대한 FID로 표시됩니다. 외부 경계는이 두 가지 중 하나에 대해 FID가 0이어야하므로 전체 결과에서 쉽게 선택할 수 있습니다.

그것에 대한 좋은 점은 용해에 대해 몇 가지 노브를 추가하여 완벽하지 않은 데이터를 처리 할 수 ​​있다는 것입니다. (두 다각형 경계를 공유 경계로 간주해야하는 거리는 어느 정도입니까? 각도 편차가 어느 정도 필요합니까?)

여전히 알파 상태이며 업데이트를 수행 한 지 오래되었습니다. 나는 그것이 당신을 위해 얼마나 잘 작동하는지 듣고 싶습니다!


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

같은 소리가 난다 경계 컨테이너 샘플 arcgis.com에 게시 당신이 원하는 것을 위해 작동합니다.


이것은 좋은 생각이지만, 그 해결책은이 fasion에서 효과가 없을 것입니다. 직사각형, 원, 타원 또는 볼록 다각형과 같이 형상을 포함하는 도형 클래스의 가장 작은 멤버를 찾아 형상에 대한 추가 형상 정보를 제공합니다. 결과는 항상 도형을 포함하는 것 중 하나입니다. 일반적으로 경계가 원하는 모양을 가지고 있지 않으면 원래 모양과 정확히 일치하지 않습니다.
whuber

1

나는 이것이 오래된 질문이라는 것을 알고 있지만 방금 찾은 대답은 이전의 질문 이후 소개 된 것으로 생각하며 검색에서 찾는 사람들과 공유하고 있습니다.

QGIS (버전 2.14 이상)는 처리 도구 상자의 QGIS 지리 알고리즘> Vectory 지오메트리 도구 아래에 "Fill Holes"가 있습니다. 도형을 해산 한 다음 최대 영역 매개 변수를 매우 높게 설정하여 구멍 채우기를 실행하면이 문제가 해결됩니다.


0

DROPLINE 기능이라고하는 것을 찾고있을 수도 있습니다.

ArcInfo Workstation에서 ArcGIS Desktop으로의 전환에서 살아남지 못했지만 현재 복원 할 ArcGIS Idea 가 있습니다.

지정된 필드에 대해 동일한 값을 가진 다각형 사이에 선을 드롭하는 옵션이 있으면 좋을 것입니다. 이 기능은 ArcPlot에서 DROPLINE 명령으로 사용할 수 있었으며 dissolve 명령으로 새 데이터 세트를 생성하지 않도록하는 데 널리 사용되었습니다.


0

ST_UNIONQGIS DB Manager의 PostGIS 기능을 사용하여 레이어의 모든 다각형 (또는 많은 다각형 그룹을 더 큰 다각형으로)을 수집 할 수 있습니다 . 설명서에서 :

변형 2는 일련의 형상을 가져와 단일 ST_Geometry로 통합하여 교차 영역이없는 집계 함수입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.