地理情報システム

地図製作者、地理学者、およびGIS専門家のためのQ&A

3
rasterVisでの反射面の防止
ESRI ASCIIグリッドラスター形式のデジタル地形モデルファイルを実験しています。このタイプのデータに関する経験はゼロですが、以下のコードのように、Rにロードするのは非常に簡単であることがわかりました。パッケージのplot3D関数はrasterVisデフォルトで見栄えの良いプロットになりますが、モデルはかなり反映されています。それは風景であるはずなので、この光沢のある表面は本当に適切ではありません。 私はもっ​​と自然なもの(そのような単語が一連の図の3Dレンダリングについて使用できる場合)、マット、トポロジープロットを探しています。 これを回避する方法はあると思いますが、rasterいくつかのポインタを使用したり探したりした経験はありません。 プロットの反射率を低減または削除するにはどうすればよいですか? library(raster) library(rgdal) library(rasterVis) foo <- raster(readGDAL("my.dtm.asc")) plot3D(foo)
10 raster  r  dem  visualisation  color 

5
大きなテーブルを持つPythonでArcGISカーソルを使用するときにパフォーマンスを向上させる方法は?
ファイルジオデータベースにかなり大きなポイントフィーチャクラスがあります(最大4 000 000レコード)。これは、100mの解像度を持つ通常の点のグリッドです。 このレイヤーで一種の一般化を行う必要があります。このために、各ポイントが4つの「古い」ポイントの中央にある新しいグリッドを作成します。 * * * * o o o * * * * o o o * * * * [*] =元のグリッドのポイント-[o] =新しいグリッドのポイント 新しい各ポイントの属性値は、古いグリッドの4つの近傍の重み付けされた値に基づいて計算されます。したがって、新しいグリッドのすべてのポイントでループし、それらのそれぞれについて、(属性テーブルのXとYの値を比較することによって)隣人を見つけるために、古いグリッドのすべてのポイントでループします。4つのネイバーが見つかったら、ループから抜け出します。 ここには方法論的な複雑さはありませんが、私の問題は、私の最初のテストに基づいて、このスクリプトが完了するまで数週間続くことです... それをより効率的にする可能性はありますか?私の頭の上のいくつかのアイデア: フィールドXとYにインデックスを付ける=>私はそうしましたが、大きなパフォーマンスの変化に気づきませんでした 属性ベースのクエリではなく、空間クエリを実行して近傍を検索します。それは実際に役立ちますか?ArcGISのどの空間関数がその仕事をするべきですか?たとえば、新しい各ポイントをバッファリングすることがより効率的であるとは思えない フィーチャクラスをNumPy配列に変換します。それは役に立ちますか?私はこれまでNumPyをあまり使用していないので、誰かが処理時間を短縮するのに本当に役立つと私に言わない限り、それについて詳しく知りたくありません。 他に何か?

4
QGIS Simplify Geometriesツールを使用して隣接するポリゴンを単純化する
200,000ポリゴンの大きなShapefileがありますが、それを使用するアプリケーションにはファイルが大きすぎます。これらのポリゴンを一般化して、はるかに小さいファイルを作成したいと思います。 「ジオメトリの単純化」ツールを使用してQGISでこれを実行しようとしました。私はこれをShapefileの非常に小さな部分で試しましたが、結果には満足していますが、解決方法がわからない小さな問題があります。問題を示すために画像を追加しました。 白の境界は、単純化する前の境界です。REDの境界は単純化した後のものです。問題のある領域はオレンジ色で囲まれています。ご覧のように、「簡略化された境界」には、簡略化後に以前のポリゴンのいずれにも属さない領域が含まれています。 このシェープファイルを単純化して、ポリゴン間の共通の境界を単一の線として保持し、単純化後に作成された領域を削除するにはどうすればよいですか? 追加情報: 提案された指示に従った後 ポリゴンをラインに変換する ラインを簡素化 ラインをポリゴンに戻す 次の結果が得られます。以前より少し良いですが、それでも元のポリゴンの外側の領域ができます(下の画像の白い領域を参照)。 @Andrewは、各線を隣接するポリゴンに関連付けることを提案しましたが、QGISでそれを行う方法がわかりません。 私はまだポリゴンプロセスの簡略化を完了しようとしています。私はこの投稿で提案されている指示に従いましたが、許容できる結果が得られると思ったときに、もう1つの問題が発生しました。以下は結果の画像を使って私がしたことの要約です。すべてのステップは、QGISのPROCESSINGツールボックスを使用して実行されました。 まず、ポリゴンをラインに変換しました 次に、ブレークオプションを指定してv.cleanを使用して行をクリーンアップしました。これにより、クリーニングされたベクトルレイヤーとエラーレイヤーが発生しました。エラーレイヤー(提供された画像の緑のドット)には、すべての線の交点に緑のドットがあります。私はこれが何を意味するのかわかりません。 3番目に、「SIMPLIFY GEOMETRY」ツールを使用して線を簡略化しました(画像に赤い線が表示されます)。単純化された赤い線と元のオレンジ色の線を比較すると、結果に満足しています。 4番目に、「PROCESSING」の「Polygonize」ツールを使用してラインをポリゴンに戻したいと思っていて、予想外の結果が出ました(2番目の画像は濃いオリーブ色のポリゴンの影付き)。これは、ポリゴナイザーがエラーレイヤーの交差点を接続しているように見え、単純化された線を無視して完全に異なるポリゴンのセットを作成しました。 誰かがここで何が悪かったのか説明できますか? 赤い単純化された線が単純化されたポリゴンに正しく変換されなかったのはなぜですか? ご覧のとおり、私はGISの専門家ではありませんが、自分で行う必要があります。解決策から離れすぎているかどうかはわかりませんが、やりたいことに許容できるとわかっているが、ポリゴンに変換できない単純化された線が表示されるのはイライラします。 以下は、プロセスの最後の2つのステップの結果を示す2つの画像です。
10 qgis 

