問題タブ [geos]
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.
postgresql - geos/postgisの再コンパイル後に復元するpostgresql/postgisバックアップ戦略?
現在の状況:
- Ubuntu 8.04 サーバー版 (ライブサーバー)
- Postgresql 8.3.7 (標準リポジトリから)
- Postgis 1.3.3 (標準リポジトリから)
- GEOS 2.3.4 (標準リポジトリから)
問題:
GEOS には、3.0 リリースで修正されたバグが含まれています。これらに遭遇したため、GEOS の修正を含めるように GEOS/Postgis をアップグレードする必要があります。
私が今立っている場所:
ほぼ同じ設定のテスト マシンで、postgis パッケージを削除し、Postgis 1.3.5 および Postgresql 8.3.7 に対して Geos 3.1.0 を再コンパイルしようとしました。
リンクとパスの問題を修正した後、これは機能します。
私の具体的な質問:
データベース (テーブル、関数、トリガー、Gist インデックス、データなど) を「古い geos/postgis に基づく」バージョンから「新しい」バージョンに移行する最良の方法は何ですか?
ドキュメントに記載されている「ソフトアップグレード」の方法を試してみますが、これでうまくいくと思いますか?
このpostgis対応データベースの完全バックアップを作成して、コンパイル中の「新しいpostgisバージョン」で完全に復元できるようにする最良の方法は何ですか?
python - geodjango で UTM を使用する
geodjangoでUTM座標系を使用することを検討しています。また、データを適切に取得する方法がわかりません。
私はドキュメントを閲覧しており、「GEOSGeometry(geo_input, srid=None)」または「OGRGeometry」を EWKT で使用できるようですが、データをフォーマットする方法がわかりません。
UTM SRIDのようです: 2029
ウィキペディアの記事から、フォーマットは次のように書かれています。
[ UTMZone ][ N or S ] [ Easting ] [ Northing ]
17N 630084 4833438
だから私は運がないので、次のことを試しました:
これがどのように行われるかを示す例はありますか?
UTM で必要な計算を行って、10 進度に変換するだけでよいでしょうか?
この場合、geos または geodjango の他のツールは変換ユーティリティを提供しますか?
python - GEOS MultiLineStringをポリゴンに変換する方法は?
私は、ユーザーがマップファイルをアップロードし、ポリゴン内のフィーチャのクエリなどの基本的なマッピング操作を実行できるGeoDjangoアプリケーションを開発しています。
ユーザーがたまたま「Polygon」ではなく「MultiLineString」をアップロードすることを認識しました。これにより、閉じたジオメトリを期待するクエリが失敗します。
PythonでMultiLineStringオブジェクトをポリゴンに変換する最良の方法は何ですか?
geometry - 自己交差のあるポリゴンを修復するには?
GEOS を使用してポリゴンから自己交差を削除する方法はありますか?
django - GeoDjango:ポイントと半径に基づいて円を作成する方法
私は次の(簡略化された)モデルを持っています:
与えられた点と半径に基づいて、円を表すポリゴンを作成して保存したいと思います。
これを実現する方法を理解する唯一の方法は、生のSQLを使用してpostgisST_Buffer関数を呼び出すことです。私は本当に別の方法があることを望んでいます。
GEOSバッファメソッドにアクセスすることは可能ですか?
windows - Windows で GeoDjango に GEOS をインストールする方法
Python 2.5、Django 1.2、MySQL、および Apache を使用して GeoDjango プロジェクトを開始しています。プロジェクトは Linux サーバーにアップロードされますが、開発は Windows 上で行われます。
問題は、GEOS のインストールに合格できないことです。
postgis - PostGIS では、世界の半分よりも大きなポリゴンは反対として扱われます
私はPostGISでGeoDjangoを使用しており、ポリゴンを使用してデータベースからレコードを取得しようとしています。
地球の面積の半分よりも大きいポリゴンを定義すると、ポリゴンの「内側」が「外側」として意図したより小さい領域であると想定され、その外側にある結果のみが返されます。
この小さく間違った領域を使用して、結果を除外することができます。Polygon.area は私の意図を知っているように見えるので、これを使用して検索をいつ包括的または排他的にするかを判断できます。この問題はおそらく一般的だと思いますが、それを解決するより良い方法はありますか?
更新: 180 度の経度がポリゴン内にある場合、これはまったく機能しません。今回は GEOS のせいのようです。この画像は、私が信じている理由を示しています。緑は私が定義した多角形で、赤はそれをどのように解釈しているように見えるかです。繰り返しになりますが、これは頻繁に発生する問題のようであり、GEOS のようなライブラリが対処するように作られています。方法はありますか?
postgis - PostGIS - 特定の MultiPolygon が原因で「BOOM! 外部ポイントを生成できませんでした!」
経度 180 度を横切る長方形の領域を表現しようとしています。詳細な背景については、PostGIS では、世界の半分以上のポリゴンが反対のものとして扱われるを参照してください。
これが私のテストケースです:
数字を変更することで、このエラーを行ったり来たりさせることができます。(-180, -80, x, 80) は、たとえば x <= -140 の場合に機能します。数値ごとにこのようなしきい値がありますが、パターンが見つかりません。同じ面積のボックスの場合、機能するものと機能しないものがあります。同じ幅のボックスの場合、機能するものと機能しないものがあります。
生成されている SQL を確認できますが、領域はバイナリ (EWKB) で表されており、読み方がわかりません。
誰でもこれを説明できますか?
django - GeoDjango: GEOS の Geometry 操作をスピードアップ
GeoDjango + PostGIS を使用して空間ランキング アプリケーションを開発しています。基本的には、クエリのバウンディング ボックス内のすべてのジオメトリを取得し、作成したカスタム関数を使用して類似度スコアを計算し、スコアが最も高い形状を返します。
現在、各クエリの往復時間は非常に遅いです。プロファイラーを実行すると、類似度関数内の操作 (つまり、交差、結合、含むなど)threadsafe.py
によって呼び出されるボトルネックが示されます。単一のクエリからのプロファイラーの結果GEOSGeometry
の例を次に示します。のスレッドセーフな性質が、ここでパフォーマンスの問題を引き起こしているようです。個々に、40 ミリ秒かかる操作は大したことではないように見えますが、クエリと比較する形状の数は通常、1000 までの形状など、非常に多いため、40 ミリ秒の操作は合計で 40 秒になります。GEOSGeometry
したがって、私の質問は、ターンアラウンド タイムを最小限に抑えるために機能を最適化するにはどうすればよいかということです。私の最初のアイデアのいくつかは次のとおりです。
GEOSGeometry
これらのオブジェクトは一時的なものであり、他のスレッドと共有されないため、 の adsafety チェックをオフにするか、回避してください。可能であれば、これは理想的なケースです。現在費やされている時間の大部分はthreadsafe.py
- トレッドセーフではない別のジオメトリ API を使用してください。
オブジェクト レベルではなく、PostGIS レベルで空間操作を実行します。ただし、これによりコードが見苦しくなります。(更新:このオプションは機能しません。SQL クエリのオーバーヘッドだけで操作がさらに遅くなります。)
どう思いますか?
r - Mac OS X Lion に rgeos と rgdal をインストールする際の問題
rgeos パッケージ (および rgdal) パッケージをインストールしようとしています。OS x 10.7.1 を実行している macbook pro があり、R の最新バージョンである 2.13.1 を使用しています。このサイトの指示に従っています: http://lostingeospace.blogspot.com/2011/08/rgeos-on-macos-x.html
http://www.kyngchaos.com/software:frameworksから最新の GDAL 完全フレームワーク 1.8 をインストールし、CRAN からソース ファイル rgeos_0.1-8.tar.gz をダウンロードしました。
ターミナルで、指示に従って次のように入力します。
徹底的にするために、出力全体を次に示します。
rgdal のインストールでもまったく同じ問題が発生します。
私は本当にプログラマーではありません....私が何をすべきか知っている人はいますか?
ありがとう!