地理情報システム

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

5
ArcPyを使用してフィーチャクラスとフィールドエイリアスを一括で変更しますか?
1年に2回以上、エイリアスを追加または変更するための10個または20個の属性を持つFCが100個以上あります。言うまでもなく、これは私が自分の道をうなりだすものではありません。このプロセスを自動化するにはどうすればよいですか? Pythonソリューションが優先されますが、機能するものなら何でも使用します。 Arcgis 9.3.1および10(ArcInfoライセンスレベル)にアクセスできます。


6
PyCharm 2019はQGISとはもう機能していません
PyCharm 2019への更新以来、QGIS Pythonモジュールをロードできません。自動補完も使用できません。私はすでにキャッシュを削除しました(PyCharmのキャッシュを無効にし、ユーザー設定ディレクトリの「システム」フォルダーを削除することによって)、何も動作しないようです。 PyCharm内でPythonコンソールを起動して「import qgis.core」と入力すると、次のエラーが表示されます。 Traceback (most recent call last): File "<input>", line 1, in <module> File "C:\Program Files\JetBrains\PyCharm Community Edition 2018.2.2\helpers\pydev\_pydev_bundle\pydev_import_hook.py", line 21, in do_import module = self._system_import(name, *args, **kwargs) File "C:\OSGEO4~1\apps\qgis-ltr\python\qgis\core\__init__.py", line 27, in <module> from qgis._core import * File "C:\Program Files\JetBrains\PyCharm Community Edition 2018.2.2\helpers\pydev\_pydev_bundle\pydev_import_hook.py", line 21, in …

2
ポリゴン間のフロー(接続+値)の転送
QGISには、セルと1つの追加レイヤーの間の移動データを表す2つのシェープファイルがあります。下の画像を参照してください 以下によって定義されたデータの移動: ポリゴン"LayerA"(赤い輪郭の透明な正方形)。それに加えて、細胞内の動きを表す円にも関連し、"LayerA"ジオセントロイドます。 ポリラインレイヤー"Flows"(黄色/灰色の矢印)、"LayerA"フィーチャのジオセントロイド間の接続を介して値を伝えます ターゲット層: ポリゴン"LayerB"(濃い灰色の輪郭の明るい薄紫色の特徴)。 さらに、"FLUX"セル内の値"LayerA"を"LayerB"ポリゴンから既に移動し、移動しています。前の質問「QGISのポリゴン間で値を継承しますか?」を参照してください。。これは、使用して行った%の$area計算を。 フロー接続を転送/送信/変換する有意義なソリューション/アプローチがあるかもしれません によって表される"Flows"とその関係からの関係"LayerA"へのその値"LayerB"。 これらの接続をポリラインとしてどのように実現できますか? さらに、新しいフローは同様のスタイルを継承します "Flows"ます。 リクエストにより、データのサンプルを提供できます。 フローはないの機能の間に存在します"LayerA"が、の特徴間 "LayerB"。主な目的は"FLUX"、"LayerB"可能なテーブル/オリジン-宛先マトリックス間の接続の属性(from / to)を達成することです。 いくつかの要件/基準があります遵守すべき。 1.同じセル内のフィーチャのパーツ(黄色で選択)間にフロー接続がありません 2.部品が異なるセルにある場合でも、同じ機能間に接続はありません。 3.フィーチャの部分が完全に2つの異なるセルフィーチャ内にある場合、フィーチャの部分間に接続が存在します"LayerB"("Union"出力に基づく)"LayerA" 4."FLUX"伝達している新しい値は、以下の画像に示すように計算されます。 たとえば、2つのセルIとの間に接続IIが"FLUX"あり100ます。他の値を仮定すると、"NEW_FLUX"間A'とは、B''周りになります1.5625。100ただ一つの例です。 参照: QGISのポリゴン間で値を継承しますか? QGIS 2でフローマップスタイルを調整する 別のレイヤーのポリゴン内のポリゴンの比例面積を計算する 無料でオープンソースのGIS Ramblings | GISの移動データ:問題とアイデア QGIS 2の仮想レイヤーでジオメトリを保持

6
QGIS 3.0はプラグイン処理をロードできません。ManjaroLinuxでは「osgeo」というモジュールはありません
AURパッケージからQGIS3をインストールしました。すべてのオプションの依存関係もあります:https ://aur.archlinux.org/packages/qgis/ ただし、起動時に次のエラーが表示されます。 Couldn't load plugin 'processing' ModuleNotFoundError: No module named 'osgeo' Traceback (most recent call last): File "/usr/share/qgis/python/qgis/utils.py", line 311, in loadPlugin __import__(packageName) File "/usr/share/qgis/python/qgis/utils.py", line 664, in _import mod = _builtin_import(name, globals, locals, fromlist, level) File "/usr/share/qgis/python/plugins/processing/__init__.py", line 28, in from processing.tools.dataobjects import * # NOQA File "/usr/share/qgis/python/qgis/utils.py", …