3
QGISで航空写真に使用する形式と設定は何ですか?
次の質問は、ArcGISでの航空写真の処理に関するものでした。 表示のみの航空写真を管理するための最も効果的なフォーマット 航空写真の保存、再サンプリング、再投影などの2つの主要なオプションがあるようです。 JP2000 / JP2 / JPEG 2000(最近、GDAL処理用の5つのコード) ECW(ERDAS圧縮ウェーブレット(.ecw)) 他に見逃したことはありますか? 両方のQGISバージョンに応じて私が理解したことは、通常、いくつかの追加ライブラリをインストールする必要があります。ECWにはいくつかの制限があります-圧縮のためにライセンスを購入する必要がありますか? 大きなファイルには使用できないjpegをテストしました(最大ディメンションの制限)。また、大きいディメンションでも遅いです。 答えには以下が含まれている必要があります。 QGIS 2.0.1デスクトップやOSGEOでデフォルトで利用できるものは何ですか? 大きなファイルでどのように機能するか-ズームイン/ズームアウト(ピラミッド)? ある作成オプションは - 決議 JP2ピラミッドのために?

1
QGIS処理でメモリ内ベクターレイヤーを使用する/ SEXTANTE
qgis:clipアルゴリズムをコンソールから実行しようとしていますが、メモリ内レイヤーをオーバーレイパラメーターとして使用するとエラーが発生します。これは予想されることですか、それとも私は何か間違っていますか? コード: mem_layer = QgsVectorLayer("Polygon?crs=epsg:4326", "temp_layer", "memory") if not mem_layer.isValid(): raise Exception("Failed to create memory layer") mem_layer_provider = mem_layer.dataProvider() clip_polygon = QgsFeature() clip_polygon.setGeometry(QgsGeometry.fromRect( QgsRectangle( self.output_layer.extent().xMinimum() + 10, self.output_layer.extent().yMinimum() + 10, self.output_layer.extent().xMaximum() - 10, self.output_layer.extent().yMaximum() - 10 ) )) mem_layer_provider.addFeatures([clip_polygon]) mem_layer.updateExtents() output = self.output_layer_path + "2" processing.runalg("qgis:clip", layer, mem_layer, output) # …

2
ArcGIS ModelBuilderはExcelファイルを開いて手動で編集し、それらの編集をモデルにフィードバックできますか?
私は、ArcGIS ModelBuilderを使用してモデルを作成し、最初にいくつかのジオプロセシングタスクを実行してから、Excelテーブルをそれらのジオプロセスの結果に結合することを任されています。ただし、ユーザーが編集を保存してファイルを閉じる前に、ユーザーが手動で編集できるように、モデルはまずExcelファイルを実際に開く必要があります。その後、モデルが他の多くのジオプロセシングタスクを続行する前に、モデルがこのExcelファイルをデータセット(まだモデルの一部)の属性テーブルに結合することが期待されます。 ポイントの説明に役立つ高レベルの回路図の概要を以下に含めます(これは、最初はあまり意味がないかもしれませんが理解しています)。 したがって、モデルが実行され、いくつかのジオプロセシングタスクを完了し、一時停止してExcelファイルを開き、ユーザーが編集して保存して閉じるのを待ってから、そのExcelファイルを属性テーブルに結合し、数値を実行します。その他のジオプロセシングタスク。 これには、1つまたは2つのPythonスクリプトをモデルに組み込む必要があると想像する必要があります。現在、このコンセプトが実際に可能かどうかを知りたいだけです。

2
プログラムでテンプレートからcomposerを読み込み、PyQGISを使用してアトラスを生成する
ファイルから印刷コンポーザーをロードし、アトラスを生成して画像にエクスポートするプラグインを構築しようとしています。これまでのところ、テンプレートの読み込みと画像へのエクスポートに成功しています。 凡例のレイヤー(tocにもあります)をエクスポートしたマップに追加できなかったため、マップが空白になり、フィールド式が機能しなくなりました。 # Get layers in the legend and append, must be a cleaner way to do this? layers = self.iface.legendInterface().layers() layerStringList = [] for layer in layers: layerID = layer.id() layerStringList.append(layerID) # Add layer to map render myMapRenderer = QgsMapRenderer() myMapRenderer.setLayerSet(layerStringList) myMapRenderer.setProjectionsEnabled(False) # Load template myComposition = QgsComposition(myMapRenderer) myFile …

