問題タブ [ogr2ogr]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
windows - ファイル名とパスの一括リンク
だから私は ogr2ogr 地理空間ツールを使用して .bat にコード行を持っています:
for /R %F in (*_gpx.shp) do ogr2ogr -update -append "%~dpnF.shp" "______________"
「___________」スペースで、ファイルを指定する必要があります。
- *_gpx.shp と同じフォルダーにあります
- 名前の始まりはgpx.shpと同じですが、終わりは違います (" sametext_abc_gpx.shp " と " sametext_bby.shp "のペアです)。
-私はこれらのペアをたくさん持っていて、それらの名前は同じ長さではありませんが、同じ末尾を持っています ( abcとbbyのみ)
私の最初の推測は
"*_by.shp"
しかし、それは私にはうまくいきませんでした。%~dpFでアドレス指定し、最後の 7 文字 (" abc_gpx ") を削除し、" by " を追加しようとしましたが、bash 構文にあまり精通していません。
postgresql - ogr2ogr を使用して PostgreSQL の INSERT コマンドで WKT を生成する方法
私の問題は、POLYGON((35 10, 45 45, 15 40, 10 20, 35 10), (20 30, 35 35, 20 30) のように、ポリゴンに範囲がゼロの穴があるいくつかの Mapinfo ファイルがあることです。 )。これは Mapinfo では合法であり、ogr2ogr もそれを処理できますが、ogr2ogr が PostgreSQL テーブルに挿入を行うと、PostgreSQL は次のエラーを生成します。
- 新機能の INSERT コマンドが失敗しました。エラー: ジオメトリにはさらにポイントが必要です
これは、ポリゴンの穴の範囲を設定するには、さらに 1 つのポイントが必要だからです。どうすればこれを解決できますか?
情報: 別のシステムから Mapinfo ファイルを受け取りましたが、これに影響を与えることはできません。そのため、上記のようにポリゴンを処理できるソリューションが必要です。
postgresql - ogr2ogr postgreへのアップロードが遅い
ogr2ogr を使用して、geojson を PostgreSQL データベースにアップロードする必要があります。PostgreSQL データベースと同じサーバーに geojson をアップロードすると、ogr2ogr は約 3 ~ 4 秒でファイルをアップロードします。ただし、Ubuntu 16.04 コンピューターで ogr2ogr を実行すると、ogr2ogr には時間がかかり、同じファイルに対して最大 1 時間以上かかります。デスクトップに i72600k がありますが、サーバーは Amazon EC2 の無料トライアル マイクロ インスタンスであるため、処理能力を発揮できません。私が気づいたことの 1 つは、デスクトップでシステム モニターを開くと、システム全体で 7KB/秒のアップロード速度が表示されることです。そのため、デスクトップでのアップロードが非常に遅いだけなのかどうかはわかりません。両方のマシンで ogr2ogr コマンドに同じホスト URL を使用しているため、Amazon ec2 インスタンスが DNS ルックアップを保存しているわけではありません。何が間違っている可能性がありますか?
postgresql - ogr2ogr が異なるシステムで異なる結果を生成する
の行政区域を表すシェープファイルをPhilippines
geojsonに変換しようとしています。ここから形状ファイルを取得しています。変換しようとしているファイルはこれPHL_adm3.shp
です。
私はこのbashスクリプトを使用しています:
サーバーでこのスクリプトを実行し、対応する geojson ファイルを取得しました。今、私は自分のローカルで同じスクリプトを実行しましたが、多くの都市のジオメトリは、サーバー上のものとは異なりました。座標に大きな違いはありませんが、小数点以下 6 桁から 7 桁までしか違いませんが、それらを に挿入しようとすると例外がスローされPostGIS
ます。
PostGIS に挿入する際にサーバーでエラーが発生するジオメトリの例を次に示します。同じ都市のローカルで取得しているジオメトリも投稿しています。
サーバー:ジオメトリ
ローカル:ジオメトリ
またST_IsValidReason
、両方のジオメトリで実行しました。サーバーで次のエラーが発生しました。
インド、日本、タイなどのさまざまな国でまったく同じことを試しましたが、テストしたすべての国で同じことが起こっていました. ローカルではエラーは見つかりませんでしたが、サーバーでは無効なジオメトリを取得していました。
クエリの何が問題なのか、これを修正する方法を誰かが説明できますか?
PS-私のシステムは両方とも64ビットで、Ubuntu 14.04を実行しています。
postgresql - ogr2ogr を使用した pgsql テーブルの更新、PK のトラブル
ogr2ogr を使用して新しい GIS データ (osm または特定のもの) を shp から pgsql にインポートするときに問題が発生しました。テーブルを作成するには、次を使用します。
PGSQL_OGR_FID を使用して、pgsql が元の列を主キーとして使用するように強制します。このキーは、更新を可能にする必要があります。
したがって、新しいデータで更新するには、次のようにします。
しかし、pgsql はそれをまったく好まないのです! 同じ PK のデータを新しいものに置き換えてほしいのですが、古いものを保持して新しいものを取得したいので、もちろん不可能なので、メッセージは次のとおりです。
ogr2ogr を使用してデータを置き換えることは可能ですか? 更新するときに、すべてを保持したいようです...どうすればよいかわかりません...おそらく、リクエストでSQLクエリを使用しています...
奇妙なことに、これは sqlite/spatialite で動作しているようです! ( http://lists.osgeo.org/pipermail/gdal-dev/2011-December/031099.htmlを参照)
解決策がありましたら、どうもありがとうございました。私の悪い英語で申し訳ありません!
シリル
mysql - シェイプデータを MYSQL に挿入する
ogr2ogr を使用して MySQL に .shp (シェープ ファイル) を挿入しようとしていますが、次のエラーが発生します。
エラー 1: MySQL エラー メッセージ:列 'hght_lmt_m' に指定されたスケール 31 が大きすぎます。最大は 30 です。 説明: ALTER TABLE
shapefiledatabase
ADD COLUMNhght_lmt_m
DOUBLE(33,31)
この制限を克服する方法は?