地理情報システム

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

4
ArcMapのレイヤーは何層ですか?
私は職場でCitrix仮想ソフトウェア接続を使用してArcGISで作業しています。時々非常に遅く、作業中のMXDに変更を加えることなく、ArcMapが1分で妥当な速度で動作し、次の1分でクロールが遅くなる場合があります。IT部門は、問題の原因がマップ内のレイヤーが多すぎると考えています。問題は、ハードウェアまたはソフトウェアの構成、または最初にCitrixを使用しているという事実だけかもしれません。 とにかく、編集に使用する標準MXDには、57個のSDEレイヤーと2個のファイルジオデータベースレイヤーがあります。大部分は、編集のためにチェックする必要があるレイヤーです。パイプライン建設プロジェクトごとにデータを編集およびQCする必要があるため、各レイヤーにデータが存在するかどうかを確認する必要があります。いくつかのレイヤーだけがベースマップレイヤーであり、定期的に参照する必要があります。 IT部門は、使用しているレイヤーの数を10に減らすことを望んでいます。理想的な世界では、これで問題ありません。しかし、現実の世界では、実際的ではありません。このような提案では、特定のプロジェクトの編集タスクを実行するために、5つの異なるMXDを使用する必要があります。私は10層のみを使用して実験しましたが、それは厳しく制限されています。他のデータとの関係でデータのコンテキストが不足しており、すべてのデータが更新されたことを確認するために、同じ領域を何度も再確認する必要があります。これはすべて、パフォーマンスのわずかな向上と、編集中のクラッシュの数のわずかな減少にすぎません。 だから私は尋ねなければなりません、理想的な数の層がありますか?多すぎますか?

1
PyQGISはラスタをレンダリング画像として保存し、GDALツールを使用します
QGis Save Raster as Rendered Imageのコードを使用しようとしました。iラスターレイヤー: pipelayer = i pipeextent = pipelayer.extent() pipewidth, pipeheight = (pipelayer.width(), pipelayer.height()) piperenderer = pipelayer.renderer() pipeprovider = pipelayer.dataProvider() crs = pipelayer.crs().toWkt() pipe = QgsRasterPipe() pipe.set(pipeprovider.clone()) pipe.set(piperenderer.clone()) pipedFile = os.path.join(tempfile.gettempdir(), safeLayerName + '_pipe.tif') print pipedFile file_writer = QgsRasterFileWriter(pipedFile) file_writer.writeRaster(pipe, pipewidth, pipeheight, pipeextent, pipelayer.crs()) in_raster = pipedFile …

2
太陽同期衛星の陸橋時間はどれくらい正確ですか?
太陽同期衛星は、その名前が示すように、同じ場所を通過する日の同じ太陽時刻にシーンを取得します。このサイトによると、太陽の同期性は、ノード回帰を利用して衛星を軌道に打ち込むことで達成されます。この軌道では、地球によるあらゆる地点での太陽の位置の日々の変化がほぼ正確に相殺されます太陽の周りの軌道。これは、衛星の高度に応じて、約95〜100度の傾きになります。 降ノードの現地時間(または陸橋時間)は通常、衛星の説明文書に記載されています。これらの記述文書で提供される太陽時が実際にどれだけ正確であるか、および潜在的に影響するパラメーター(高度、緯度、経度、年、衛星の年齢)に基づいてこの精度を改善する方法を知りたいです。私の理解では、主な違いは現地の太陽時間と平均太陽時間に由来するということです(最大18分までの時間の方程式を参照)が、発表された陸橋時間と世界のどこでも実際のローカルソーラー。 私はいくつかの衛星(センチネル、MODIS、ランドサットなど)を念頭に置いていますが、PROBA-Vには特に興味があります。PROBA-Vは、10:45時間の打ち上げ時のローカル高架時間で、太陽同期軌道で高度820 kmで飛行します。衛星には推進剤が搭載されていないため、陸橋時間は打ち上げ時の値と徐々に異なると予想されます。Sentinel-2のような衛星のドリフト補正の例も歓迎します。

