問題タブ [postgis]
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 - (緯度、経度)ポイントのペアに角度分離を与えるPostgreSQL+PostGIS関数
私は次のコードを書きました(引用を正しくするために数時間を費やした後):
この関数は機能しますが、残念ながら、その精度は恐ろしいものです。これを行うにはもっと簡単な方法があるはずです。関数に値を渡して、ST関数に渡してもらいたいだけです。最初に文字列に変換せずにこれを行う方法を完全に見つけることができませんでした。これはおそらく精度の低下が発生する場所です。
私はこれを完全に台無しにしていますか?
postgresql - EXECUTE を多くの PostGIS 関数に付与する
PostGIS を基になるデータベース拡張として使用する MapServer に基づく Web アプリケーションがあります。Postgres スーパーユーザー経由でデータベースにアクセスしたくないので、MapServer に使用される専用のデータベース ロールが必要です。このロールには、パブリック テーブルに対する SELECT 権限 (これは簡単に達成できます) と、パブリック PostGIS 関数に対する EXECUTE 権限のみが必要です。
いくつかの疑問が生じます: すべての PostGIS 関連関数はデータベースのパブリック スキーマに格納されていますか? それとも他に考慮すべきことはありますか?
データベースの information_schema または pg_catalog からすべての関数情報 (つまり、関数名、引数の数、名前) を抽出するにはどうすればよいですか?! GRANT EXECUTE on function(args) to MapServerUser ステートメントにこの情報が必要です!
前もって感謝します!!!
sql - PostGIS: マルチポリゴンの境界ボックス
この例では、テーブル"mytable" に 2 つの列が含まれています。" id " は行の一意の ID 番号で、" area "は行ごとに 1 つのMULTIPOLYGONを含むジオメトリフィールドです。
これは、ポリゴンが 1 つしかないマルチポリゴンでは問題なく機能しますが、一部の行ではポリゴンが非常に離れているため、マルチポリゴンにヨーロッパとカナダに 1 つのポリゴンが含まれている場合、境界ボックスは関係ありません。
そのため、マルチポリゴンごとにポリゴンごとに 1 つの box2d を取得する方法が必要ですが、まだ方法がわかりません。より正確には、私の目標は、ポリゴンごとに 1 つの box2d を含む、行ごとに 1 つのマルチポリゴンを返すことです。
最初の例
- id : 123
- area : オーストラリアの楕円形ポリゴンを 1 つだけ含むマルチポリゴン
- したがって、bboxは、オーストラリアで 1 つの長方形 (バウンディング ボックス) のみを含むマルチポリゴンを返す必要があります。
2 番目の例
- id : 321
- area : パリに 1 つの円、トロントに 1 つの円を含むマルチポリゴン
- したがって、bboxは、パリに 1 つの長方形、トロントに 1 つの長方形を含むマルチポリゴンを返す必要があります。
postgresql - mongodb と postgis の地理空間サポートの比較
私は、GIS サポートを強く必要とする消費者向けの位置情報ベースのモバイル アプリを作成中です。データベースを Postgres (PostGIS) と mongodb に絞り込みました。
両方の経験がある人が、特に次の分野で地理空間サポートをどのように評価するか疑問に思っていました。
- パフォーマンス
- クエリの表現可能性
- 精度
長所と短所、落とし穴と制限について話し合ってください。
sql - PostGIS: AddGeometryColumn なしで「ジオメトリ」列を登録する
ジオメトリ列を作成する通常の方法はAddGeometryColumn ですが、既存の列を使用する必要があるため、(私の知る限り)その関数を使用できません。
PostGIS docsのおかげで、既に「geometry_columns」テーブルに列を登録できますが、AddGeometryColumnは、列を作成して geometry_columns に行を追加するだけではないようです。たとえば、列にチェックを追加します。
だから私の質問は何ですか: geometry_columnsに行を追加する以外に、列を手動で登録するにはどうすればよいですか?
(たとえば、既存の列で動作する修正版のAddGeometryColumnはありますか?)
oracle - 座標変換
私は、OpenLayers、Googleマップ、および別の独自のソースを使用して、マップ上にポリゴンを表示するWebポータルの小さなコンポーネントで作業しています。
ユーザーはPSAD56(UTM)データムにポイントを持っているので、Googleマップで使用するには、ポイントをWGS84に変更する必要があります。私は、空間拡張のないOracle9iとpostgiの両方を手元に持っています。OracleロケーターまたはPostgisはこの変換を行うことができますか?それとも、それを実行できるオープンソースはありますか?
gis - 複数のレコードへのデータの追加
私はさまざまな部分を含むプロジェクトを持っています..そのうちの1つは、マップ上のすべてのポリゴンの面積を計算することです。「select st_area(nycpp.the_geom) from nycpp;」というクエリを実行すると、すべてのエリアのリストを取得します。
次に、クエリの結果を nycpp テーブルに UPDATE nycpp SET area_sizes = (select st_area(nycpp.the_geom) from nycpp); で追加してみました。しかし、エラーが発生します-「式として使用されるサブクエリによって複数の行が返されました」
エラーが発生する理由がわかりました... 12K以上のすべてのレコードを更新するスクリプトを作成する方法がわかりません....
誰かが複数のレコードの更新に関する情報への例またはリンクを提供できますか
私が使用しているデータベースはPostGISです
ありがとうクリス
postgresql - PostgreSQLとPostgisを使用した2つのポート間の距離計算
私はPostGisでPostgreSQLを使用しており、すべての国の図形が読み込まれています。
2つの港の間のショートシールートを計算するにはどうすればよいですか(国の形と交差することなく)
「標準ソリューション」はありますか?
gis - もう1つはPostGISテーブルの複数のレコードにデータを追加します
Nicklas、前の質問への回答に感謝します。
私の無知と、かなり単純な質問になるかもしれないことを尋ねることを許してください。しかし、データベースは私の専門分野ではありません。
各パーシンクトでのクラッシュの数を示すselectステートメント:SELECT P.precinct、count(C)FROM nycpp P、nyccrash C WHERE _st_contains(P.the_geom、C.crashpoint)GROUP BY P.precinct ORDER BY P.precinct ;
カウントだけをnycppテーブルに追加したいのですが、カウントを保持する変数はnumber_ofcrashsです。
再び支援に感謝します
クリス
postgis - マルチポリゴンの osm2pgsql による不正なデータ
ヨーロッパの OSM データを postgis データベースに変換しようとしましたが、ギリシャやロシアなどの国が正しくインポートされていないことに気付きました。
ジオメトリの一部しか使用していないようです。たとえば、osm2pgsql のインポート後、私のデータベースにはギリシャの島が 2 つしかありません。
とても奇妙です。異なる引数を使用しようとしましたが、同じ結果が得られました。SVN 0.69-23858 の最新バージョンの osm2pgsql と Geofabrik の osm ファイルを使用します。