3
オープンソースのGISソフトウェアによる3D可視化[終了]
休業。この質問には、より焦点を当てる必要があります。現在、回答を受け付けていません。 この質問を改善してみませんか?質問を更新して、この投稿を編集するだけで1つの問題に焦点を当てます。 6年前休業。 XYZデータを分析できるQGIS(または他のオープンソースGISソフトウェア)ツールを探しています。 また、地質3D解析に関して非商用ソフトウェアに移行したことがあるかどうか、そしてそれによってあなたの経験は何ですか?

4
SQL ServerパフォーマンスのArcGIS 10.2クエリレイヤー
ArcMapのSQL Serverでクエリレイヤーを使用しています。クエリレイヤーはSQL Serverで即座に実行されますが、ArcMapでの描画に時間がかかりすぎて、システムが約10分以上応答しなくなったように見えます。ArcMapの描画中に、CPUの1つがSQL Serverプロセスで最大になります。 私のクエリは、次のように、ポリゴンフィーチャクラス(Townlands)に対するラインフィーチャ(Shannon)のバッファーのSTIntersectsです。 SELECT TOWNLANDS.TL_ID,TOWNLANDS.Shape FROM dbo.TOWNLANDS as townlands with(index(FDO_Shape)) JOIN dbo.Shannon on townlands.Shape.STIntersects (Shannon.Shape.STBuffer(2.0))=1 クエリは瞬時に186行を返します。これらは問題なくSQL Server Management Studioの空間ペインに描画できます まったく同じ構文でArcMapにクエリレイヤーを構築すると、システムが応答しなくなりますが、最終的に描画されます。おそらく、ArcMapが空間インデックスを使用していないか、SQL Serverと異なるため、SQL Serverでクエリが非効率になり、経過時間を返すように見えます。 誰かが治療法についてアドバイスできますか? ありがとう ArcGIS Desktop: 10.2 ArcSDE: 10.2 RDBMS: Database and version: SQL Server 2008 OS: Windows Server

2
ArcMapのPythonウィンドウでスクリプトを実行しますか?
私はテキストエディタでPythonを作成しているので、Pythonスクリプトscript.pyを用意しています。私はまだそれを開発しているので、まだツールボックスに入れたくないので、現時点では、テキストエディターからArcGIS DesktopのPythonウィンドウにコピーして貼り付けます。 ArcGIS Pythonウィンドウからそれを呼び出すためのコマンドはありますか? 以下の線に沿った何か: run script.py それが存在するべきであるのは当然のようですが、おそらく存在しないでしょう。

2
Geometry()オブジェクトの「長さ」属性にアクセスするときに測定単位を指定するにはどうすればよいですか?
CalculateField_managementツールを使用すると、形状の長さを計算するときに測定単位を指定できます。 #Calculate polyline lengths in miles polylines = "C:\sampleShape.shp" arcpy.CalculateField_management(polylines, "shapeLen", "!Shape.length@MILES!", "PYTHON_9.3") 各機能の 'SHAPE @ LENGTH'を使用してカーソル内で同じことを行い、長さを選択した単位で返します。 #hypothetical example 1 with arcpy.da.UpdateCursor(polylines, field_names=["SHAPE@LENGTH.FEET", "shapeLen"]) as upCurs: for row in upCurs: row[1] = row[0] upCurs.updateRow(row) あるいは、(効率的ではない)@SHAPEジオメトリオブジェクトを使用することによって? #hypothetical example 2 with arcpy.da.UpdateCursor(polylines, field_names=["@SHAPE", "shapeLen"]) as upCurs: for row in upCurs: row[1] = …

1
OSMベースマップをポリゴンでクリップするにはどうすればよいですか?
qgis 2.0でマップを作成しました。マップはOpenLayersプラグインを使用して、OSMレイヤーをベースマップとして追加します。シェープファイルレイヤーで定義された特定のポリゴン内でのみベースマップが表示されるように制限したいと思います。どうすればこれを達成できますか?

1
ArcGIS for Desktopのフィールド計算機でIfステートメントを実行するにはどうすればよいですか?
2つの数値フィールド( "Dist_1"と "Dist_2")を含むシェープファイルがあります。追加のフィールド(「結果」)に3つの回答のいずれかを入力するフィールド計算が必要です。 最初に、Dist_1がDist_2より大きい場合、結果に「True」を入力します。2番目に、Dist_1がDist_2より小さい場合、「False」を入力し、3番目に、Dist_1とDist_2が等しい場合、「等しい」を入力します。

3
QGISを使用して2つのレイヤーのいずれかから重複するポリゴンフィーチャを削除しますか?
ポリゴンの2つの重複するレイヤーがあり、重複する領域を何らかの方法で消去する必要があります。-このようにして、重なり合わないポリゴンの2つのレイヤーができあがります。かなりシンプルに聞こえますが、Qgisのどのツールでも正しく理解できません!?「クリップ」または「ポリゴンで形状をカット」、または「差分」ツールと「クリップ」を使用する必要がありますか? 私が何をしても、製品は正しくありません。


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