3
ジオパンダの空間結合が非常に遅い
以下のコードを使用して、数百万のGPSポイントの国(および場合によっては州)を見つけています。現在、コードは1ポイントあたり約1秒かかりますが、これは非常に遅いです。シェープファイルは6 MBです。 ジオパンダは空間結合にrtreeを使用しており、信じられないほど効率的であると読みましたが、これはここでは機能しないようです。私は何を間違えていますか?私は毎秒1000ポイントかそこらを望んでいました。 シェープファイルとcsvはここからダウンロードできます(5MB):https ://www.dropbox.com/s/gdkxtpqupj0sidm/SpatialJoin.zip ? dl=0 import pandas as pd import geopandas as gpd from geopandas import GeoDataFrame, read_file from geopandas.tools import sjoin from shapely.geometry import Point, mapping,shape import time #parameters shapefile="K:/.../Shapefiles/Used/World.shp" df=pd.read_csv("K:/.../output2.csv",index_col=None,nrows=20)# Limit to 20 rows for testing if __name__=="__main__": start=time.time() df['geometry'] = df.apply(lambda z: Point(z.Longitude, z.Latitude), axis=1) …

5
.SVGファイルをGeoJSONに変換する方法
質問 SVGファイルをGeoJSON形式に変換するにはどうすればよいですか? 望ましい結果: D3.jsなどのライブラリを使用してコロプレスマップを作成したいと思います。 チャレンジ: 特定の国の特定の州の行政区域のパブリックドメインから取得できたSVGファイルがあります。私が知っているライブラリでそれを使用する前に、それをGeoJSONに変換する必要があると思います。
12 geojson  svg  d3 

