ArcGIS Desktopを使用して、複数の通りに間口がある区画ポリゴンフィーチャを検索しますか?


8

公共事業省は、市内のいくつの施設が前面と背面の両方に歩道を持っているかを知りたいと考えています。これを実現するために、私は複数の道路に間口がある区画を見つける方法を探しています。私はArcInfo 9.3.1(ファイルジオデータベース)で作業しています。スクリプト作成や他のツールのダウンロードを必要としないソリューションを探しています。ストリートのセンターラインとパーセルポリゴンが利用可能です。歩道レイヤーはありません。

このフォーラムのアイデアの一部を使用して、プロセスを開発およびテストしました。結果の一部は不可解です(コーナーロットは最終結果に含まれる場合と含まれない場合があります-DPWはコーナーロットを含めたくないと思います)、フル42000パーセルにスケールアップすることを心配しています(私は1223パーセルをテストしました) )。結果を改善するためにこのメソッドに追加する手順はありますか?モデルビルダーを介してより自動化できる同じことを達成する別の方法はありますか?

  • パーセルポリゴンフィーチャクラスでフィーチャ対ラインツールを実行します(ポリゴンで共有される境界用に2つのラインが作成され、ラインはパーセルIDを保持します)
  • 「オーバーラップがあってはならない」というルールを使用して、この新しく作成されたパーセルラインフィーチャクラスでジオデータベーストポロジを構築し、トポロジを検証します(内部ラインはエラーになります)
  • ArcMapで、トポロジーとフィーチャクラスを追加し、エラーインスペクターを開いて、エラーを検索し、すべてのエラーを選択します>右クリック>フィーチャを選択>削除(内部の線を削除します)
  • パーセルIDを度数フィールドとしてパーセルラインフィーチャクラスの残りのフィーチャで度数を実行–度数> 1のテーブルでレコードを選択し、新しいテーブルにエクスポート
  • Frequency> 1テーブルをパーセルIDに基づいてパーセルポリゴンに結合し、一致するレコードのみを保持–結合結果をエクスポート

COGOエクステンションにアクセスできますか?webhelp.esri.com/arcgisdesktop/9.3/…–
Mapperz

ArcMapにCOGOツールバーを追加できます。使ったことがない。COGOはツール>拡張機能にリストされていません。
cwb 2011

回答:


8
  1. 道路ネットワークがセグメントで分割されている場合は、道路名またはいくつかの一般的な属性に基づいてバッファーを溶解し、次のステップで道路の個々のセグメントが2つの別々の道路としてカウントされないようにします。

  2. 道路の中心線を標準的な量(通常のROW幅の半分以上)でバッファしますが、前面にない区画に重なるほど大きくはありません。道路のクラスごとに異なるバッファを選択することができます。バッファリングするときは、ポリゴンをマージしないでください。

  3. 「1対多」を選択して、区画を道路バッファーに空間的に結合します。結果の「カウント」フィールドでは、2つの間口を持つすべての区画を識別できます。

これで、区画と道路の間のすべての重なりの行を含むテーブルができました。これを簡単に要約して、GISまたはデータベースを使用して、2つ以上の道路に重なっているすべての区画を見つけることができます。ただし、コーナーロットを排除することはより困難になります。これが1つの広範な方法です。

  1. 「交差してはいけない」というルールを使用して、バッファレイヤのトポロジを設定します。

  2. すべてのエラーを交差点の新しいフィーチャクラスにエクスポートします。

  3. 「1対多」を選択して、交差点をバッファレイヤに空間的に結合します。

この時点で、2つのテーブルがあります。1つはすべて間口があり、もう1つは道路間のすべての交差点があります。簡単ではありませんが、2つの間口が交差しないすべての区画を検索するSQLクエリを作成できます。結果は、交差しない複数の間口を持つすべての区画のセットになります。

この方法の利点の1つは、路地に隣接していないエッジ、水路フィーチャ、鉄道ROWなどのエッジを持つ区画を選択しないことです。欠点は、バッファリングができないことです。完璧であり、それでもエラーがないか視覚的に確認する必要があります。

SQLの記述方法がわからない-たぶん他の誰かがそれを理解することができる。

SQLに関する考えを編集します。

以下のように2つの間口を持つ区画を解決するのはかなり簡単です。次に、2つ以上の間口を持つ区画を手動で調べる必要があるかもしれませんが、うまくいけば、数が少なく、ほとんどが角地になるでしょう。

