地理情報システム

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

2
PyQGISでQgsFeatureを使用して属性の値を変更する方法は?
機能の1つの属性を更新したいと思います。ただし、機能オブジェクトを使用して更新する必要はありません。データプロバイダーを使用して更新する必要があります。 layers = QgsMapLayerRegistry.instance().mapLayersByName('my_line') layer = layers[0] dp = layer.dataProvider() it = dp.getFeatures() for i in range(0, dp.featureCount()): feat = it.next() attrs = { 2 : 30 } layer.dataProvider().changeAttributeValues({ feat.id() : attrs }) QgsFeatureオブジェクトを使用して属性の値を変更できますか? さらに、反復子オブジェクトを使用してループすることは可能ですか?
12 qgis  python  pyqgis  features 

1
GDALはPythonでポリゴン化して空白のポリゴンを作成しますか?
PythonでPolygonize関数を使用すると問題が発生します。このためのクックブックの例はここにあります。 私のコードの関連部分は次のとおりです。 sourceRaster = gdal.Open('myraster.tif') band = sourceRaster.GetRasterBand(1) bandArray = band.ReadAsArray() outShapefile = "polygonized" driver = ogr.GetDriverByName("ESRI Shapefile") if os.path.exists(outShapefile+".shp"): driver.DeleteDataSource(outShapefile+".shp") outDatasource = driver.CreateDataSource(outShapefile+ ".shp") outLayer = outDatasource.CreateLayer("polygonized", srs=None) gdal.Polygonize( band, None, outLayer, -1, [], callback=None ) outDatasource.Destroy() sourceRaster = None 私はバンドに関連情報があることを知っています、ここにスニペットがありbandArrayます: array([[ 4., 4., 3., 3., 3., 2., 2., …
12 python  gdal 

2
OGRを使用してShapefileメタデータにアクセスする方法は?
ogrinfoを使用して、ダウンロードしたシェープファイルの詳細を取得しようとしています。現在、私がこれを行う方法を知っている唯一の方法は、QGISにロードし、手動でクリックして属性テーブルを開くなどの情報を見つけることです。 メタデータが機能とともにタグ付けされていることを確認したいだけです。私が行った場合: ogrinfo -al USA_adm0.shp 最初は多くの有用な情報がありますが、すべての機能データが表示されます。 誰か助けてくれますか? 編集 これは、-roフラグと-soフラグを使用してMacで取得するものですが、あまり役に立ちません。 ->ogrinfo -ro -so USA_adm0.shp INFO: Open of `USA_adm0.shp' using driver `ESRI Shapefile' successful. 1: USA_adm0 (Polygon)
12 shapefile  gdal  ogr 

2
マルチポイントとポイントPostGIS
1つのポイントのみを格納するために使用することを知っているため、「ポイント」の代わりに「マルチポイント」のジオメトリタイプを使用するのは正常ですか? マルチポイントからポイントに変換するにはどうすればよいですか?

3
Field Calculatorで文字列置換機能を使用する方法は?
属性テーブル内で、 'replace'関数を使用して、ある文字列を別の文字列に置き換えようとしています。例として、フィールド「NAME」に文字列「(B)」が含まれている機能がいくつかあり、これを「County」という単語に置き換えたいと考えています。「既存のフィールドを更新する」チェックボックスを選択し、次の式を使用しています replace( '(B)','(B)','County') 最終結果は、フィールド「NAME」に元々ストリング「(B)」が含まれていたかどうかに関係なく、すべての機能のフィールド「NAME」が「County」に置き換えられることです。任意の助けをいただければ幸いです。

2
QGISからArcGIS Desktopにスタイルを転送しますか?
多くの異なる行のシンボルを持つQGISプロジェクトがあります。データは、QGISとArcGISの両方にアクセス可能なジオデータベースから取得されます。 次に、QGISプロジェクトのシンボルを使用して、ArcGISマップドキュメントのフィーチャのスタイルを設定します。 私の最初のアプローチはSLDを使用することでした。QGISスタイルはSLDに簡単にエクスポートできますが、ArcGIS Desktopを使用してSLDに従ってフィーチャをどのようにスタイル設定できますか? シンプルなWMSをセットアップするだけでは十分ではありません。QGISとArcGIS Desktopの両方で、フィーチャの編集機能が必要です。 SFSにWFSを(Esriで読み取り可能な方法で)提供できれば、可能性もあります。そのためにも何も見つかりませんでした。

2
QGISと環境変数を使用したスタンドアロンアプリケーション
IRCを介して人々がこれを手伝ってくれるかどうかを確認しようとしましたが、メディアは答えを明確にするために少し不器用に思えますので、代わりにこれを試します。 すでにArcPyを使用してスタンドアロンアプリケーションをプログラミングできる方法で、PyQGISを使用してスタンドアロンアプリケーションをプログラミングしたいと思います。 PyQGIS自体は簡単です。QGISコンソールエディター内でPythonスクリプトを実行するのに問題はありませんでした。ただし、スタンドアロンスクリプトでPythonバインディングを使用するには、バッチスクリプトを使用して環境設定を変更する必要があることをお勧めします(私は自宅でWindows Vistaを使用しているため、Windowsのバッチスクリプトについて話します)。バッチスクリプトを実際に理解していないため、これは混乱の原因になりました。また、実行している他のアプリケーションに特定の方法を必要とする環境をリセットしているという考えが嫌いです。 これらの設定を作成するための指示が不必要に複雑である理由と、「バインディングのある場所に移動し、このプログラムで使用できるライブラリを作成する」という1行のコードにならない理由を理解するのが困難です)。確かに、ArcPyはコンピューターの環境設定をいじり回す必要がないので、PyQGISがなぜそうするのかを理解するのが困難です。 今、QGISのコンソールエディターでスクリプトを実行すると、それが機能することに気付きました。確かに、スクリプトの実行後にQGISの残りの部分が使用できなくなるため、後でQGISを再起動する必要がありますが、スクリプトは動作するようにプログラムしたとおりに動作します。しかし、私がQGISアプリケーションの外でそうするとき、それはしません。問題は、QGISアプリケーション(qgis.coreおよびqgis.utils)によって自動的にインポートされたPythonパッケージのインポートに失敗したことではないようです。スクリプトが必要です。これにより、違いはQGISアプリケーションが外部環境変数を正しく設定することですが、スタンドアロンスクリプトとして実行すると、これらの変数は適切に設定されないということです。 さらに、スクリプトをスタンドアロンスクリプトとして実行すると、エラーをスローすることなくすべてのコードを処理します。コードが命令することは何もしません。コンソールエディターでスクリプトを実行すると、すべて正しく実行されます。スタンドアロンとして実行すると、ウィンドウが作成され、すぐに破棄されますが、エラーはスローされません。そのため、通訳者は、スクリプトに実行するよう要求しているすべてのことを理解しています。それは実行されません。 スクリプトは次のとおりです。 from PyQt4 import * from PyQt4 import * from PyQt4.QtCore import * from PyQt4.QtGui import * from qgis.core import * from qgis.gui import * from qgis.utils import * import Tkinter from Tkinter import * import sys import os qgishome = "c:/OSGeo4W/apps/qgis/" app …
12 qgis  pyqgis 

7
QGISでポイントにラスターを変換する方法
QGISでRasterをPoint Vectorに変換したかった。出来ますか?QGISにはポリゴンに変換するオプションがありますが、ポイントに変換するツールが見つかりませんでした。誰も私を助けることができますか?
12 qgis  raster 

2
シェープファイルMultiPolygonsからShapely MultiPolygonsを作成する
私はフィオナを使用してシェープファイルを読んでいます: with fiona.open('data/boroughs/boroughs_n.shp') as source: mpolys = [p for p in source] candidate = polys[0]['geometry'] これは私に座標のリストのリストを含む辞書を提供し、「MultiPolygon」と入力しますが、座標データを使用してShapely MultiPolygonを作成する方法はわかりません a sequence of exterior ring and hole list tuples: [((a1, ..., aM), [(b1, ..., bN), ...]), ...]. FionaとShapelyを使用してこれを行う「正しい」方法はありますか?
12 python  shapely  fiona 

3
ArcGIS Desktopを使用して隣接するポリゴンを結合しますか?
ArcGIS Desktopを使用して、隣接するポリゴンを相互に結合します。 ポリゴン間に共通のフィールドはないため、ディゾルブツールは理想的なソリューションではありません。結合したいポリゴンは、隣接しているか、互いに一定の距離内にあります。 ArcObjectsの使用を避けたい。ただし、Pythonスクリプトは大歓迎です。 Dissolveツールは、ディゾルブする属性が省略されている場合(およびマルチパートの作成が無効になっている場合)、隣接するポリゴンをマージします。ただし、空間許容値の設定はありません。さらに、ディゾルブは、頂点が共通しているポリゴンでは機能しません。 回答の1つで述べたように、統合ツールでアプローチを試みました。問題は、複数のフィーチャを統合して作成される最終フィーチャの形状が、フィーチャ間の境界が解消された場合に形成される形状とは異なることです。

2
3次元ジオメトリから2次元への変換
ジオメトリ列に3次元と2次元の両方の値が含まれるポイントテーブルがありますが、この3次元ジオメトリを2次元に変換したいのですが、PostGISに機能はありますか?この問題を解決するのを手伝ってください。 よろしくSreesha.TA

3
QGISを使用してxy座標を経度緯度に変換しますか?
XY座標を持つこのダウンロード可能なシェープファイルを使用しています。彼らはに似てい'3672187.92698000, 534175.72095400'ます。 それらを経度緯度に変換したいので、それらはより似てい'-90.097017, 29.963176'ます。 ArcMapを使用してこの質問に取り組んでいるのを見ましたが、そのソフトウェアを持っていません。QGISをダウンロードしてインストールすることはできましたが、残念ながらその複雑なインターフェースに困惑しています。可能であれば、それを使用して変換を行います。

3
クリップツールと交差ツールの違い
クリップツールは、機能や結果の点で交差ツールとどのように違いますか?特定の状況を念頭に置いていません。私はこれらの各ツールについて学び、結果が一見非常に似ているように見えるので、それらがどのように異なるのか興味がありました。ありがとう!

3
ArcGIS API for Javascriptで独自のベースマップを使用していますか?
Javascript APIを使用してマップを作成しようとしています。 独自のベースマップを使用したいのですが、これを行うための最も簡単なコードが見つかりません。 私はいつもこのようなものを見ます: function init() { map = new esri.Map("mapDiv", { basemap: "satellite", center: [-97.395, 37.537], zoom: 11 }); しかし、ArcGISのオンラインベースマップは使いたくありません。 ベースマップをホストしているマップサービスを作成するコードは何ですか?

2
ArcPyスクリプトが遅いのはなぜですか?
ポイントシェープファイル内のフィールドを、その中にあるポリゴンフィーチャからの情報で更新する簡単なarcpyスクリプトがあります。arcpyで100ポイントを実行するには9分かかりますが、arcmapでの空間結合は瞬時に行われます。この問題を解決するための迅速に確立された方法があると確信しています。誰かが私を正しい方向に向けることができますか? import took 0:00:07.085000 extent took 0:00:05.991000 one pt loop took 0:00:03.780000 one pt loop took 0:00:03.850000 one pt loop took 0:00:03.791000 import datetime t1 = datetime.datetime.now() import arcpy t2 = datetime.datetime.now() print "import took %s" % ( t2-t1) #set up environment arcpy.env.workspace = "data\\" arcpy.env.overwriteOutput = True desc = …

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