ArcGIS ModelBuilderを使用したフロントランドの識別


8

私は市役所で働いています。土地の正面を特定する必要があります。ここでは、私の国では「TESTADA」または「FRENTE DE LOTE」と呼んでいます。正確な用語が英語で見つかりませんでした。

フロント・オブ・ア・ランドは、地面の入り口近くのラインです。つまり、家の入り口です。玄関口、ポート番号付きです。以下の画像の例を示します。

前の地図: 前

地形の最前線で後でマップします-あるはずです: 後

LOTにはFRONT OF LANDが1つだけあります。コーナーではメインストリートです。歴史的建造物のため古い建物がそのまま残っています。現在、FRONT LANDのこれらのラインを手動で行っています。その一部を自動化したいと思います。それはModelBuilderを使用している可能性があります。

要するに:

  • In:LAYER OF LAND、LAYER STREET、BUILDING LAYER。
  • 出力:FRONTS OF LAND LINESのLAYER。

フロントロットの別の例: FRONT OF LANDという用語は、プロパティのフロントを指します。家の入力は彼のフロントです。 ここに画像の説明を入力してください


多角形を選択可能なセグメントに分割する「多角形から線」ツールから始めたいと思います。
Craig

道路が私有であるかどうかをどのように判断するかも参照してください、路地を路地から分離する。
Peter Krauss、

回答:


2

それにはいくつかのコードが必要になるので、いくつかのガイドラインを示して、何かから始めて、さらに質問できるようにします。図に示すように、FRONT OF LANDは2つの方法で識別できます。どちらも空間関係を使用します。

方法1)他のポリゴンと接触しないのは、ポリゴンの唯一の側面です。接触しているポリゴンを見つけ、LANDポリゴンを分割し、何にも触れていないものについて、接触しているポリゴンに対する側面を確認します。

または

方法2)道路に最も近いポリゴンの側面です。LANDポリゴンに最も近い道路を見つけ、ポリゴンを分割し、道路に最も近い側を見つけます。

これは、オープンソースパスに従うことを選択した場合、PostgisまたはShapelyで実行できます。とにかく、私はShapelyのマニュアルを見て、テストできる空間的な関係を理解することをお勧めします。それらは、どのソフトウェアでもほとんど同じです。


2
角地には何を提案しますか?
Craig

方法1を使用することをお勧めしますコーナーを検出するには、コーナー全体(正面と側面)を選択し、それから最も長いセグメントを選択します。(図に示すように、コーナーランドは最長のセグメントの前面にあります-編集:上部中央に2つの例外があります)。
Pablo

2
写真で判断すると、いつもそうとは限りません。私は、フロントセグメントが住所の派生先であるパー​​セルの側面に沿っている3番目の方法を提案します。もちろん、これはロットに住所がある場合にのみ役立ち、多くの空のロットにはありません。
Craig

+1それは良い考えです!多分方法2 +アドレスの組み合わせ...答えにそれを書くことをお勧めします。
Pablo

1

@Pabloの適切な回答を洗練し、定義(下記)を使用して、各メソッドのチェックリストを追加し、使用を制限します。定義:

ブロックレイヤーは、街区の境界を表すポリゴンを備えたSQLテーブルです。これは、歩道あるかどうかに関係なく、プライベート路線(front-1を参照)または非アドレッシング路地(front-2を参照)をブロックに保持します。

ロットレイヤーは、土地区画の境界を表すポリゴンを持つSQLテーブルです。

ストリート層を表す線を持つSQLテーブルで街を ...または、「川の土地」にも川(と鉄道は「前」になることができますか?)。

Front-1:@Pabloのメソッドは、一般的なfrontの概念に関するものです。一部の区画には、コーナーにあるため(「すべての周辺の通りに2つ以上の前セグメントがある」ため)、「1つの通りについて1つ以上の前」があります。

フロント-2:「フロント」とは、区画の正式な住所(または対応住所)に示されている通りのことです。それら、すべての区画(コーナーでも)には、フロントストリートセグメントが1つだけあります。PS:アドレスシステムとブロックレイヤーが多くの「水平コンドミニアム」とそのコンドミニアムアドレスを受け入れる場合、「私道」は通常の通りとして表示される必要があります

@ChristianAbreuの質問のイラストは、一般的なものではなく、Front-2のコンセプト(!)を示しています。

テクニカルノート:PythonをPostGISまたは他のOGC準拠ツール(空間SQL用)に接続して、チェックリストを正式に表現できます。


メソッド#1のチェックリスト-他のポリゴンと接触しないポリゴンの側面

この方法にはトポロジー的なアプローチがあり、すべてのロットのエリアがブロックのエリアを形成するブロックに対してのみ有効です。したがって、このメソッドを使用するには、ブロックレイヤーが必要です。

完全に表現する:blkarea~=sum_lotarea各ブロックについて確認し、

SELECT ST_Area(geom) INTO blkarea FROM  block WHERE gid=each1; 
SELECT SUM(ST_Area(geom)) INTO sum_lotarea FROM lot WHERE gid_block=each1;

または、形状が正確でない場合、またはブロックが歩道にある場合は、すべての区画に対して最低のwを使用します。ST_Buffer(block.geom,-w)ST_Within(lot.geom lot,ST_Buffer(block.geom,-w))

注:こちらもチェック

  • ST_Within(lot.geom,block.geom)すべてのロットと関連ブロックについて、すべてのロットがブロック内にある場合。

  • ばらばらでないすべてのロットについて、重複領域がない場合。not(ST_Overlaps(a,b))または、この交差領域は重要ではありません(つまり2*ST_Area(ST_Intersection(a,b))/(ST_Area(a)+ST_Area(b))<0.01)。

method#2のチェックリスト-道路に最も近いポリゴンの側面

この方法には、最小ユークリッド距離に基づく幾何学的アプローチがあります。

ストリートレイヤーに「公道」のみがあるかどうかを確認します。「公道」(土地区画の正式な住所を表すことができる)を「路地」(区画の内部または「コンドブロック」にすることができる)から分離する必要があるためです。 ")。

次に、すべての「ビジュアルブロック」が道路に囲まれているかどうかを視覚的に確認します。ストリートレイヤーが不完全な場合、メソッドはそのブロックに対して無効です。

結論:メソッドを選択するためのルール

フロント-1の定義:

A)適切な通りのデータがある場合は、method#2を使用します。

B)ブロックレイヤーと一貫したロットレイヤーがある場合は、メソッド#1を使用します。

C)適切なデータがない場合は、空間データをいくつかの方法に分割できるようにします。PS:ブロック レイヤーがなくても、隣接するロットを結合して構築したり、この質問の適切な回答によって構築したりできます。

以下のためにフロント-2の定義:なぜなら、あなたは、良い通りのデータを必要とするフロント2定義(ロットアドレスの)必要性の通りの名前。メソッド#2を使用して、ロットの住所と同じ通りの名前を持たないフロントセグメントをドロップします。

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