これは、2つの間口を持つ非コーナー区画のみを選択する場合に機能します。

select ParcelID from parcels
where parcelID not in (
    ((select Parcels1.parcelID, intersections.intersectionID from
     intersections left join
        (Select first(RoadID) as Road1, last(RoadID) as Road2, count(*) as frontages, ParcelID
        from Parcels
        where count(*) = 2
        group by ParcelID) as Parcels1
    on intersections.RoadID = Parcels1.Road1) as int1
inner join
    (select Parcels2.parcelID, intersections.intersectionID from
    intersections left join
        (Select first(RoadID) as Road1, last(RoadID) as Road2, count(*) as frontages, ParcelID
        from Parcels
        where count(*) = 2
        group by ParcelID) as Parcels2
    on intersections.RoadID = Parcels2.Road2) as int2
on int1.intersectionID on int2.intersectionID))

1
+1非常にクリエイティブなソリューション:バッファリングの優れた使用法。小包と街路緩衝器の合体もうまくいくでしょう。
whuber

バッファメソッドは、路地やその他の道路以外のROWで区画を選択することを回避するのが好きです。ただし、交差点についてさらに支援が必要です。トポロジでは交差がエラーとして表示されますが、エラーはどのようにエクスポートされますか?エラーの原因となるフィーチャを選択すると、交差ではなくバッファが返されます。コードを使用したり、新しいツールをダウンロードしたりせずに交差点を特定する方法はありますか?
cwb 2011

ああ、申し訳ありません。以前にトポロジエラーをエクスポートしたときにスクリプトを使用したことを忘れていました。参考までに、それを行うためのツールはここにあります
Patrick

1
@whuberの提案は、長いSQLステートメントを使用せずにこれを解決するためのアイデアを私に与えます。すべての属性を含め、バッファとパーセルを交差させます。結果のフィーチャクラスには、交差を表すポリゴンを決定するために必要な属性が必要です。一連の交差点を取得したら、それらを交差する区画をすべての区画のセットから削除できます。
Patrick

この方法を使用する場合は、手順3で空間結合を「1対1」として実行します。これにより、各パーセルの間口の数がカウントされ、少なくとも2つの間口を持つパーセルのみを選択できるようになります。
Patrick

3

結果を公共事業に届けることができたので、スタッフは基準に従ってそれをレビューできます。これが私の最後の手順の概要です。

  1. 道路の中心線を道路クラスごとに新しいフィーチャクラスに分けます(米国および州道、メジャーシティストリート/シティストリート、プライベートドライブ/ドライブウェイ、州間高速道路、ランプ、パス、墓地は無視)

  2. 各道路クラスフィーチャクラスの周囲にバッファを作成します:エンドタイプFLAT、ストリート名IDフィールドのディゾルブタイプLIST、バッファサイズは道路クラスに依存します

  3. バッファフィーチャクラスをマージします

  4. マージされたバッファーフィーチャクラスをパーセルポリゴンと交差させる

  5. 周波数フィールド=パーセルIDフィールドのある交差フィーチャクラスで周波数ツールを実行します

  6. 頻度フィールドに基づいて頻度テーブルから選択をエクスポート(頻度= 1を無視、頻度= 2、頻度= 3、頻度= 4、頻度= 5+)

  7. 各頻度テーブルをパーセルIDフィールドのパーセルポリゴンに結合します-一致するレコードのみを保持し、結合されたフィーチャクラスをエクスポートします

  8. エクスポートされた各フィーチャクラスを確認します-バッファが袋小路などの区画をカバーしていなかった領域を監視します

頻度5+には、追加の間口または奇妙な形状のコーナーロット、バッファーアーチファクトのある大きなロット(ゴルフコース)またはコーナーロット、2つのコーナーを含むコーナーロット、道路が走っている区画が含まれます

周波数4はコーナーロットになります

頻度3には、コーナーロットに隣接するパーセル、道路で分割された大きなマルチパートパーセル、交差道路バッファーのアーティファクト、3つの入口道路を持つパーセルが含まれます

頻度2には、2つの道路に間口がある区画が含まれますが、コーナー区画境界がバッファーから遠すぎて交差できないコーナー区画、区画内の道路、同じ道路上の区画への2つの入口、区画の前の道路の名前の変更、州間高速道路に注意してください小包

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.