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

OGR Simple Features Libraryは、ベクターファイル形式へのアクセスを提供するC ++オープンソースライブラリ(およびコマンドラインツール)です。

3
PythonでGeoJSONを生成する
シェープファイルのポリゴンを使用してGeoJSONファイルをプログラムで作成しますが、独自のアプリケーションから属性を追加します。 これは、シェープファイルに対して簡単に実行できます。 def create_data_dayer(self,varlist, data): """ Creates a new shape to contain data about nodes. varlist is the list of fields names associated with the nodes. data is a list of lists whose first element is the geocode and the remaining elements are values of the fields, in the same …
16 python  geojson  ogr  fiona 

4
「ESRI Shapefile」ドライバーの使用時にwriteOGRがフィールド名を短縮しないようにする方法
現在、次のスクリプトを使用して、テーブルからいくつかの属性データを多数の個々のシェープファイルに追加しています。 library(rgdal) specieslist <- read.csv("SpeciesList1.txt", header=F) attdata <- read.table("TestAtt.csv", sep = ",", header=T) for (n in 1:dim(specieslist)[1]) { speciesname <- specieslist[n,1] shp <- readOGR("Mesoamerica_modified_polygons", speciesname) shp$ENGL_NAME<-attdata[n,2] writeOGR(shp, "PolygonsV2", speciesname, driver="ESRI Shapefile") } 最後に次の警告が表示されます。 1: In writeOGR(shp, "PolygonsV2", speciesname, driver = "ESRI Shapefile") : Field names abbreviated for ESRI Shapefile driver …


2
Pythonを使用してカスタムフィーチャ属性をShapefileに追加する方法は?
200か国の機能セットを持つ既存のShapefileを取得する方法を探しています。各国の機能には「NAME」という属性があります。私の目的は、「POPULATION」などの任意の(現時点では)追加属性を追加するPythonスクリプトを作成することです。 もちろん、OSGeoおよびGeoDjangoモジュールがインストールされています。私は限りです: from osgeo import ogr infile = ogr.Open('sample.shp', 1) #'sample.shp' is a pre-existing ESRI shapefile described above inlyr = ogr.GetLayerByIndex(0) Feature属性フィールドを既存のShapefileに挿入できるOGR関数がありませんか?
16 shapefile  ogr  osgeo 

3
ogr2ogrがGeoJsonファイルの変換に失敗する> 200MB
前の質問(SimpleGeo Places GeoJSONファイルをシェープファイルに変換する)のフォローアップとして、私はogr2ogrの「メモリ」制限と思われるものに苦労していますが、確かではありません。SimpleGeoダンプファイルを適切なgeojsonファイル(QGISで直接読み取れることを確認済み)に正常に変換しました。 次に、このデータをSHPまたはその他の形式(SQLite、PostGIS)に変換します。私は次のコマンドを小さなファイルで実行しています(「places_fr.gejson」のファイルサイズは約118MBです)。 ogr2ogr -f "ESRI Shapefile" places_fr.shp places_fr.geojson 340MBのgeojsonファイルでこの同じコマンドを実行しようとすると、ogr2ogrは次の2つの方法のいずれかでクラッシュします。 "lh_table_new:calloc failed"(最初の試行) Windowsは「ogr2ogr.exeの動作を停止しました。プログラムを閉じてください。」をスローします。(その後の試行) 8GBのRAM(4GBが利用可能、12GBの仮想メモリが利用可能)がインストールされたWindows 7環境のデュアルコアで、FWToolsを介してogrコマンドを実行しています。これらのデータセットを変換するogr2ogrにメモリ制限はありますか?また、同じ結果でSQLiteに変換しようとしたので、SHP変換の問題ではないと思います。ありがとう。
15 convert  ogr 



5
GPSログの地理データベースを構築する方法は?
航空野生生物調査では、通常、数十のGPXファイルを生成し、通常、それらのほとんどをGISアプリケーションで表示するためのシェープファイルに変換します。GPXファイルは、GPSデータのすべて(またはほぼすべて)を1か所に保管する素晴らしい方法です。これらは、トラックログ、ウェイポイント、ルート情報を1つの便利な形式で保存するxmlファイルです。それらは複数のトラックを保存し、Garminから保存された古いトラックも保存します。 同じ追跡からのポイント観測データを持つ他のテーブルと並行して、このすべての追跡データを空間データベースに保存したいと思います。 ogr2ogrを使用すると、トラックを空間データベースに変換できます。 ogr2ogr -append -f "SQLite" -dsco SPATIALITE=yes # add to table with Spatialite filetype -dsco INIT_WITH_EPSG=yes -t_srs epsg:4326 # using WGS84 SURVEYDATA.sqlite GPXFILE.gpx tracks -nln tracktable; # adding tracks to 'tracktable' ただし、これにより、保存された各トラックが線としてインポートされ、各トラックポイントの時間/位置情報が失われます。 その情報を保存するトラックログデータベースを構築する賢い方法を知っている人はいますか? 編集: トラックログは単なる線ではなく、それぞれが標高と時間の属性を持つ連続したポイントのコレクションです。各ポイントは、特定のトラックに属するトラックセグメントに属し、各トラックセグメント内のポイントは中断することなく取得され、リンクされていると見なされます。例えば: <trk><name>ACTIVE LOG</name> <trkseg> <trkpt lat="-13.471403" lon="31.382982"><ele>467.818725585938</ele><time>2009-09-09T03:53:38Z</time></trkpt> <trkpt lat="-13.471403" lon="31.382982"><ele>468.780029296875</ele><time>2009-09-09T03:53:50Z</time></trkpt> <trkpt lat="-13.471403" lon="31.382982"><ele>465.896118164063</ele><time>2009-09-09T03:54:43Z</time></trkpt> </trkseg> …
13 gps  convert  ogr  spatialite  gpx 

1
OGR / GDALスレッドにより、コア使用率が低くなります
ogr / gdalを使用していくつかのラスターデータを処理しようとしていますが、マシンのすべてのコアを最大限に活用できないようです。単一のコアでのみプロセスを実行すると、そのコアの使用率が100%になります。マルチコアに分割しようとすると(以下の例では、xオフセットをチャンクしてキューに入れることにより)、8つのコアのそれぞれで哀れな使用率が得られます。各コア全体で最大100%の使用率(たとえば、各12.5%)にしかならないようです。 同じデータソースを使用することがボトルネックになるのではないかと心配していましたが、コアごとに基になるラスターファイルを複製しました... これは、ogrまたはgdalが何らかの形でボトルネックの共有リソースのように動作していると信じるようになりますが、それについてはオンラインで見つけることができません。どんな助けでも大歓迎です! これは、各ワーカースレッド内で実行される「ヘルパー」関数です。 def find_pixels_intersect_helper(datasource, bounds_wkt, x_min, x_max): bounds = ogr.CreateGeometryFromWkt(bounds_wkt) rows_to_write = [] for x_offset in range(x_min, x_max): for y_offset in range(datasource.RasterYSize): pxl_bounds_wkt = pix_to_wkt(datasource, x_offset, y_offset) pxl_bounds = ogr.CreateGeometryFromWkt(pxl_bounds_wkt) if pxl_bounds.Intersect(bounds): rows_to_write.append(['%s_%s' % (x_offset, y_offset), pxl_bounds.Centroid().ExportToWkt()])

3
PostgreSQLへのGeopackageコンテンツのアップロード
背景として、シェープファイルの使用から移行することを検討しています。デスクトップ作業用のジオパッケージ(QGIS / ArcGIS)の使用を開始しましたが、多くの場合、PostgreSQLデータベースにデータをアップロードする必要があります。 QGISを使用してGeopackageコンテンツをPostgresにアップロードできることを知っていますが、ジオパッケージまたはジオパッケージ内のテーブルをPostgresにアップロードするためのshp2pgsqlのようなコマンドラインユーティリティがあるかどうか疑問に思いますか?おそらくogr2ogrを想定していますが、ドキュメントが見つかりません。

2
Pythonでポイントがマルチポリゴン内にあるかどうかを確認する
シェープファイル、フィオナ、ogrなどのライブラリを使用してコードのいくつかの例を試して、ポイント(x、y)がArcMapで作成された(したがって、シェープファイル形式で)マルチポリゴンの境界内にあるかどうかを確認しました。ただし、通常の単一ポリゴンシェープファイルでは問題なく機能しますが、マルチポリゴンではうまく機能しない例もあります。私が試したスニペットの一部を以下に示します。 # First example using shapefile and shapely: from shapely.geometry import Polygon, Point, MultiPolygon import shapefile polygon = shapefile.Reader('shapefile.shp') polygon = polygon.shapes() shpfilePoints = [] for shape in polygon: shpfilePoints = shape.points polygon = shpfilePoints poly = Polygon(poly) point = Point(x, y) # point in polygon test if polygon.contains(point): print …

1
PythonでGDALに例外を適切に発生させる方法はありますか?
私はPythonでGDALを使用していますが、GDALで例外を発生させて、有用なことを行えるようにしたいと考えています。たとえば、gdal.Open()でファイルを開くことができない場合、gdalがNoneを返す代わりに例外をスローしたいと思います。エラーをsys.stdoutにダンプするのではなく、キャプチャする方法が欲しいのです。 現在、このgdal.UseExceptions()関数を使用しようとしましたが、問題に遭遇しました。ときにgdal.UseExceptions()設定されていることは、特定のエラーを隠し、それらに例外を発生させないように思われます。たとえば、ERROR 5: Access window out of range in RasterIO() Requested (1,15) of size 25x3 on raster of 26x17消えて例外は発生しません。これはかなり危険なようです。 どんなアイデアでも感謝します、ありがとう。
12 python  gdal  ogr  osgeo 

7
GEOS、PROJ、GDAL / OGRをMac OS Xのpython virtualenvにインストールする
私は、Mac OS XのGISプロジェクトで動作するように、孤立したpython virtualenvをセットアップしようとしています。GEOS、PROJ、GDAL / OGRをkyngchaosサイト(http://www.kyngchaos.com/)からインストールする必要があるようですソフトウェア/フレームワークであり、easy_installではなく、virtualenvにインストールします。正確ですか? kyngchaosで利用できるダウンロードはpkgインストーラーであり、単なるPythonモジュールの卵またはbdistではありません。そのため、インストーラがファイルを/Library/Framework/geos.frameworkフォルダにコピーするだけでなく、環境に対して他に何をしているのかについてはよくわかりません。 GEOS、PROJ、GDAL / OGRの特定のバージョンを新しいpython virtualenvにインストールするにはどうすればよいですか?この問題に関するあなたの助け/提案に感謝します。
12 gdal  ogr  osx 

3
FionaでFileGDB(Esriファイルgdb API)ドライバーのサポートを追加する方法は?
それについてはたくさんの質問がありましたが、誰も私の問題を解決しませんでした。 私はマシンを持っています: Windows 7 x64 Python 3.4.3 x64 gdalがインストールされました:gdalinfo --version --> GDAL 1.11.4, released 2016/01/25; ここからホイールGDAL-1.11.4-cp34-none-win_amd64.whlからグダルを取り付けました GDALはにインストールされC:\Python34\Lib\site-packages\osgeoます。そこには、gdalおよびogrおよび.pydファイル用の.exeファイルがたくさんあります。 fiona installed:Fiona-1.6.3-cp34-none-win_amd64.whl同じWebサイトのwheelからインストールされました。 このコードを実行でき、正常に実行されます。 import gdal import ogr from gdalconst import * shp = r"C:\Data\GIS\PTS.shp" driver = ogr.GetDriverByName('ESRI Shapefile') dataset = driver.Open(shp) layer = dataset.GetLayer() layer.GetFeatureCount() schema = layer.schema fields = [field.GetName() for field …

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 

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