地理情報システム

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

3
複合陰影起伏を作成する方法は?
複合陰影起伏の概念は、複数の陰影起伏を異なる太陽光の方向と組み合わせて死角を回避することです。3つの陰影起伏のある画像を、それぞれ315⁰(NW日光、デフォルトレイヤー)、+355⁰レイヤー、+275⁰日光とマージする必要があります。以下に示すように、これにより詳細とエレガンスが向上します。GIS以外の完全な説明はここにあります。 任意のsrtmファイルを使用して、3つの最初の陰影起伏を次のように実行できます。 gdaldem hillshade input.tif hillshades_A.tmp.tif -s 111120 -z 5 -az 315 -alt 60 -compute_edges gdaldem hillshade input.tif hillshades_B.tmp.tif -s 111120 -z 5 -az 355 -alt 60 -compute_edges gdaldem hillshade input.tif hillshades_C.tmp.tif -s 111120 -z 5 -az 275 -alt 60 -compute_edges

2
オンザフライでCRS変換を有効にすると、QGIS面積の計算が異なります
QGISを開いてレイヤーを追加し、フィールド計算機を介してシェープファイルの面積を計算すると、QGISを開いて「オンザフライCRS変換」をオンにして面積を計算するときとは異なる面積が得られます。これは、プロジェクトとレイヤーが同じ座標系(同じEPSG番号)であることを確認しているにもかかわらずです。何が悪いのですか? 私は、ArcGISで作成された面積計算を含むシェープファイルを持っています(私ではなく、データが私に渡され、ArcGISで面積が計算されたCRSの手掛かりがありません)。シェープファイルレイヤーCRSはEPSG:21781(スイス)です。QGISで、OTF設定を変更せずにプロジェクトCRSをEPSG:4326(WGS84)のままにすると、ArcGISエリア値と同じ値が得られます。ただし、レイヤーをEPSGに追加する前にOTFを変更すると、21781で異なるエリア値が得られます。私が理解しているように、これは、ArcGISエリアがCRS EPSG:4326で計算されたことを示唆しています。 最初のワークフロー: QGISを開く プロジェクトCRS:EPSG 4326 レイヤーを追加 プロジェクトCRSは自動的に適応し、現在EPSG 21781です。 フィールド計算機で$ areaを計算する 2番目のワークフロー: QGISを開く プロジェクトCRS:EPSG 4326 OTFをオンにし、プロジェクトCRSをEPSG 21781に設定します レイヤーを追加 フィールド計算機で$ areaを計算する 1番目と2番目のワークフローのステップ5では、同じ領域を作成しないでください。

4
マルチバンドラスタにNoDataを設定しますか?
ここに示すように、NoDataの代わりに黒い領域があるRGBオルソ画像があります。 SetNullツールを使用すると、黒い領域は削除されますが、グレースケールのオルソ画像に変換されますが、これは私が望んでいないことです。 クリップ(データ管理)ツールを使用してラスター自体をクリップすることでこれを回避する方法があり、NoData値を黒いセルの値(0)に設定できることを知っています。しかし、私は学生向けのワークショップを作成しており、あまり直感的でない方法を使用したいと思います。 もちろん、各バンドで個別にNoDataツールを実行してから3つのバンドを組み合わせるオプションもありますが、band1、band2、およびband3がすべて0になってNoDataとして設定される条件が必要です。ModelBuilderでこれを実行できることが理想的ですが、ArcPyを使用してスクリプトを作成することもできます。 ArcGIS 10.2 DesktopとAdvanced Licenseを使用しています。

1
QGISでPythonを使用して交差する線を交差させますか?
バスラインを表す一連のラインがあります。いくつかの線が重なっており、同じ道を進んでいます。 ノードを抽出することができます。 ただし、このような交差点のみを抽出することに興味があります。 これどうやってするの?QGISまたはPythonを使用した方法を探しています。 GDAL Pythonの交差法を試しましたが、基本的には頂点のみが返されます。 QGIS のLine Intersectionsメソッドは、2本の線が交差する場合に交差を返します。ただし、2本のバス路線が同じ道路のルートの一部を進んでいる場合、それらが合流する場所を示すことはできません。

