地理情報システム

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

2
QGISの場所ごとの結合属性を理解していますか?
"Join Attributes by Location"QGIS 2.18でアルゴリズムを実行するときに設定できるパラメーターの説明はどこかにあるのでしょうか。 私はここを見ていた: ドキュメントQGISテスト| 場所ごとに属性を結合する QGIS 2.8のドキュメント| fToolsプラグイン しかし、説明はありません。ヒントはありますか?

3
論理演算子およびその他の関数のgdal_calcラスター計算機構文
でgdal_calcのドキュメントには記載されているnumpyの構文でコマンドラインラスタ電卓を。後で、そのうちの1つにいくつかの例があります。 gdal_calc.py -A input.tif --outfile = result.tif --calc = "A *(A> 0)" --NoDataValue = 0- ゼロ以下の値をnullに設定することを意味します 残念ながら、次のような論理演算子の例はありません。 --calc = "A *(A> 0 and A> B)"- は、Aがゼロより大きくBが大きい場合にAを保持し、残りをnullに設定することを意味します Numpy / Scipyの論理関数に基づいて、論理演算子を次のように記述することを期待します。 --calc = "A * logical_and(A> 0、A> B)" 私はこれを試しましたが、うまくいくようですが、それが正しいことを確認したいと思います。 同様に、AとBの最小値が必要な場合: --calc = "A *(A <= B)+ B *(A> B)" あなたはただ書くことができます: --calc = …
13 python  gdal  numpy  gdal-calc 

2
QGISの列ごとにソートされたテーブルの行番号を割り当てる方法はありますか?
フィールド計算機には、「$ rownum」と呼ばれる「レコード」の下に、現在の行の番号を返す(割り当てる)優れた機能があります。 並べ替えと一緒に動作させる方法はありますか?テーブルを列の「長さ」でソートし、行の順序(シーケンス)を最短から最長までの長さで取得したいとします。 このために、いくつかのオフィススプレッドシートソフトウェアを簡単に使用して、列ごとに並べ替え、新しい列に順序(シーケンス)を設定できることを知っています。しかし、私はQGISですべての仕事をしたいと思います。 更新:回避策として、シェープファイルの機能の順序を変更する方法もありますか?-mmqgisプラグインと関数modify / sortを使用し、その後、新しい保存ファイルで「$ rownum」を使用します。

1
Rで指定されたラスターの範囲と境界のポリゴンを作成します
2つのポリゴンを作成します。 1つは、ラスターの長方形の範囲です。r <- raster("band5.tif") e <- extent(r) plot(e)私はこれを使用してラスターの範囲を取得できることを知っ ています: 以下に示すように、ラスターの境界のポリゴンを1つ作成するにはどうすればよいですか? これは私のラスターのようです:
13 raster  r  rgdal 

3
QGIS Print Composerは横向きから縦向きに変わりませんか?
2.10.1を使用して、新しいPrint Composerを開き、すぐにページ設定の向きを横から縦に変更します。ただし、画面の向きは変わりません。風景を表示し続けます。 同様に、用紙サイズを変更しても、Print Composerウィンドウのサイズ/向きには影響しません。 (ページ設定の設定に関係なく)Print Composerにマップを追加してPDFとしてエクスポートすると、結果は常に横向きになります。 Print ComposerはA4ランドスケープのみに対応しているようです。 私は何が欠けていますか?

2
Leafletの無料タイルプロバイダー
私は自分のウェブサイトの地図にリーフレットを使用しています。これまでMapboxのマップを使用していましたが(それらはクールです)、明らかに1か月あたり100,000以上のマップを持つWebサイトに対して課金されます。 私は、タイルに無料のタイルのプロバイダーを見つけようとしています。最初に、OpenCycleMapでそれを行い、代わりに https:// {s} .tiles.mapbox.com / v3 / {id} / {z} / {x} / {y} .png と http:// {s} .tile.opencyclemap.org / cycle / {z} / {x} / {y} .png 2つの質問: 1)OpenCycleMapは、月ごとのマップの制限なしで無料のタイルを提供しますか? 2)他の無料プロバイダーを知っている人はいますか?



1
カーネル密度を使用してRの道路密度を計算しますか?[閉まっている]
閉じた。この質問はより集中する必要があります。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集するだけで1つの問題に焦点を当てるように質問を更新します。 閉じた2年前。 道路の大きな(〜70MB)シェープファイルがあり、これを各セルの道路密度を持つラスターに変換したい。理想的には、必要に応じてGDALコマンドラインツールとともにRでこれを実行したいと思います。 私の最初のアプローチは、このスレッドごとに各セルの線分セグメントの長さを直接計算することでした。これにより目的の結果が得られますが、シェープファイルが私のものよりはるかに小さい場合でも非常に遅くなります。正しいセル値が明らかな非常に単純化された例は次のとおりです。 require(sp) require(raster) require(rgeos) require(RColorBrewer) # Create some sample lines l1 <- Lines(Line(cbind(c(0,1),c(.25,0.25))), ID="a") l2 <- Lines(Line(cbind(c(0.25,0.25),c(0,1))), ID="b") sl <- SpatialLines(list(l1,l2)) # Function to calculate lengths of lines in given raster cell lengthInCell <- function(i, r, l) { r[i] <- 1 rpoly <- rasterToPolygons(r, na.rm=T) lc …