2
GeoPandas DataframeをPostGISテーブルに追加しますか?
シンプルなGeoPandasデータフレームがあります。 このGeoDataframeをPostGISテーブルにアップロードしたいと思います。PostGIS拡張機能を使用したデータベースのセットアップは既にありますが、このDataframeをテーブルとして追加できないようです。 私は次を試しました: engine = <> meta = MetaData(engine) eld_test = Table('eld_test', meta, Column('id', Integer, primary_key=True), Column('key_comb_drvr', Text), Column('geometry', Geometry('Point', srid=4326))) eld_test.create(engine) conn = engine.connect() conn.execute(eld_test.insert(), df.to_dict('records'))

4
QGISでラスターを滑らかな輪郭ポリゴンに変換する
ラスターレイヤーから滑らかな輪郭ポリゴンを作成することに成功したのは限られています。 等高線と境界ポリラインを作成し、QGIS Unionを使用しました。次に、QGIS Polygonizeを使用します。次に、元のラスタのゾーン統計を使用して、ポリゴンの値を取得します。 私が試した2番目の方法は、ラスターをポリゴンに変換することでした。次に、希望する輪郭に丸められた新しい属性列を作成します。次に、同じ値の間の線をディゾルブします。次に、v.generalizeを使用します。この方法は少し高速ですが、一部のポリゴンがギザギザになったり、滑らかにならない場合があります。 実際に常に機能する簡単な方法はありますか?プロセス全体を実行する単純なコマンドがあるはずです。
14 qgis  raster  contour 

3
QGISを使用してポリゴンを反転しますか?
世界の陸地(大陸、島)を表すポリゴンフィーチャを含むシェープファイルがあります。 これらを反転させ、世界の海と海を表すジオメトリを取得することは可能ですか? したがって、元のランドポリゴンは、惑星をカバーする単一のグローバルポリゴンのリングになる必要があります。 基本的には、Photoshopで選択>反転のようなものを探しています。 QGISを使用しています。

3
QGISでのPostgreSQLのポイント/ライン/ポリゴンの編集に関する問題
私はpostgresqlとQGISに問題があります: ポイント/ライン/ポリゴンと入力フィールドを追加できます しかし、私はできません: ポイント/ライン/ポリゴンを削除する ポイント/ライン/ポリゴンの変更(フィールドの移動または変更) ex:dbname = 'Europe' host = localhost port = 5432 user = 'postgres' sslmode = disable key = 'tid'timatemetadata = true srid = 900913 type = Point table = "public"。 "planet_osm_point"(way)sql = QGISは管理レベルとしてデータベースに接続されています。pdAdmin IIIを使用すると、すべてを実行できます(作成、削除、変更...) postgresqlデータベースは、osm2pgsqlを使用してOSMからインポートされます。 .shpのような他のレイヤーでは、この問題はありません。 何か案が ? 構成:Ubuntu 14.04 / Posgresql 9.4 / QGIS 2.10

1
PyQGISで名前でレイヤーを取得していますか?
距離があれば、都市のリストのバッファーを見つけるプラグインがあります。州と都市の名前は属性テーブルから取得され、それに応じてフィルタリングされます。私が欲しいのは、私のプラグインは、キャンバスに存在する他のレイヤーに関係なく、キャンバスのレイヤー名またはレイヤーの順序を識別し、そのレイヤーから対応する属性にアクセスする必要があるということです。 また、コード内の特定のレイヤー名を指すと、他のレイヤーがいくつか存在するにもかかわらず、反復でエラーが発生するのではないかと思っています。 以下は私のコードです。どこで変更を加える必要があり、何が変更されるのか教えてください。 if dist and centerCity: #QMessageBox.information(self.dlg, "info", "both True") st = '"name" = \'' + centerCity + '\'' exp = QgsExpression(st) else: QMessageBox.warning(self.dlg, "Enter the distance","Enter the distance and try again.") return #terminate the function layer = self.iface.activeLayer() it = layer.getFeatures(QgsFeatureRequest(exp)) feature = it.next() mbuf = feature.geometry().buffer(dist, 2) …

