タグ付けされた質問 「typeerror」

4
QGIS、ArcGIS、PostGISなどを使用しないPythonでのより効率的な空間結合
私はここの例のように空間結合をしようとしています:「場所によって属性を結合する」Pythonオプションはありますか?。しかし、そのアプローチは本当に非効率的/遅いようです。わずかな250ポイントでこれを実行しても、ほぼ2分かかり、1,000ポイントを超えるシェープファイルでは完全に失敗します。より良いアプローチはありますか?ArcGIS、QGISなどを使用せずに、これをPythonで完全に実行したいと思います。 また、ポリゴン内にあるすべてのポイントの属性(母集団)を合計し、その量をポリゴンシェープファイルに結合できるかどうかを知りたいと思います。 これが私が変換しようとしているコードです。9行目にエラーが表示されます。 poly['properties']['score'] += point['properties']['score'] それは言う: TypeError:+ =: 'NoneType'および 'float'のオペランドタイプはサポートされていません。 「+ =」を「=」に置き換えても問題ありませんが、フィールドを合計しません。また、これらを整数として作成しようとしましたが、同様に失敗します。 with fiona.open(poly_shp, 'r') as n: with fiona.open(point_shp,'r') as s: outSchema = {'geometry': 'Polygon','properties':{'region':'str','score':'float'}} with fiona.open (out_shp, 'w', 'ESRI Shapefile', outSchema, crs) as output: for point in s: for poly in n: if shape(point['geometry']).within(shape(poly['geometry'])): poly['properties']['score']) += point['properties']['score']) output.write({ …

2
代わりにarcpy.GetCount_management()からArcPy結果オブジェクトを整数としてキャストしますか?
シェイプファイルにあるポイントの数を数えて数字を取得しようとしています。そして、これは機能しますが、その番号を他の場所で使用すると問題が発生します。最終的には、いくつかの数学(フィールド計算機)でそのカウントを使用しますが、デバッグ中にエラーが発生し、後でトラブルが発生します。 このコード: TotalPoints = arcpy.GetCount_management(Path_Pts) arcpy.AddMessage(">>>> PROCESS: COUNT PATH POINTS {" + TotalPoints + "}") このエラーを与えます: TypeError: cannot concatenate 'str' and 'Result' objects 私はそれをintとしてキャストしようとしましたが、それも好きではありません: TypeError: int() argument must be a string or a number, not 'Result' そこで、「Result」オブジェクトを取得し、それを数値に変換する必要があります。 どうすればそれを行うことができますか?または、ここでArcPy関数を使用する必要がないか、過度に複雑です

2
GDALで作成されたGeoTIFFは、Arc / QGISに読み込まれたときに最小/最大範囲を持たない
GeoTIFFドライバーを使用して、GDALでいくつかの浮動小数点ラスターを作成しています。結果の画像をQGISまたはArcに読み込むと、デフォルトのシンボルでは最小値が-3.40282e38、最大値が3.40282e38になるため、ラスターは正確に灰色に見えます。実際の範囲をGeoTIFFに直接書き込む方法はありますか?GISプログラムにロードすると、ヒストグラムが自動的にうまくスケーリングされますか?私はこのようなデフォルトのヒストグラムを作成しようとしました: rasterMin, rasterMax = raster.GetRasterBand(1).ComputeRasterMinMax() raster.GetRasterBand(1).SetDefaultHistogram(rasterMin, rasterMax, 255) しかし、バインドの問題のようなエラーが表示されます。 File "/usr/lib/python2.6/dist-packages/osgeo/gdal.py", line 846, in SetDefaultHistogram return _gdal.Band_SetDefaultHistogram(self, *args) TypeError: not a sequence 私が何ができるか、または間違えた場合の提案はありますか?

1
同じPythonスクリプトでArcPyツールとPyGRASSツールを使用していますか?
さまざまなArcPy / ArcGISコマンドを含むPythonスクリプトを記述しようとしていて、それをGRASSジオプロセシングツールと組み合わせたいと考えています。 残念ながら、GRASSライブラリのインポートは機能しません。 import grass.script as grass エラーで終了します: Traceback (most recent call last): File "<interactive input>", line 1, in <module> ImportError: No module named script GRASS GISが独自のPythonバージョンをインストールすることは知っています。ArcGISとPythonのGRASS GISインストールを組み合わせる方法はありませんか?pygrassモジュール(または私が考えているもの)をC:\ Python26 \ ArcGIS10.0 \ Lib \ site-packages \フォルダーにコピーしてみました。別のエラーメッセージが表示されますが、まだ機能しません。 Traceback (most recent call last): File "<interactive input>", line 1, in <module> File …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.