1
スタンドアロンのPyQGIS処理スクリプトでインポートの順序が重要なのはなぜですか?
スタンドアロンのPyQGIS処理スクリプトの実行中に奇妙な問題に遭遇しました。スクリプト内のインポートの順序は、通常の実行に影響します。 Pythonコンソールを開いて次のスクリプトを入力することで問題を再現できます(GNU / Linux、QGIS 2.6.1、処理プラグインv.2.2.0-2、Python 2.7.3を使用しています)。 # Prepare the environment import sys from qgis.core import QgsApplication from PyQt4.QtGui import QApplication app = QApplication([]) QgsApplication.setPrefixPath("/usr", True) QgsApplication.initQgis() # Prepare processing framework sys.path.append('/home/YOUR_USER/.qgis2/python/plugins') from processing.core.Processing import Processing Processing.initialize() print Processing.getAlgorithm("qgis:creategrid") # Exit applications QgsApplication.exitQgis() QApplication.exit() 以下を入手する必要があります。 ALGORITHM: Create grid HSPACING <ParameterNumber> VSPACING …

2
psycopg2を使用してラスターデータをpostgisからPythonにダウンロードする
pythonにnumpy配列として取得したいpostgresテーブルにラスターデータがあります。データベースに接続するためにpsycopg2を使用しています。データをダウンロードすることはできますが、文字列(おそらくシリアル化されたバイナリ)として返されます。 この文字列を取得してnumpy配列に変換する方法を知っている人はいますか? st_astiffを使用してhexファイルをダウンロードしてxxdを使用するなど、ラスターをダウンロードする他のオプションを検討しましたが、うまくいきませんでした。「rt_raster_to_gdal:出力GDALドライバーを読み込めませんでした」というエラーが表示され続け、ドライバーを有効にできる環境変数を設定する権限がありません。 TL、DR:ラスターデータをnumpy配列にインポートする(Pythonを使用)。

1
OBJECTID名を取得する最良の方法は何ですか?
フィーチャクラスのOBJECTID名を取得する最良の方法は何ですか? カーソルで「OID @」を使用してフィールドを取得できることは知っていますが、その名前も取得できますか? スクリプトを作成していますが、クエリで使用されるOBJECTID_2、OBJECTID_12、FIDなどのさまざまなOBJECTID名を考慮する必要があります。 Describeを使用して名前を取得する唯一の方法ですか? 例えば: oid_field = [field.name for field in arcpy.ListFields("FC") if field.type == "OID"] 別の方法があるのか​​と思っています。 ありがとう。
13 arcpy  objectid 

1
すべての米国の州をマッピングするための投影座標系を選択しますか?
私は、米国のすべての州のデータを統合する必要があるプロジェクトに取り組んでいます。つまり、2つの道路データセットがあり、1つのデータセットの道路の属性を他のデータセットの同じ道路に割り当てます(空間結合と同様)。各状態は独立したシェープファイルであり、最終製品を生成するために最後にすべてをマージする必要があります。 この場合、どの投影座標系を使用する必要がありますか?または、ジオプロセシングの結果に影響を与えないので、それはまったく問題ではありませんか?過去の作業では、小さな領域のみをマップしたため、特定の領域のステートプレーンNAD 83を投影システムとして選択しました。

3
Rのポリゴンシェープファイルを使用してラスターからラスターを抽出する
私はRが初めてで、ラスターパッケージを使用しています。既存のラスターファイルからポリゴンを抽出する際に問題があります。私が使用する場合 extract(raster, poly_shape) ラスター上の関数は、常にデータを含むリストを作成します。本当に欲しいのは、ArcGISで再びロードできる別のラスタファイルを抽出することです。もう少し読んだ後、クロップ機能が本当に必要だと思います。しかし、この機能を使用しようとすると crop(raster, poly_shape) 私はこのエラーを受け取ります: Error in .local(x, y, ...) : extents do not overlap In addition: Warning message: In intersect(extent(x), extent(y)) : Objects do not overlap ファイルrasterとpoly_shapeは、両方の関数で同じです。ここで何が間違っているのか教えてもらえますか?トリミング機能がリストではなく別のラスターを作成するのは正しいですか? 編集:extent()関数は私のために動作しません。それでも同じエラーが発生します。しかし、2つのデータセットは重複していると確信しています!とともに extract(raster, poly_shape) 適切なデータを取得します。ただのリストとしてであり、私が望んでいるようなラスターとしてではありません。前にArcGISにデータセットを読み込んだところ、非常にうまく収まるため、投影を確認しませんでした。今私は試した projection(raster) # "+proj=laea +lat_0=52 +lon_0=10 +x_0=4321000 +y_0=3210000 +ellps=GRS80 +units=m +no_defs" projection(poly_shape) # "+proj=utm +zone=32 +ellps=GRS80 +units=m …
13 raster  shapefile  r  line 

9
ArcGIS for Desktopで範囲外の段階的なデータを手動で分類しますか?
以下に示すように、段階的な色でシンボル化された値を持つグリッドを表す2つのシェープファイルがあります。 2つのシェープファイルには同様の範囲のデータが含まれていますが、これらのデータの範囲にはわずかに異なる色が割り当てられています。同じ範囲の同じ色を使用して2つのシェープファイルのそれぞれの範囲をシンボル化し、ファイル間の比較を容易にし、単一の凡例を使用できるようにします。 ただし、手動の間隔で範囲を分類しようとすると、ArcGISは最上位の範囲にデータセットの最小値も含めるように強制します。これは、以下の左側のデータフレームの「-81.64-10.00」の範囲で確認できます。これにより、レイヤー全体がこの色でシンボル化されます。 基本的に、ArcGISでは、データセットの最小値をいずれかの範囲の値として使用する必要があります。 この機能を回避する方法はありますか?

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