1
QGISでここの背景マップを使用する
QGISのOpenLayersプラグインを使用すると、さまざまなソースからデータフレームに背景マップを追加できます。これらのソースには、OSM、Google、Bing、MapQuest、およびAppleが含まれます。ただし、ノキアのHERE Mapsはその中にはありません。 誰もこれを追加する方法を知っていますか、またはここでQGISの背景としてここを使用するために利用できる別のオプションがありますか? 私の知る限り、ここにマップをArcMapの背景として追加する簡単な方法はありませんが、ここに開発者アカウントがある限り、FME Data Inspectorで可能です。
14 qgis  fme  here-maps 

1
OpenLayers 3でズームするときに機能のサイズを変更し、スケーリングしないようにする方法
マップとして画像を使用して、カスタムOpenLayers 3マップ(近隣で販売されている家を表示するために使用)を初期化しました。 次に、家ごとに追加のフィーチャとレイヤーを動的に作成します(各フィーチャのアンカーはその画像の中央に設定されます)。 size機能を初期化するときにプロパティを使用しようとしましたが、それはサイズを変更する代わりに画像をトリミングします。 resizeOL2のどこかでレイヤーの関数を見たことがあると思いますが、OL3で見つけることができません...その種の関数は、私が望む結果を達成するでしょうか? また、マップからズームアウトすると機能が大きく拡大しすぎ、拡大すると小さすぎると縮小するという問題もあります。機能の座標を指定してから、目に見えない余白/パディングを行って、大きすぎたり小さすぎたりしないようにする方法がありますか? 機能の実際の動作は次のとおりです(ここに表示されている機能は黒い家です) 。-次:完璧なサイズ。ズームアウトすると家はずっと小さくなります(最初の写真を参照)。-この最後の写真で再び縮小するのではなく、家を大きくしておくべきです。。
14 openlayers 

3
Gdal:別のラスターでラスターをクリップ
私は、マルチバンドジオティフラスターファイルのバッチを同じ(より小さい)領域にトリミングする簡単なユーティリティを書いています。gdalwarpを使用すると、単一ポリゴンのクリッピングシェープファイルを使用してファイルを簡単にトリミングできます。 gdalwarp -cutline clipper.shp -crop_to_cutline input.tif output.tif ただし、クリップする実際の領域は、最初は常にシェイプファイルではなく、別のジオティフラスターファイルによって定義されます。そのラスターの範囲をクリッピングファイルとして使用できればいいのですが、どうすればよいかわかりません。当然のことながら、以下は機能しません(エラーは発生せず、何も生成されません)。 gdalwarp -cutline clipper.tif-crop_to_cutline input.tif output.tif だから、私の質問は、ラスターを提供する方法はありgdalwarp -cutlineますか?あるいは、別のラスターを使用してラスターをクリップできる別のgdal関数がありますか?これらのどちらも不可能な場合、ラスタの範囲によって定義された単一のポリゴンでシェープファイルを作成する非常に簡単な方法はありますか? このコードは、より広範なpythonスクリプトにラップされるため、コマンドラインのgdalユーティリティまたはgdalのPythonバインディングを使用できます。 補足として、QGISのラスターの範囲をカバーするクリッピングシェープファイルを簡単に作成できることを知っています。簡単な解決策が見つからない場合はそれを行うかもしれませんが、最終的には大規模な自動分析の一部として数百ではないにしても数十の領域でこのユーティリティを使用することになりますので、面倒なことはしたくないと思います非常に簡単な場合でも手動ステップ。
14 python  raster  gdal  clip  gdalwarp 

3
OpenLayers 3ビューセンターの変更
OpenLayers 3を使用して、いくつかのマップを操作しています。最初にマップを宣言します: map = new ol.Map({ target: 'map', layers: [ new ol.layer.Tile({ source: new ol.source.OSM() }) ], view: new ol.View({ center: [0, 0], zoom: 2 }) }); マップのビューセンターを変更するアクションをトリガーするイベントがあります。このように、(私の座標はEPSG:4326形式です): function CenterMap(lat, long) { console.log("Lat: " + lat + " Long: " + long); map.setView(new ol.View({ center: ol.proj.transform([lat, long], 'EPSG:3857', 'EPSG:4326'), zoom: …

1
PostGISでポリラインをnメートルごとにポイントに変換するにはどうすればよいですか?
質問はこれとほぼ同じですが、PostGISを使用する必要があります。 多数のポリラインがあり、これらのラインに沿ってnメートルごとにポイントに変換します。 編集: ステファンに感謝します。おそらく古いバージョンのPostGIS(1.5)が原因で、最終的なクエリは少し異なりましたが、最終的には必要なものが得られました。ポイントは、道路密度のヒートマップに結合されました。
14 postgis  point  line 

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