地理情報システム

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

2
shapelyでpostgisジオメトリを読み取る
私はipythonノートブックでgeopandasとshapelyを使用して小規模なワークフローを実行し、シェープファイルから、時にはpostgis(より高価な処理が実行される)から大量の地理空間データを引き出します。 次に、を使用してpostgisテーブルをpythonにプルします。sqlalchemy途中でジオメトリをWKTに変換し、次のようにします。 sql = """ SELECT ST_AsText(ST_Transform(the_geom,4326)) as newgeom,* FROM public.parcels2010_small limit 5; """ parcels = pd.read_sql(sql, engine) parcels +----+---------------------------------------------------+---------------------------------------------------+-----------+-------------+ | id | newgeom | the_geom | parcel_id | osm_node_id | +----+---------------------------------------------------+---------------------------------------------------+-----------+-------------+ | 0 | MULTIPOLYGON(((-122.991093691444 38.4878691106... | 01060000209C0E00000100000001030000000100000097... | 1805792 | 66237 | +----+---------------------------------------------------+---------------------------------------------------+-----------+-------------+ | 1 | MULTIPOLYGON(((-122.444576448624 37.7346386006... …

3
世界の多くの場所で緯度経度の地点を1 km周回
私は世界中に何百もの緯度と経度のポイントを広げており、それぞれの周りに半径がちょうど1000メートルの円ポリゴンを作成する必要があります。最初にポイントを度(緯度経度)からメートル単位の何かに投影する必要があることを理解していますが、各ポイントのUTMゾーンを手動で検索して定義せずにこれを行うにはどうすればよいですか? フィンランドの最初のポイントのmweは次のとおりです。 library(sp) library(rgdal) library(rgeos) the.points.latlong <- data.frame( Country=c("Finland", "Canada", "Tanzania", "Bolivia", "France"), lat=c(63.293001, 54.239631, -2.855123, -13.795272, 48.603949), long=c(27.472918, -90.476303, 34.679950, -65.691146, 4.533465)) the.points.sp <- SpatialPointsDataFrame(the.points.latlong[, c("long", "lat")], data.frame(ID=seq(1:nrow(the.points.latlong))), proj4string=CRS("+proj=longlat +ellps=WGS84 +datum=WGS84")) the.points.projected <- spTransform(the.points.sp[1, ], CRS( "+init=epsg:32635" )) # Only first point (Finland) the.circles.projected <- gBuffer(the.points.projected, width=1000, byid=TRUE) plot(the.circles.projected) …

3
PyCharmとPyQGISをセットアップする際の「SDKは無効のようです」エラーを修正しますか?
このブログ投稿で説明されているように、PyCharmをセットアップしたかった:PyQGISおよびQt用のPyCharmのセットアップ。 指示どおりにすべてを行いましたが、プロジェクトインタープリターの追加に関しては、次のエラーメッセージが表示されました。 誰にもこれに対する解決策がありますか?

2
Raspberry PiにGDALとQGISをインストールする方法は?
Raspberry Piで GDAL QGISを実行して、手頃なGIS処理エンジンとして機能させたいと思います。計画では、約50パイを購入します。 Raspberry PiでのGDALのインストールと実行、またはRASPBIAN環境でのGDALのインストールに関するリンクや情報はありますか? Raspbianは私の一番の選択であり、Debianベースですが、ARCH、RASPBMC、PIDORA、RISC OS、およびOPENELECは、すぐに使用できるLinuxのフレーバーです。 できればPythonで。

2
水流を地図作成する方法は?
侵食の研究のために急な斜面の水流をモデリングしています。スクリーンショットから、ArcGISベースのフロー解析の結果を確認できます。これらの動線を生成するために、私は凹みのないDEMを生成し、流れの方向を計算し、最後に流れの蓄積を計算しました。ラスターフロー累積積は、ArcScanでベクトル化されました。 この方法は水路を表示するのに非常に役立ちますが、マグニチュードや蓄積の視覚的な尺度を提供しません。急峻な表面を横切る水の流れをより良く表現して、大きさや蓄積を表現するにはどうすればよいですか?

2
QGISでx km以内に他のポイントがないシェープファイル内のポイントを特定する
これはおそらく素朴な質問ですが、私はQGISの新規ユーザーとして苦労しています。 非常に大きなシェープファイルを持っています(275,000ポイントですが、必要に応じて処理を高速化するためにこれを約10個のサブリージョンに分割できます)。 200メートル以内に他のポイントがないすべてのポイントを識別し、ファイルのフィールドに値「unique」を使用してそれらの各ポイントをコーディングします。 ローカルクラスタの一部である他のすべてのポイントについては、それらを「クラスタ化された」ものとしてコーディングします。 それを達成したら、各クラスターに対してランダムに1つだけを選択して、データセットに保持し、他のクラスターは破棄したいと思います。 現在、ステップ1を達成できていないため、サポートを歓迎します。

3
ModelBuilderを使用してフィーチャクラスの出力ファイル名を繰り返しますか?
モデルビルダーで一連のフィーチャクラス(ポリゴン)を反復処理して一連のポリゴンをラスターに変換しようとしていますが、出力ファイル名に問題があります。 モデルビルダーウィンドウに「フィーチャクラスの反復」ツールを挿入し、すべてのポリゴンを入力として格納するgdbをリンクすると、出力フィーチャ(緑色のバブル)が自動的に最初のポリゴンの名前になります。結果として、私が実行しようとするモデルは、リスト内の次のポリゴンに行くのではなく、その名前のポリゴンに再帰するようです。出力ラスターは作成されますが、後続のポリゴンと一致する新しい名前で新しいラスターを生成するのではなく、そのファイル名を上書きします。 私は何を間違えていますか?

2
ArcGIS ServerでMS SQL Serverデータベースを編集する必要がありますか?
ここに私が持っているものがあります: ArcGIS Desktop Advanced(10.2)およびMS SQL Server 2008 R2 ここに私の問題があります: ms SQLサーバーに接続し、空間データをインポート、エクスポート、作成、編集できる必要があります。「フィーチャクラスからジオデータベースへ」ツールを使用してデータベースに接続し、データベースにフィーチャをエクスポートできますが、一度ArcMapセッションに戻すとデータを編集できません。高度なデスクトップライセンスで利用可能な「エンタープライズジオデータベースの作成」ツールを使用しようとしましたが、所有していない認証ファイル(ArcGIS for Serverの場合)を要求します。ArcGIS for Serverの価格を調べましたが、実行可能なオプションではありません。 現在ライセンスを持っているものを使用するために必要なものを達成するための代替手段はありますか? arcSDEはこれにどこに適合しますか?

3
ラベルクラスと定義クエリの使用-どれが最も効果的ですか?
ArcSDEジオデータベースに格納された非常に大きなデータセットを使用して、ArcMap内で作業する場合に最高のパフォーマンスを提供するのはどれですか?特定のフィーチャにラベルを付けるために複雑なSQLクエリを使用する複数のラベルクラス、または各レイヤーの定義クエリとして設定される同じ複雑なSQLクエリを使用する同じレイヤーの複数のコピー?

1
Numpy配列からのPySALの自然な中断
Pythonを使用して、ラスターから自然なブレーク値を抽出しようとしています。 目的のプロセスは次のとおりです。ArcpyラスターオブジェクトからNumPy配列(RasterToNumPyArrayを使用)から自然ブレーク値(PySAL Natural Breaks関数を使用)。 import arcpy, pysal from pysal.esda.mapclassify import Natural_Breaks as nb # code to create greenIndex arcpy Raster object here greenArray = arcpy.RasterToNumPyArray(greenIndex) breaks = nb(greenArray,k=2,initial=20) このコードは、エラー「ValueError:マトリックスは2次元でなければなりません」を返します。 私の知る限り、greenArrayは2次元配列です。

1
PostGISを使用したポールラップ海岸線に沿ったポイントサンプリング
私は、海岸線に沿って1000 kmごとにサンプルポイントを取得する必要があるタスクに取り組んでおり、南極大陸の問題に遭遇しました。私が知ることができることから、実際にこの操作に地理を使用すべきだと思うとき、それは関数での幾何学の使用に関する問題のようです。 このよく似た質問の関数を使用して、次のような結果を生成できます。 あなたが見ることができる、通りST_AddMeasure()やST_LocateAlong()南極の上に座って、多くの点でその結果、球状ジオメトリを扱うようには見えません。日付線(左側)に沿ってクリップにポイントが追加されました。これら2つの関数のドキュメントに従って、ジオメトリのみを使用できます。 ポリゴンとポイントの生成に使用されるコードはここにありますが、これはポイントの生成に使用されるSQLです。 CREATE TABLE atest AS WITH line AS (SELECT id, ST_ExteriorRing((ST_Dump(geom)).geom) AS geom FROM line_sample_test), linemeasure AS (SELECT ST_AddMeasure(line.geom, 0, (ST_Length(line.geom))::int) AS linem, generate_series(0, (ST_Length(line.geom))::int, 10) AS i FROM line), geometries AS ( SELECT i, ST_LocateAlong(linem, i) AS geom FROM linemeasure) SELECT * from geometries; この海岸線に沿って1000 …

2
ArcGIS Desktopを使用してポリゴン(ウェルパス)内に平行線を描画しますか?
複数の不規則なポリゴンを持つポリゴンフィーチャクラスを取得し、Arcに各ポリゴンの内側に平行線を描画させたいと思います。理想的には、Arcが多角形の最も長い辺の角度を把握し、その辺に平行線を引くのがいいと思いますが、単純にするために、すべての平行線に1つの角度を入力できると思います。簡単になります。 したがって、ポリゴンの側面からのライン角度、ライン間の幅、最小/最大長、およびバッファ幅が基本的な基準です。 それが役立つ場合に添付される画像。

1
GeoServer ImageMosaic PostGISインデックスの更新
このマニュアルに従って、ImageMosaicストレージを作成したGeoServerを使用します。新しいデータストアを作成すると、すべての*.tifファイルがDBにインデックス付けされます(PostGISを使用したPostgreSQL)。データフォルダに新しいジオティフを配置するとき、またはDB内のすべてのジオティフファイルのインデックスを再作成するときに、DBに新しいインデックスエントリを作成するにはどうすればよいですか? 私の設定ファイル: datastore.properties: SPI=org.geotools.data.postgis.PostgisNGDataStoreFactory host=localhost port=5432 database=GeoServerRaster schema=public user=geoserver passwd=******* Loose\ bbox=true Estimated\ extends=false validate\ connections=true Connection\ timeout=10 preparedStatements=true indexer.properties: Caching=false TimeAttribute=ingestion ElevationAttribute=elevation Schema=*the_geom:Polygon,location:String,ingestion:java.util.Date,elevation:Integer PropertyCollectors=TimestampFileNameExtractorSPI[timeregex](ingestion),DoubleFileNameExtractorSPI[elevationregex](elevation) timeregex.properties: regex=[0-9]{8}T[0-9]{6}Z(\?!.\*[0-9]{8}T[0-9]{6}Z.\*) elevregex.properties: regex=(?<=_)(\\d{1,5})(?=_) ディレクトリ内のファイル: tc_10000_20140807T033115Z.tif tc_10000_20140807T040046Z.tif tc_10000_20140807T043115Z.tif ...

3
ヒートマップを作成するためのグローバルなグリッドのような投影
ヒートマップを保存および表示するために使用されるベクトルグリッドを作成する必要があるアプリケーションを作成しています。次の要件があります。 地球全体をカバーできます。 グリッドの正方形の大部分には値がありません。 グリッド自体を保存する必要はありません。その場で計算したいです。 グリッドで使用されるデータの規模は大きく異なる可能性があります。 グリッドは、1 kmから100 kmの範囲の正方形にしたいと思っています。(これがいくつになるかは承知しています(1kmで〜510million、100kmで〜51,000))。 値は各グリッドの正方形に対して累積/集約されます。 理想的には、大きなグリッドセル値を保存するのではなく、小さなグリッドセルを使用して、大きなグリッドセルの値を簡単に計算できるようにします。 私はOpenLayersを使用してOpenStreetMapの上にドレープします。 SpatiaLiteまたはSQLiteに保存するので、できればネイティブでサポートすることが望ましい(つまり、SpatiaLite =サポートされているCRS、またはSQLite =純粋な数値ベースのシステム)。 だから私の質問は次のとおりです。このグリッドにはどの投影法を使用する必要がありますか? また、これを設計する良い方法はありますか?誰もがこの問題の潜在的な解決策を知っているか、以前に同様の問題を解決したことがありますか?または、有用な方向に私を向けることができます。 ユースケースの編集 -基本的に、さまざまな形状とサイズの境界ボックスを集約しています。それらは、数ヘクタールから数千平方キロメートルまでのサイズのものです。彼らはまた、異なる予測にあるかもしれません。 以下は、私が大規模に自動的に達成することを目指している種類の特注バージョンです。 どうもありがとう。

1
ラスターから特定の距離と高さの差内にあるすべてのポイントを抽出する
X、Y、Zデータがすべて定義された数千万のポイントを含むラスターがあります。相互に720 mの距離(X、Y)および相互に120 mの標高差(Z)にあるすべてのポイントを持つ新しいラスターまたはベクトルを抽出して作成する簡単な方法を見つける必要があります。 SQLとPythonのゼロ知識があります。私はこれをVBAで実行しようとしており、いくつかのアルゴリズムを思いつきましたが、処理時間は不合理で非現実的です。これを実現するには、シンプルなGISアプローチが必要ですが、見つけられないようです。 ArcMapを使用しています。

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