4
Rを使用して、Geotiff画像からLiDARデータにRGB値を割り当てる
Geotiff画像とそれに対応するLidarデータ(x、y、z)をUTM座標で指定しました。Lidarデータを画像のRGB値とマージする必要があります。 つまり、最後に、Geotiff画像からの対応するRGB値でコード化されたLiDARクラウドカラーの各ポイントを(3D)プロットする必要があります。 LidarデータをQGISを使用してシェープファイルに変換しました。次に何をすればいいですか? Rではそのplot3D機能を試しましたが、うまくいきませんでした。テキストdoc、シェープファイル、tif画像を添付しています 編集: 以下に示すように、次のプログラムを実行しました。 require(raster) require(maptools) # to take shape files #require(car) # for scatter3D require(plot3Drgl) ##setwd("C:\\Users\\Bibin Wilson\\Documents\\R") ##source('Lidar.r') data = read.csv("C:\\Users\\Bibin Wilson\\Desktop\\Lidar\\lidardata.csv") #nr = nrow(data) nc = ncol(data) nr = 500 require(rgdal) X = readGDAL("C:\\Users\\Bibin Wilson\\Desktop\\Lidar\\image.tif") topx = 4.968622208855732e+05; topy = 5.419739403811632e+06; final = matrix(nrow = nr, …
10 raster  r  3d  lidar  3d-model 

