地理情報システム

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

2
Lat 4531.38153 Long 12347.2328としてフォーマットされた座標を10進数に変換しますか?
Garmin GPSで取得した20年前のウェイポイントデータを継承しました。緯度/経度座標がDMS、10進数の分、または10進度として認識されません。例として1つのレコードを次に示します。Lat4531.38153 Long 12347.2328。私はこの記録の非常に一般的な位置が緯度45度、ロン-123度であることを知っています。 誰かがこれらの座標のフォーマットを教えてくれて、10進度に変換できますか?

1
QGIS 3.0 Processingの新しいalglistとalghelpは何ですか?
Pythonコンソールを介して新しいQGIS 3.0処理スクリプトにアクセスすることは、特に古いprocessing.alglist()およびprocessing.alghelp()コマンドが機能していないように見えるため、私にとって難題であることが証明されています。 処理スクリプトのリストをどのように呼び出すのですか? 個々のスクリプトのヘルプ情報をどのように呼び出しますか?

1
255文字を超えるテキストフィールドを追加しますか?
私は、テキストフィールドを持つシェープファイルレイヤーがほとんどないQGISプロジェクトに取り組んでいます。テキストフィールドに説明として段落全体を追加したいのですが、フィールドは最大許容長である255文字に制限されています。 より長いテキストを追加するにはどうすればよいですか?私が考えていない方法があるはずだと確信しています。 PostGISを試すべきだとどこかで読んだ。プロジェクトの最終目標は、オンライン表示のためにWebサーバーにアップロードすることです。したがって、PostGISとはるかに大きなテキストファイルとの関係をWebにアップロードまたは保存する方法はわかりませんか?

1
QGIS Composerのページサイズを変更するための構成タブはどこにありますか?
QGIS 3.0 Composerでページサイズを変更しようとしていますが、コンポジションタブが表示されません。ツールバーの空のスペースを右クリックしましたが、作曲について何も表示されませんでした。私はWindows 7を使用しています。QGISドキュメントを調べてみましたが、まだテスト中です。

2
「pyrcc5」は内部コマンドまたは外部コマンドとして認識されません
Qgis 3.0をWindows 10にインストールしました。pyrcc4またはpyrcc5コマンドを実行するたびにこのエラーが表示されます。 'pyrcc4' is not recognized as an internal or external command, pyrcc4.exeファイルがある場所またはapyrcc5.batファイルがある場所を見つけて、環境変数へのパスを追加しても、同じエラーが発生します。osgeo4wの以前のインストールでは、pyqtdevフォルダーまたは同様のものがC /にあったと思われました。そのようなフォルダがあるはずでしたが、pyqtを個別にダウンロードする必要がありますか?
11 qgis  pyqgis 

3
QGIS座標精度
QGISがポイントのセットを定義する座標値の小数点以下(x番目)は重複していますか? QGISは小数点以下15桁を処理すると考えていました。しかし、それは私が主にシェープファイルに取り組んでいたという理由だけでした。 ただし、一時的なスクラッチレイヤーなど、別のデータソースを選択した場合、制限は適用されません。 以下のようなダミーデータを使用して、2つのツールで簡単なテストを行い、座標の違いを特定できる最小値を見つけました。 QGISジオプロセシング: Delete duplicate geometries MMQGISプラグイン: Delete Duplicate Geometries 出力QGIS Delete duplicate geometriesは上記の入力データと同じです(20個のレコードがすべて保存されています)。したがって、QGISはそれらがすべて別個であると判断する可能性があります。この制限は、この小さなテストで見られる1e-29(または1e-30)を超えていますか? ちょうど比較として、MMQGIS Delete Duplicate Geometries以下で作成。MMQGISは、小数点以下16桁または17桁を制限として設定しているようです。 [編集] 私は私の質問の中心部分が何であるか明確ではなかったのではないかと心配しています。座標値と重複/重複の関係を理解することを目的としています。これは私の質問の最初の段落で述べたとおりです。この種の知識が、フィールド計算式を微調整することで重複する機能を簡単に制御するのに役立つことを願っています。 しかし、私が焦点を当てようとしていた根本的な問題は、QGISがポイント(ノード)を重複として認識する小数点以下の桁数が、データソースによって異なるように見えることでした。 レイヤーにシェープファイルを使用する場合、QGISは小数点以下15桁を処理し、より小さい差(16または17)は認識されません... MMQGISもこの制限の影響を受けます(私の目には)。一時的にスクラッチレイヤーまたはDBレイヤーを作成する場合、この制限は30日以上になりますか?行動のこの変化は、私を不思議に思わせます。
11 qgis 

