ArcGIS for Desktopで範囲外の段階的なデータを手動で分類しますか?


13

以下に示すように、段階的な色でシンボル化された値を持つグリッドを表す2つのシェープファイルがあります。

元の

2つのシェープファイルには同様の範囲のデータが含まれていますが、これらのデータの範囲にはわずかに異なる色が割り当てられています。同じ範囲の同じ色を使用して2つのシェープファイルのそれぞれの範囲をシンボル化し、ファイル間の比較を容易にし、単一の凡例を使用できるようにします。

ただし、手動の間隔で範囲を分類しようとすると、ArcGISは最上位の範囲にデータセットの最小値も含めるように強制します。これは、以下の左側のデータフレームの「-81.64-10.00」の範囲で確認できます。これにより、レイヤー全体がこの色でシンボル化されます。 基本的に、ArcGISでは、データセットの最小値をいずれかの範囲の値として使用する必要があります。

新しい間隔

この機能を回避する方法はありますか?


私はこの問題を抱えていたことも覚えていますが、どのように解決したかは正確に思い出せません。「等間隔」として分類し、値をダブルクリックした場合、そのように変更できますか?
GISKid 14

残念ながら、@ GISKidをダブルクリックするとすぐに、分類は「手動」に戻ります。
hfisch 14

ヒストグラム自体の値を調整するのはどうですか?
GISKid 14

@GISKid値を最小値より下にドラッグすると、値は最小値に戻ります。
hfisch 14

2
これに対する最良かつ最も簡単な答えはgis.stackexchange.com/a/136497であると思います-最初の(そして現在受け入れられている)答えは私の好みには長すぎます。
PolyGeo

回答:


12

ArcMap が本当に必要ない場合でも、ArcMapが役立つようにしようとすると、間違いなく大きな痛みになります。

私が見つけた回避策の1つは、新しい一時データセットを作成し、出力に必要な最小値と最大値を持ついくつかのポイントを追加することです-範囲全体をカバーするようにしてください。

この偽のデータセットに基づいてシンボルを作成し、このシンボルをレイヤーファイルに保存します

ここに画像の説明を入力してください

...次に、*。lyrファイルから実際のデータセットにシンボルをインポートします。

ここに画像の説明を入力してください


1
このソリューションは、私のソリューションよりもハッキーではありません。あなたの答えに切り替えます。
hfisch

おかげで、アークマップが十分な注意を払ってあなたに投げかけるすべてのダイアログを読んだ場合、魅力のように動作します。
ルークラグ

6

@ChrisWは言った:

私が知っている限り、証拠を見つけることができる限り、データの最小値より低い分類範囲を設定することはできません。

これは私に考えさせられ、実際に分類値を最小値以下に設定する方法を見つけました。私の元々の問題は、データに最小値を含めるために最低の分類範囲が必要であるという事実を中心に構築されました。

ただし、使用される他の分類範囲にはこのような制限はありません。したがって、2つ(またはそれ以上)の分類範囲を強制的にデータの最小値より低くすることができます。これらの1つは優先される最小分類範囲を表し、もう1つは最小値を含むダミー範囲として機能します。


これが、分類に使用した開始点です。4つのデータフレームの各レイヤーは、他のレイヤーのデータ範囲に関係なく、10フィートの定義された間隔を使用して分類されました。

出発点

4つのデータフレームのいずれかの最大分類範囲は「0.01〜10.00」、最小分類範囲は「-110.62〜-110.00」です(理想的には「-119.00〜-110.00」になります)。私は10フィート間隔を維持しようとしているので、これは合計13間隔に変換されます。


汎用凡例のソースとして左上のデータフレームを使用しています。レイヤープロパティを開いて分類することから始めます。13の間隔を表示したいので、ダミーの範囲を使用可能にするには14の間隔を選択する必要があります。これを行うには、メソッドとしてManualを選択し、14のクラスを作成します。

ステップ1a

範囲が現在の状態に設定されている(最大値が上部にある)場合、範囲に入力された値を変更しても、リストの一番下にある範囲以外には影響しません。@ChrisWは、これはバグではなく、ArcGISがブレーク値を割り当てる方法の機能であることを指摘しました。手動方法を選択した後、範囲を変更する前の[レイヤープロパティ]ウィンドウは次のとおりです。

ステップ1b


この問題を解決するために、レイヤーのソートを一時的に逆にします。この時点で、最低の範囲は上部にあり、最高の範囲は下部にあります。

ステップ2a