2
直交するエッジを持つ建物のフットプリントをデジタル化する方法は?
QGISを使用して、古いラスターマップをデジタル化しようとしています。これらの2Dレイヤーを最終的にスケッチアップにロードして3Dモデルに変換したいので、すべてを正方形にする必要があります。 これが私が作業しているマップのサンプルです: 表示されている緑の線は、ラインジオメトリを使用して既にデジタル化した線路のベクターレイヤーです。残りは、正しくジオリファレンスしたラスターベースのレイヤーであり、すべてのレイヤーの背景です。 私が目指しているのは、建物のフットプリントをキャプチャし、例を挙げて、次のような通常のポリゴンキャプチャツールを使用することです。 これは2Dベクトルマップの作成には十分に機能しますが(たとえば、Webマップタイルとして表示したり、QGisで使用したりするには)、KMLとしてエクスポートし、Sketch-upにインポートすることはできません。さらに、100%正方形にするのは非常に困難です。 QGisのツールからわかるように、デジタル化された長方形とcad-toolsプラグインがインストールされていますが、たとえば、直交ポリゴンキャプチャツールを使用する場合、これらは私が行う必要があるものには適していません。 最初の線を必要な角度で描画することから始めることができますが、CTRLを押して最初の線に対して直角または四角形になるようにするとすぐに、プラグインが正しくないため、すべてがうまくいきません。建物の回転角度を考慮に入れます。つまり、追加のポイントは、北/東の水平/垂直専用であり、それらの軸に対して90度です。 私がトレースしようとしている建物がそれらの軸上にある場合、問題ありません、すべてが完璧ですが、それらの多くはそうではありません、複合体の周りのさまざまな角度にあります(それは私がデジタル化している大規模な工場サイトです) 完璧なツールは、スケッチアップの原点ツールに似ています。それを行うには、原点を1つのコーナーから開始し、次に互いに90度のXとYを伸ばします。面、左面の1つ下、それらの原点にスナップしたもの、またはそこから派生したガイドは、他の線に対して自動的に90度になりますが、次の画像でわかるように、必要に応じて回転が考慮されます。 QGisを最初に使用しなくても、スケッチアップでポリゴンをキャプチャしてデジタイズすることは確かに可能ですが、そのようにすると、ジオリファレンスできなくなり、0,0を中心とする標準の世界座標が表示されます QGisでそれらをデジタル化することは、空間内の位置が正しく、OSGB36投影に準拠するように行われます。 スケッチアップは、背景マップの地理参照にも従いません。それをインポートしようとすると、左下が0,0に固定され、適切に拡大縮小するように求められます。 唯一の私は、Googleの地球ツールから取り込み領域を使用する場合、私はスケッチアップにジオリファレンスマップを得るための見つけた方法です。ただし、SKバージョン8以降では、これを実行すると、基本のGoogle Earth Ariel写真のみがインポートされ、表示されたカスタムオーバーレイはインポートされません。つまり、ジオリファレンスをロードすると、キャプチャしようとしたときに無視されます。地理参照された場所。 Sketch-up V7以下はカスタム画像を無視しませんでしたが、V7はダウンロードできなくなりました。コピーを見つけても、認証サーバーがそのキーを認証しないため、実行できません... :-( 究極の質問 だから本質的に私が求めているのは、スケッチアップの機能と同じような機能を提供するQGisのプラグインを誰かが知っているかどうかです。エッジを互いに直角に保ちながら、現在のツールのように水平および垂直にロックされないフットプリント。 少なくともポイントを建物の角に合わせることができるスナップ可能なグリッドを提供する何らかの方法でさえ、改善になるでしょう。 そうでない場合は、QGisプラグインAPIを学習して独自のプラグインを作成する必要があるようです。
10 qgis  digitizing 

2
ラインエンドキャップがなく、作成されたポリゴンをQGISでディゾルブせずに、ポリラインに基づいてバッファーを作成しますか?
QGISに投影線レイヤー(Shapefile)があります。すべてのラインセグメントについて、ラインエンドキャップのないポリゴンを作成します。結果のポリゴンは、単一のポリゴンに分解されるべきではありません。 fToolsのバッファリングツールを試しました。これにより、溶解せずにバッファを作成できますが、ラインエンドキャップを定義することはできません。 GRASSのv.bufferも試しました。これにより、定義された行末でバッファを作成できますが、ディゾルブを無効にすることはできません。 両方が存在する可能性はありますか?溶解せず、ラインの端にキャップなし?結果は、すべてのラインセグメントのポリゴン(バッファ)を含むシェープファイルになります。
10 qgis  buffer  dissolve 

2
グローバルフォレストウォッチのハンセン分類の方法論?
http://www.globalforestwatch.org/で入手可能な、Science、2013年に発行されたhttp://www.globalforestwatch.org/で、ハンセン、MC、ポタポフ、P。V、ムーア、Rとして ハンセンの驚くべき分類を発見しました。。、Hancher、M.、Turubanova、SA、およびTyukavina、A。(2013)。21世紀の森林被覆変化の高解像度グローバルマップ。サイエンス、342(6160)(11月15日)、850–854。doi:DOI:10.1126 / science.1244693。 しかし、私はこの記事/ウェブサイトで、どのような分類をハンセンが使用したので、そのようなマップを再現する正確な方法論を見つけることができませんか? 私が見つけることができる唯一のことは、教師あり学習アルゴリズムが木のカバーを識別するために使用されたことですが、それはかなり広い用語です。 可能であれば、同じ方法論を使用したいと思います(ただし、90年目に適用します)ので、選択した領域でのハンセンの分類の前に。

1
QGISとpgRoutingを使用したウォーキングとサイクリングのIsochroneマップの計算?
指定されたポイントからウォーキングとサイクリングのアイソクロンを生成できるはずだと思うので、QGISをインストールしました。ArcMapを使用する前にこれをかなり簡単に実行しましたが、QGISに本当に苦労しています。 私が読んだことから、PGRoutingとOSM2PGroutingマッピング(インストール済み)を使用しているはずです。私は以前にSQLを実際に使用したことがなく、これらの等時性を実行するためのダミーガイドを探しています。私はさまざまな方法について読んだことがあり、私が苦労しているSQLを最も詳細に説明しています。

2
python gdalを使用してGeoTiffから座標と対応するピクセル値を取得し、numpy配列として保存します
投影座標とそれらの座標の実際のピクセル値をGeoTiffファイルから取得し、それらをnumpy配列に保存するにはどうすればよいですか?arsenci020l.tifファイルがあり、その座標はメートル単位です。以下は、私が実行したgdalinfoの要約出力です。 ~$ gdalinfo arsenci020l.tif Driver: GTiff/GeoTIFF Files: arsenci020l.tif arsenci020l.tfw Size is 10366, 7273 Coordinate System is: PROJCS["Lambert Azimuthal Equal Area projection with arbitrary plane grid; projection center 100.0 degrees W, 45.0 degrees N", GEOGCS["WGS 84", DATUM["WGS_1984", SPHEROID["WGS 84",6378137,298.257223563, AUTHORITY["EPSG","7030"]], AUTHORITY["EPSG","6326"]], PRIMEM["Greenwich",0], UNIT["degree",0.0174532925199433], AUTHORITY["EPSG","4326"]], PROJECTION["Lambert_Azimuthal_Equal_Area"], PARAMETER["latitude_of_center",45], PARAMETER["longitude_of_center",-100], PARAMETER["false_easting",0], PARAMETER["false_northing",0], UNIT["metre",1, AUTHORITY["EPSG","9001"]]] …

2
ogr2ogrへのデータのパイピング
データを直接パイプすることは可能ogr2ogrですか?私はcurl、GeoJSONファイルにパイプしてogr2ogr、それを別の形式に変換するためにパイプします。 パイプを使用せずに、最初にファイルを書き込んでから次のコマンドを使用して変換することでこれを実現できましたが、その手順をスキップできるかどうか知りたいです。 curl "https://raw.githubusercontent.com/nvkelso/natural-earth-vector/master/geojson/ne_50m_admin_0_countries.geojson" -o "countries.geojson" && ogr2ogr -f "KML" countries.kml countries.geojson パイプする代わりにcurl出力で変数を作成しようとしましたogr2ogrが、読み取ることができませんでした。 DATA=$(curl -s "https://raw.githubusercontent.com/nvkelso/natural-earth-vector/master/geojson/ne_50m_admin_0_countries.geojson") && ogr2ogr -f "KML" countries.kml $DATA
10 gdal  ogr2ogr 

7
ArcPyを使用して、ポリゴンを* n *個の等しい数のグループに分割しますか?
私の仕事の仕事の1つは、小包をグループに分割することです。これらのグループは、不動産所有者と話すためにエージェントによって使用されます。目標は、お互いに近い区画をグループ化することでエージェントの仕事を簡単にすることと、仕事を均等に分配するように区画を等しい数に分割することです。エージェントの数は、カップルから10以上に変動する可能性があります。 現在、私はこのタスクを手動で実行していますが、可能であればプロセスを自動化したいと考えています。私はさまざまなArcGISツールを調査しましたが、私のニーズに合うものはないようです。near_analysisポリゴンを使用および選択するスクリプト(Pythonで)を試しましたが、かなりランダムであり、準正しい結果を得るまでに時間がかかり、最初からすべてを手動で行った場合よりも修正に時間がかかります。 このタスクを自動化する信頼できる方法はありますか? 結果の例(うまくいけば、黄色で表示される除算なし):

1
Python Toolboxツールで値テーブルのデフォルト値を設定する
フィールドを並べ替え、並べ替えられたフィールドを使用して新しいフィーチャクラスを作成するPython Toolboxツールを作成しました。ツールは適切に機能し、値テーブルを使用して、ユーザーが選択した順序でフィールドを配置したり、各フィールドのランク値を入力したりできます。ただし、このツールの厄介な点は、すべてのフィールドを並べ替える前に、一度に1つずつ値テーブルに追加する必要があることです。 私はこれを設定して、デフォルトですべてのフィールドを値テーブルに取り込むようにしています。不要なフィールドは、並べ替える前に削除できます。誰かが以前にこのようなことをすることに成功したことがありますか?UpdateParametersメソッドでこれを実現しようとしています。これが私が試しているコードです: import arcpy import os class Toolbox(object): def __init__(self): """Define the toolbox (the name of the toolbox is the name of the .pyt file).""" self.label = "Reorder Fields" self.alias = "Reorder Fields" # List of tool classes associated with this toolbox self.tools = [ReorderFields] class ReorderFields(object): def __init__(self): …

2
楕円体を使用したQGIS断面プロファイル距離?
QGIS 1.8と2.6を使用していますが、楕円(「適切な」)距離を提供する断面プロファイルツールを取得できません。すべての距離は、長すぎる/遠すぎる地理座標を使用します。 たとえば、BC州バンクーバーからケローナまでの直線距離は約270 kmです。私の断面はすべて420kmだと言っています。 QGIS距離測定ツールを使用すると、楕円体(私はWGS 84に設定した)を使用して271kmを提供できます。 「適切な」距離を与えるためにプロファイルツールを取得する方法を誰かが明らかにすることはできますか?

1
OpenLayers 3-座標に基づいて複数の線/パスを描画します
与えられた座標(始点と終点)に基づいて線を描画しようとしています。 Googleは、いくつかの例を見つけましたが、OL2のためである可能性があるため、それらの例は機能しないようです。これが私の最後の手段です。 座標はマーカー配列にあります <!doctype html> <html lang="en"> <head> <link rel="stylesheet" href="css/ol.css" type="text/css"> <style> .map { height: 100%; width: 100%; } </style> <script src="build/ol.js" type="text/javascript"></script> </head> <body> <div id="map" class="map"></div> <script type="text/javascript"> // inicijalizacija mape var map = new ol.Map({ target: 'map', layers: [ new ol.layer.Tile({ source: new ol.source.MapQuest({layer: 'osm'}) // …
10 openlayers 

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