2
Pythonはシェープファイルを読み取れません
Jupyterノートブックでシェープファイルを開こうとしていますが、開くことができません。シェープファイルはワークブックと同じフォルダーにあり、フルパスを使用してもPythonはそれを識別できません。 import shapefile as shp import matplotlib.pyplot as plt sf = shp.Reader(r'C:\Users\Public\Documents\1-11-99n.shp') ShapefileException: Unable to open C:\Users\Public\Documents\1-11-99n.dbf or C:\Users\Public\Documents\1-11-99n.shp. fionaとgeopandasで開くこともできません。 import fiona shape = fiona.open("1-11-99n.shp") そして import geopandas as gp shp = gp.GeoDataFrame.from_file('1-11-99n.shp') print (shp) 両方で終わる CPLE_OpenFailedError: b'Unable to open 1-11-99n.shx or 1-11-99n.SHX.Try --config SHAPE_RESTORE_SHX true to restore or create …
11 python  shapefile 

2
どのようにしてポイントを内部またはタッチではなく、ポリゴンと交差させることができますか?
国勢調査のシェープファイル(マルチポリゴン)を使用しており、ポイントのある別のテーブルがあります。各ポイントがどのセンサスブロックにあるかを記録します。すべてのST_WithinおよびST_Touchesクエリに対してfalseを返す1つのポイントがあります。ただし、1つのブロックのST_Intersectsに対してtrueを返します。 それが別のポリゴンである場合、これがどのように起こるか理解できますが、どのように単一ポイント(これが事実であることを検証しました)は交差と真であり、内とタッチの両方で偽ですか?QGisでそれを調べると、Touchesに対してtrueを返すはずです。 私たちのテーブルには数百万のポイントがあり、この単一のポイントだけに問題があるようです。ポリゴンとポイントの両方でST_IsValidを実行しました。 ジオメトリデータはかなり新しいです。これがどのように機能するかについて何かが欠けていますか? ポリゴンブロック(geoid: '170898507021157') SELECT ST_Within(pt, geom), ST_Touches(pt, geom), ST_Intersects(pt, geom) FROM ( VALUES ( ST_SetSRID( ST_GeometryFromText($$MULTIPOLYGON(((-88.466933 42.139013,-88.464586 42.139034,-88.463821 42.13901,-88.463811 42.138813,-88.463815 42.138705,-88.46382 42.138572,-88.463849 42.138468,-88.463886 42.138398,-88.464044 42.138452,-88.464239 42.138464,-88.464616 42.138472,-88.464961 42.138468,-88.465318 42.13846,-88.465558 42.138464,-88.465695 42.138443,-88.465824 42.138402,-88.465969 42.138319,-88.466048 42.138248,-88.466106 42.138161,-88.466135 42.138057,-88.466148 42.1379,-88.466149 42.137731,-88.466143 42.137406,-88.466143 42.137086,-88.466131 42.136945,-88.466098 42.13685,-88.466027 42.136746,-88.46596 42.136677,-88.465799 42.136609,-88.465571 42.136559,-88.465359 42.136534,-88.465167 …
11 postgis 

1
QGISで放射状セクターオーバーレイを作成する
関心のあるポイントから放射状に広がるセクターグリッドを作成する必要があります。以下は、私が手作業で手間をかけて作成した例です。 ArcGIS for Desktopを使用してダーツボードシェープファイルを生成する方法で類似のソリューションをいくつか見つけました。そして、PostGISのQGISを使用してドローウィンドローズを作成しましたが、どちらも私の基準に完全には適合していません。 理想的には、各セクターが個別のポリゴンであり(データ分析の目的で)、セクターの数と半径方向の距離を制御するパラメーターを使用して異なるサイトにこのオーバーレイを作成できる必要があります。 QGISでこれらの形状を簡単に生成する方法を誰かが提案または提供できますか?私はむしろこれは比較的一般的なタスクだと思うので、車輪を再発明するために多大な努力をしたくありませんが、解決策を見つけるのに苦労しています。最初からソリューション。

1
既にターゲットsridにあるジオメトリでST_Transformを呼び出しますか?
私は、さまざまな投影法で使用できるパラメーターとしてジオメトリを持つ関数を作成しています。 CREATE OR REPLACE FUNCTION foo(in geometry) RETURNS boolean AS $$ DECLARE transformed_geom geometry := in; BEGIN IF ST_SRID(transformed_geom) != 32737 THEN transformed_geom := ST_Transform(transformed_geom, 32737); END IF; [ ... ] END; $$ language plpgsql; この関数は特定の投影法(32737)でジオメトリを必要としますが、変換を行うために呼び出し側に義務を負わせたくありません。関数内で処理することを好みます。 問題は、実際のsridをチェックする代わりに、常にST_Transformを呼び出すのが安全ですか?ジオメトリがすでにターゲット投影にある場合、何をしますか? このようなクエリを使用して、安全であるように確認しますが、ドキュメントで確認できなかったため、誰かがこれを確認できれば素晴らしいでしょう。 SELECT ST_AsEWKT(geom), ST_AsEWKT(ST_Transform(geom, 32737)) FROM table_in_32737;
11 postgis  srid 

2
mm単位で一貫した寸法のポリゴンを生成しますか?
ポリゴンとして表される太陽光発電パネルを作成する機能があります。基本的に、ユーザーが次のパラメーターを指定できる長方形のグリッドを作成します。 長さ 幅 水平距離 垂直距離 コードはプラグインFeatureGridCreatorに基づいていますが、ポリゴンの側面のみに焦点を当てています。特に大きな寸法(長さおよび幅が10m、水平および垂直距離が10mなど)のポリゴンを作成する場合、ほとんどの場合に有効です。 しかし、私はいくつかの問題に気づきました。 長さと幅の両方で2m未満の寸法のポリゴンを指定すると、ポリゴンは作成されませんでした。 寸法の異なるポリゴン(長さ5mと幅7mなど)を指定する場合、寸法の測定ツールで測定したときの寸法は同じではありませんでした。これらの寸法では、長さと幅はそれぞれ4mと6mであることが示されました。 投影とレイヤーの両方に使用されるCRSはEPSG:27700ですが、これが問題になるとは思いませんでした。 これらの問題を引き起こしている可能性のあるものは誰にもわかりませんか?また、コードを改善する方法、またはより良い代替物に置き換える方法についても提案を受け付けています。 Pythonコンソールで再現できるコードは次のとおりです。関数を実行する前に、関連するCRSでポリゴンレイヤーを選択する必要があります。 from PyQt4.QtCore import QVariant from math import ceil def generate_pv_panels(length, width, distance_x, distance_y): # Define layer properties layer = iface.activeLayer() crs = layer.crs() memory_lyr = QgsVectorLayer("Polygon?crs=epsg:" + unicode(crs.postgisSrid()) + "&index=yes", "PV panels for " + str(layer.name()), "memory") QgsMapLayerRegistry.instance().addMapLayer(memory_lyr) …

1
QGISのグラムシュミットパンシャープニング?
Gram-Schmidtパンシャープンを実行する必要があります。ArcGISまたはENVIにアクセスできないため、QGISを使用しています。QGISでGram-Schmidtパンシャープンを実行するために利用できるプラグインまたは同様の機能はありますか?そうでない場合、これは他のオープンソースソフトウェアでも可能ですか?


1
「EPSG:4326」仕様のsrsNameはGML 3.1 / 3.2に準拠していますか?
srsName="EPSG:4326"GML文書に時々見られます(例:https : //postgis.net/docs/ST_GeomFromGML.html、特定のソースは公開されていません)。意図(おそらくここでは重要ではない軸の順序を除く)は明確で、おそらくさまざまなシステム間で相互運用可能ですが、実際に仕様に準拠しているかどうかは疑問です。 私はOGC Naming AuthorityとOGC URNポリシーを見てきましたが、それらはurn:ogc:def:crs:EPSG:\d{4,5}フォームを使用します(つまりurn:ogc:def:crs:EPSG:4326)。 GMLポイントプロファイル(OGC 05-029r4)はsrsName="urn:ogc:def:crs:EPSG:6.6:4326"例で使用されており、「よく知られている」必要があります。srsNameただし、実際に特定のものを除外するものは何もありません。 あるsrsName="EPSG:abcd"フォームは(特に、中srsName="EPSG:4326"(ポイントプロファイルのために、特に)GML 3.1または3.2の要素の仕様準拠)?
11 gml  ogc  specification 

1
画像を保存する前に、キャンバスのレンダリングが完了するのを待ちます
マップコンポーザーを使用して、複数のレイヤーのレンダリングを保存するスクリプトを作成しようとしています。私が直面している問題は、qgisがすべてのレイヤーのレンダリングを完了する前にスクリプトが保存されることです。 いくつかの他の回答(に基づいて1、2、3)、私が使用しようとしてきたiface.mapCanvas.mapCanvasRefreshed.connect()し、関数内で保存した画像を入れて、私はまだ同じ問題に直面しています-画像はすべてのレイヤーが含まれていません。 私が使用しているコードと、メインウィンドウとレンダリングがどのように見えるかの画像を以下に示します。 コンソールウィンドウを開いて3 print layerList行のコメントを解除すると、プログラムはレンダリングが完了するのを待ってから画像を保存することに気付きました。これが処理時間の増加によるものなのか、プログラムの実行方法が変わっているのかはわかりません。 すべてのレイヤーが画像に含まれるように、これを適切に実装するにはどうすればよいですか? from qgis.core import * from qgis.utils import * from qgis.gui import * from PyQt4.QtCore import * from PyQt4.QtGui import * import os.path ##StackExchange Version=name ##Map_Save_Folder=folder ##Map_Save_Name=string roadmap # Create save file location mapName = "%s.png" %Map_Save_Name outfile = os.path.join(Map_Save_Folder,mapName) pdfName = "%s.pdf" %Map_Save_Name …

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