3
PostGISでのボロノイ図の作成
ここからの修正コードを使用して、点のグリッドからボロノイ図を作成しようとしています。これは私の変更後のSQLクエリです。 DROP TABLE IF EXISTS example.voronoi; WITH -- Sample set of points to work with Sample AS (SELECT ST_SetSRID(ST_Union(geom), 0) geom FROM example."MeshPoints2d"), -- Build edges and circumscribe points to generate a centroid Edges AS ( SELECT id, UNNEST(ARRAY['e1','e2','e3']) EdgeName, UNNEST(ARRAY[ ST_MakeLine(p1,p2) , ST_MakeLine(p2,p3) , ST_MakeLine(p3,p1)]) Edge, ST_Centroid(ST_ConvexHull(ST_Union(-- Done this …

2
重複するポイントのラベルを1つのラベルに結合/マージできますか?
サンプルの場所を表すポイントがあります。多くの場合、複数のサンプルが同じ場所で取得されます。同じ場所にあるが、サンプルIDと他の属性が異なる複数のポイントです。単一のラベルと同じ場所にあるすべてのポイントにラベルを付けたいと思います。スタックされたテキストには、そのスポットのすべてのポイントのすべてのサンプルIDがリストされます。 これは、通常のラベリングエンジンまたはMaplexを使用してArcGISで可能ですか?1つの属性値で各場所のすべてのサンプルIDを使用して新しいレイヤーを作成することでこれを回避できることはわかっていますが、ラベリングのためだけに新しいデータを作成することは避けたいと思います。 基本的に私はこれから行きたいです: これに(一番上のポイントの場合): ラベルを手動で編集せずに。

5
魚眼レンズのような投影
ポスターで効果的にプレゼンテーションを行うためには、特別な投影が必要です。調査地域(チェコ共和国)をヨーロッパ全体のコンテキストで提示したいと思います。チェコ共和国が中心部(70%など)を占め、残りのヨーロッパはその周辺にあります。しかし、途方もなく小さい。すなわち、魚眼レンズのようにチェコ共和国に有利な大きな歪みが好きです。魚眼レンズを何かの物体に近づけると、周囲と比べて大きく拡大します。 Quantum GISでこの目的に使用できる投影法はありますか?EPSGまたは標準の式(QGISで使用可能)を歓迎します。

1
Rでlat / lonからUTMにラスターを再投影しますか?
バッファーを機能させるためには、UTMに変換する必要があります。 wets<-readOGR(dsn=".",layer="shapefile") r.raster <- raster() extent(r.raster) <- extent(wets) res(r.raster) <- 100 wets.r <- rasterize(wet,r.raster) plot(wets.r) wetsbuf<-buffer(wets.r,width=500) コードの最後の行であるバッファーの作成中に、次の警告が表示されます。 Warning message: In couldBeLonLat(x) : raster has a longitude/latitude CRS, but coordinates do not match that ここに情報があります summary(wets.r) layer Min. 1 1st Qu. 1 Median 2 3rd Qu. 9 Max. 11 NA's 52629 …

2
gSimplifyによって単純化された空間ポリゴンを持つwriteOGR
gSimplifyシェープファイルのジオメトリを単純化するために(rgeosパッケージ)を使用しています。この機能は正常に機能しますが、新しいシェープファイルに出力を書き込めなくなりました。私はいくつかの方法を試しました: writeOGR(simplyshape, file, driver="ESRI Shapefile", layer='test') 私は得る objはSpatialPointsDataFrame、SpatialLinesDataFrameまたはSpatialPolygonsDataFrameでなければなりません そして: writePolyShape(simplyshape, file) 私は得る: エラー:is(x、 "SpatialPolygonsDataFrame")はTRUEではありません
12 shapefile  r  simplify  rgdal 

3
断面図からの3D地質モデル、できればオープンソースソフトウェアを使用
私は工学地質学を扱っており、ワークフローには、マップ、フィールドワーク(露頭)、およびボーリング孔からのデータを使用して、特定のサイトの多くの断面を作成することが含まれます。 私が探しているのは、多くの(CAD)描画作業でも、好ましくはコードやプログラミングの知識が少ないオープンソースソフトウェアで、多くの断面を取り、3Dモデルを作成する方法です。 ですから、このソフトウェア(GSI3D)に初めて気づいたとき、それは多くの断面(実際にはフェンス図)を取り、結果として、表面だけでなく固体で作られた3Dモデルを与えます、それは完璧なソフトウェアだと思いました。以下の画像は、ソフトウェアWebサイトからのものです。 私はそれを購入するためのリソースを持っていないので、このアプローチに無料の代替手段(オープンソースソフトウェア)がないかと考えていました。 だから私はアプローチが次のようになると思う: (CADで描かれた)断面図を取得し、それらをすべてGISソフトウェアで結合して、フェンス図を作成します。 すべての断面間を補間し、表面、またはさらに良いソリッドを作成します。各ソリッドは地質層または岩石タイプを表します。 モデルを調整および調整するために、前の断面の間に新しい断面を作成します。 ですから、第3ステップは、(非常に)複雑な補間アルゴリズムの必要がないことを意味すると思います。なぜなら、地質学的な複雑さは、コンピューターで作成される補間ではなく、人間が作成する断面から生じるからです。 このアプローチは、最初の単純なコンピューターによる補間であり、手動調整により改良されます。 わかりやすくするために、複雑な補間アルゴリズムを使用して3D地質モデルを作成し、すべての作業を行う方法を探しているわけではありません。3Dモデルを調整および調整するために断面の反復を何度も行う必要はありませんが、3Dモデルから作業できるように、最初の(単純な)補間が必要です。GSI3Dのアプローチはそのようです(私はソフトウェアを使用していませんが、それは私が理解していることです)。 もう読んだ: 3D視覚化のための無料プログラムを探しています Target for ArcGISの機能に似た地質ボーリングデータの3D視覚化を可能にするQGISプラグインはありますか? オープンソースのGISソフトウェアによる3D視覚化 地質グリッドを組み合わせて、それらの間を押し出しますか? フォーラムの議論 紙(この1つは良いように見えますが、著者はGISを使用していませんでした) 他のGISソースの中で、GRASSが最良の選択であるように見えますが、議論は(GRASSを使用する場合)常にハードワークを行うアルゴリズム、または高価な独自のソフトウェアを使用することについてです。 答えがGRASSの場合、それを行うためのツールは何でしょう(先ほど悲しいことに、ほんの少しのプログラミング知識でそれを行う方法はありますか)。

4
バラバラのポリゴンからボロノイ図のようなモザイクを作成する
次の図は問題を示しています。 以下のように(a)は私が持っているジオメトリとして、ばらばらのポリゴンの集合を PostGISのインチ (b)のようなものが必要です。このセットのポリゴンの 「モザイク」は、「影響領域」基準によって構築されます...ボロノイ構造のようなものです((c)で示されています):実際、ポリゴンがポイント、影響領域はボロノイです。 要約:互いに素なポリゴンのセットの「モザイク」を生成するSQLアルゴリズム(またはPostGIS固有のアルゴリズム)が必要です。 (おそらく、小さなST_BufferおよびST_Difference操作のループ) PS:ボロノイのように、スペースの区切り((b)の四角い枠)を無視する必要があります。 この問題は、回線に関するこれと似ています。 編集(@FelixIPコメントの後) 私はに滞在するpreffer ベクトル(例:使用して精度を失っていないし、宇宙ST_DelaunayTrianglesを彼らが適応さ、オリジナルのポリゴンで内装をし、加減算デュアルグラフソリューションをのような)...いくつかの簡単な自動パッケージpprepairよう支援(QGISトポロジカルツール自動ではありません)。ただし、ラスターはおそらくよりシンプルであり、CPUの消費量は少ないでしょう。 この「GRIDプロセス」の図は、同じ精度と「ユークリッド影響領域の成長」を可能にすることを前提として、ソリューションとしても有効です。 ARCGISにはEuclidean Allocationとして知られる空間解析ツールが存在するため、おそらく、ポリゴンのセット(ポリゴンの分類、ラスタライズ、および折り返し)から始まるPostGIS同様のソリューションがあります。

1
RasterLayerの@ data @ valuesスロットには、実際の値ではなくlogical(0)のみが含まれているのはなぜですか?
NDVIのラスターを読み取ると、手動で設定するまで@ data @ valuesスロットに実際の値が含まれないのは、理由の一番下に到達しようとしています。例えば: NDVI <- raster("./filename.tif", crs="+proj=longlat +datum=WGS84") NDVI@data@values ## returns: logical(0) これは、同じ方法で読み込んだ他のラスターでは発生しなかったため、混乱しています。もっと具体的になりたいのですが、以前と違うことをしたことは覚えていません。以下を使用して、値を手動で取得するのは簡単です。 NDVI1@data@values <- getValues(NDVI19east) しかし、すべてのファイルに対してこれを行う必要があるのは、まだ苦痛です。したがって、2つの部分から成る質問: そもそもなぜこれが起こったのですか?ラスターファイルの格納方法(つまり、メモリにあるかどうか)に関係があることは理解していますが、データにアクセスするために使用するメソッドがどのように変更されるかを本当に理解することはできません... ファイルをRasterLayersとして読み取り、それらのファイルの値にアクセスするために、このプロセスを自動化する方法はありますか(おそらくlapplyに似た方法を使用して)?私の現在のプロジェクトでは、NDVI、Rainfall、およびその他の環境変数の6〜10個のファイルを一度に読み取り、それらを組み合わせていくつかの加重オーバーレイを実行します。データをインポートするプロセスを自動化すると役立ちます。
12 raster  r  memory 


1
gdalを使用して画像をモザイクするときに、フェードアルファレイヤーを保持できますか?
一部の画像をgdalでモザイク処理していますが、各画像のエッジに向かってフェード/緩やかなアルファレイヤーを使用してモザイクの中央のシャープなエッジを削除することにより、最終結果を改善したいと思います。私が抱えている問題は、以下に示すように、個々の画像の緩やかなアルファレイヤーを持つ部分が、最終的なモザイクで半透明ではなく、その下の画像をマスクしていることです。 この段階的な透明度を使用して、ある画像を次の画像にフェードインすることが理想です。 モザイクを生成するために実行する手順は次のとおりです。 元の画像にgcpsを追加して位置を特定し、適切に方向付けします(各画像に順番に行われます)。 gdal_translate -of GTiff -a_srs EPSG:4326 -a_srs EPSG:4326 -gcp 1616 0 -88.2728612066 40.5175787437 -gcp <etc., etc.> <original_image_with_gradual_alpha>.tif <image_with_gradual_alpha_and_gcps>.tif 画像を適切な向きの新しいジオティフにワープします(各画像に対して順番に行われます)。 gdalwarp -s_srs EPSG:4326 -t_srs EPSG:4326 -dstnodata 0 <image_with_gradual_alpha_and_gcps>.tif <warped_geotiff_with_alpha>.tif ワープされたすべての画像を1つのモザイクにまとめます。 gdalbuildvrt -srcnodata 0 mosaic.vrt <warped_geotiff_with_alpha_root>*.tif gdal_translate mosaic.vrt mosaic.tif リンクした画像はmosaic.tifです。 サンプル入力ファイルのgdalinfo: Driver: GTiff/GeoTIFF Files: dsc00562.tif Size is 1616, 1080 …

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