ここで、範囲のリストの一番下(最も高い範囲が表示される)にスクロールし、下から上に適切な間隔の定義を開始すると、ArcGISは定義した範囲を記憶します。

ステップ2b

この画像では、最大値(10.00)から始めて下に向かって、14の範囲のうち5つの範囲で上限値を定義しています。


リストの最上部に到達して14番目の範囲を編集しても、その最小値はレイヤー内の最小値として定義されます。

ステップ3a

ただし、これは先ほど述べたダミーの範囲なので、問題ではありません。この時点で、レイヤーの並べ替えをもう一度逆にして、最高の範囲が再び最上部にあるようにします。以下の画像は、左上のデータフレームの更新された凡例を示しています。これは、14番目のダミー範囲を含む4つのデータフレームすべての適切な範囲を反映しています。

ステップ3b


次のステップでは、これらの変更を残りのデータフレームに伝播します。ただし、シンボルを他のデータフレームにインポートしようとすると、いくつかの問題が明らかになります。

ステップ4a

@ChrisWが指摘したように、これは、すべてのデータフレームにわたって絶対最小値を持たないレイヤーから開始するという私の決定によるものです。データフレームには、元のデータフレームに存在する範囲を下回る範囲は表示されないようです。

私がやったようなレイヤーから始めている場合、このために見つけた最善の解決策は、4つのデータフレームのそれぞれについて上記で説明した手順を繰り返すことです。14のクラスを手動で定義し、クラスの並べ替えを逆にし、各範囲の上部を再定義してから、並べ替えを元に戻して、最も高い範囲を上部に配置します。

ただし、最も単純な解決策は、最小値を持つレイヤーから分類プロセスを開始することです。[シンボルのインポート]オプションは、他のデータフレームに適切に使用できます。

ステップ4b


最後に、3つの凡例を削除し、残りの凡例のダミー範囲を非表示にするか、グラフィックに変換してダミー範囲を削除します。

終点


何かがうまくいったことを嬉しく思います。私はあなたの引用文を修正するために私の答えを編集しました(私がそれを言った理由がわかりません-あなたの元の画像あなたにできることを示しました)。
クリスW 14

実際、これを複製するのに問題があります。答えをもう少し便利にするために、これらの範囲を最小値未満で作成した方法を正確に編集できますか?
クリスW 14

@ChrisWプロセスを大幅に拡張しました。それでも意味がわからない場合はお知らせください!
hfisch

2
更新していただきありがとうございます。問題を見つけました-分類ダイアログとシンボルダイアログ間でブレークを定義する方法に大きな違いがあり、それはバグとして質問するものに関連しています。基本的には、ブレーク値を自動ソートしますが、最小値より下の最小ブレークは常に最小値に関連付けられ、上部に表示されます(ソートに応じて下部に表示されます)。参考までに、合計数を指定することはできませんが、ヒストグラムを右クリックして、手動でクラスを追加または削除できます。
クリスW 14

1
他のデータフレームにシンボル体系を適用する限り、私の回答で述べたように、初期シンボル体系の値を使用して、最低値(-110.62)のデータから始めてみてください。最後から3番目の画像では、4つすべてのダミークラスの最小値がまだ-61.01であることに注意してください。そのため、クラスがありますが下に何も表示されません。最低値から始めて最小値が高い場合、シンボルを他のデータセットに適用するときに、シンボルの最小値をデータの最小値に含めるか、それを表示すると考えています。
クリスW 14

5

私はこの同じ問題に出くわしたと思います...私がそれを正しく理解したら、2つ(またはそれ以上)のデータセットがあり、比較を行うためにデータセットのスケール範囲を一致させる必要があります。

私はそれを解決しました:

  1. 表示したい最初のデータセットを作成します。理想的には、シンボルを簡単に2番目の(より小さい範囲の)データセットにコピーできるように、最大​​のデータ範囲を使用します。

ここに画像の説明を入力してください

  1. 2番目のデータセットを作成しますが、まだシンボルについては心配しないでください。2番目のデータセットの[ レイヤープロパティ ] > [シンボル ]タブで、最初のデータセットと同じタイプの分類を選択します。この例では、[ カテゴリ ] > [一意の値 ] を使用し、[ すべての値追加 ]ボタンをクリックします。

ここに画像の説明を入力してください

  1. 最初のデータセットで使用される対応する範囲に分類されるように値をグループ化します。特定のカテゴリのすべての値を選択し、右クリックして[ グループ ]を選択します。上の2つのカテゴリはすでに下の画像でグループ化されており、4つの強調表示された値は3番目のグループに「プル」されようとしています。

ここに画像の説明を入力してください

  1. この段階では、カテゴリのラベルを付け直して追跡しやすくする方が簡単です。この時点で、7つのカテゴリのうち5つが入力されています。

ここに画像の説明を入力してください

  1. 最後に(ほぼ)、この問題の核心は、2番目のデータセットのデータ範囲外に存在する空のカテゴリを追加することです。ではレイヤーのプロパティ]> [シンボルのタブがクリック追加値を必要に応じて、データ範囲の上と下に必要なカテゴリとボタンと移入を。

ここに画像の説明を入力してください

  1. 最後に、新しい空のカテゴリのラベルを変更して最初のデータセットに対応するようにし、次に各カテゴリの色を変更して最初のデータセットと一致するようにします。

ここに画像の説明を入力してください

それが少し単純化されていたり、単純な間違った/悪い習慣だった場合は申し訳ありません。私はGIS Stack Exchangeの長年のユーザーであり、貢献を始めた時期について考えていたので、これが私の最初の投稿です!


2
申し訳ありませんが、OPはGraduated Data用であり、簡単なチェックの後、私のソリューションが無効であることがわかりました。私は....より密接に次の時間を読んであげる
たNiGe

4
  1. 必要なクラスの数を選択します。
  2. シンボルを右クリックして選択します save class breaks
  3. これにより、任意のテキストエディタで開いて編集できるxmlファイルが保存されます
  4. xmlファイルで必要なクラスブレークを編集して保存します
  5. シンボルをもう一度右クリックして、新しく編集したクラスブレークファイルをインポートします。

完了


3

一方で分類が同様の範囲を使用して、データが範囲を共有しません。ここでの解決策は、実際の分類ではなく、凡例と色の割り当てで解決することだと思います。

左下の結果から始めて、その凡例をグラフィックに変換します。テキストを編集して、必要な範囲を取得します。他のすべての画像には10単位の範囲がありますが、これは20単位で、重複しています。たとえば、3つの画像には-49.99から-40.00がありますが、左下には-49.99から-60.00があり、次のクラスは-59.99から-70.00です。また、画像は反対の範囲です。つまり、3つは左側の値が低く、左下は右側の値が低くなります(私にとってはもっと自然に読み、が左から右でない場合は数字が増えます)。たぶん、手動でテキストを編集するのではなく、時間を節約するために、まずこれらの問題に対処する必要があります。

範囲と好きなカラーランプの凡例を作成したら、最初の2つのレイヤー(既に正しく分類されている)に戻り、各範囲のカラーパッチを手動で編集して、凡例の範囲に決めた色に一致させることができます。2つのレイヤーには独自の凡例が表示されないため、どちらかが実際に-89.99から-80.00で、もう一方が-81.64から-80.00で、どちらも同じ色であるため問題ありません。 。

ただし、これは両方のデータセットの範囲が同じであることを意味することに注意してください。実際、1つのマップでのみ使用される2つのカラーパッチ(最高および最低)があるように見えます。絶対データ範囲を示すメモを各マップに書きたい場合があります。また、負の値では読みにくいので、範囲間で「-」の代わりに「to」を使用します。


代替ソリューション:

私が知っている限り、証拠を見つけることができる限り、あなたはあなたの最小値から始まるクラスを持たなければなりません。データ範囲の上または下にクラス(空のクラスも含む)を手動で追加できますが、1つのクラスは最小値から開始する必要があります。

そのため、すべてのラスターの最小/最小値を含むラスターを使用してシンボル体系を設定します。これらをシンボル化してください。その後、クラスラベルを編集して、好きなことを言うことができます。したがって、最低値が0.4の場合、ラベルを0に変更することもできます。

これを完了し、お好みのカラーランプを設定したら、シンボルのLyrファイルを保存します。その後、他のラスタを開いて、同じシンボルを適用できるはずです。他のラスターはすべてより高い値を持つため、正しく分類する必要があり、最小値自体が増加します(または、その中に何も含まれない場合、そのクラスはドロップされます)。シンボル体系に引き継がれない場合は、実際の値の代わりにクラスラベルをクラスフロアに変更できます。


実際には、.lyrステップをスキップして、必要に応じて1つのラスター(範囲、色など)を分類し、インポートシンボル機能を使用して他のすべてのラスターにこれを適用できます。[レイヤープロパティ]を開き、[シンボル]タブを選択し、右上にあるフォルダーアイコン(ホバーするとインポートを示します)を選択してから、模倣するラスターを選択します。
JWallace

@JWallace True、他のラスターが既に同じマップドキュメントに読み込まれている場合(同じデータフレームである可能性があります-別のシンボルからシンボルをインポートできるかどうかを思い出せない場合)、シンボル体系はmxdにのみ存在します(変更する場合に備えて、バックアップを保存することもできます)。ここでそれらのステップカバーするグラフィカルな答えがあります
クリスW 14

左下の結果のために奇妙なユニットをよくキャッチします。これは、手動で範囲を定義しようとする試みの成果であり、逆の順序で定義したと思います。「-」の代わりに「to」を使用することも良い方法です。元のソリューションでの問題は、色付けとラベル付けを手作業で行う必要があり、これらの一連の図を生成する必要があることです。あなたの代替ソリューションはいくつかのアイデアを与えてくれました。私はそれをもう少しエレガントにし、最小値の問題を取り除く方法を見つけたと思います。
hfisch

3

私のために働いてきた簡単でありながら汚れたソリューション。元のデータのバックアップを作成することを忘れないでください。

  1. 属性テーブルを開き、編集を開始します
  2. 任意の2つの値を手動で編集して、分類の基準とする最小値と最大値が含まれるようにします(元の値を覚えておいてください)
  3. 編集を保存して停止
  4. 新しい極値に基づいて分類する
  5. 最初からやり直し、変更した値を元の値に手動で置き換えます
  6. 既存の分類は影響を受けません

2

これはフィーチャの凡例に関するものであり、ラスターに関するものではないと考えています。これがラスタに関するものであれば、私の提案は無視してください。私は通常これらを使用します:

  • 2(または複数のシェープファイル)CHILDSを1つにマージし、FAMILYと呼びましょう
  • FAMILYの凡例を作成する
  • 家族からすべての子供のシンボルをインポート

FPさんのお役に立てばと思います


JWallace
FelixIP

2

次の回避策を実行しました。XMLドキュメントに独自のクラスブレークを作成し、両方のレイヤーの分類されたシンボルにロードしました。

  1. クラスbreaks-XML-documentのテンプレートを取得するには、レイヤープロパティで分類範囲を右クリックし、「クラスブレークを保存」します。
  2. XMLドキュメントの編集:XMLドキュメントにクラスの区切りを入力します。また、データセットの範囲外の数値を入力することもできます。
  3. XMLクラスブレークのロード:テンプレートを保存したメニュー(1を参照)と同じメニューで、[クラスブレークのロード]をクリックします。

    ステップ1と3

ステップ2


1
ArcMapのバージョン v10.6でクラスブレークを保存するオプションがありません:i.imgur.com/znDqUpQ.png
マットウィルキー

@mattwilkieバージョンの問題ではなく、データ型です。ベクターデータのシンボルダイアログを表示しています。このようなクラスブレークの保存は、ラスターデータでのみ可能です。この答えは基本的にクレイグのものを複製しますが、イラスト付きです。
クリスW

1

別の方法は、各レイヤーのすべての値を1つのレイヤーに結合することです。この方法を使用すると、レイヤー上に最小値と最大値を設定できます。

図:
1. Excelシートのすべてのレイヤーの値を1つの列に結合します(All_Valsと名付けましょう)。

  1. All_Vals列の横に、XおよびYという名前の2つの新しい列を追加し、ゼロで埋めます。

  2. arcmapでExcelシートをテーブルとして追加し、それを使用してdisplay xy dataコマンド/ツールを使用してポイントフィーチャクラスを作成し、イベントレイヤーをシェープファイルにエクスポートして(NB_Pointという名前にします)、データフレームに追加します。

4。NB_Pointシェープファイルをレイヤーのフィーチャクラスタイプに変換します。たとえば、フィーチャレイヤーのタイプがポリゴンの場合、バッファツールを使用して、NB_Pointシェープファイルからポリゴンフィーチャクラスを作成します(NB_polygonと名付けましょう)。

  1. ここで必要なのは、最終レイヤーNB_polygonを右クリックして、ナチュラルブレーク分類を使用して段階的な色のシンボルを適用し、.lyrファイルにエクスポートして、それぞれのインポートレイヤーシンボルユーティリティを使用するときに入力レイヤーとして使用することです元のレイヤーの。

これが助けとなり、つづりの間違いをお祈りします。

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