問題タブ [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.
django - Lat/LongデータをPostgreSQLにインポートする方法
PostgreSQL /Django/初心者はこちら。
会場と緯度/経度の情報を含むJSONデータがたくさんあり、データベースにインポートしたいと考えています。これまで、JSONをSQLステートメントにフォーマットするスクリプトを作成してきたので、多数のINSERTステートメントを使用してそれらをインポートできます。
しかし、ST_PointFromText('POINT(lon lat)')構文を使用しようとすると、'location'フィールド(PointField)が悲しみを与えてくれます。具体的には:
エラー:リレーション「finder_venue」の新しい行がチェック制約「enforce_srid_location」に違反しています
では、適切なSRIDを生成するにはどうすればよいですか?
または、Djangoの使いやすさを考えると、ここでプログラマティック異端を犯しているように感じずにはいられません。誰かが私をもっと賢い方向に向けることができますか?
ありがとう、
ジョン
geocoding - 英国ナショナル グリッド参照を WKT として GeoDjango に提供するにはどうすればよいですか?
次のように定義された Django PointField に National Grid 参照を挿入しようとしています。
ただし、WKT で正しくフォーマットする方法がわかりません。これは、基本的な National Grid リファレンスを単純に使用してみると、次のようになりますTR3241
。
そして、これは私が(WKTを読んだ後に大雑把に推測して)使用した場合に得られるものですPOINT(TR3241)
:
グリッド参照を正しくフォーマットするにはどうすればよいですか?
postgresql - PostgresqlでUPDATEクエリの結果時間を改善するには?
次のクエリを 3 時間以上実行しています。
eop テーブルには 30 万以上のレコードがあり、gi テーブルには 10 万以上のレコードがあります。
cp7 フィールドは両方のテーブルでインデックス化されており、完了するまでに時間がかかりすぎています。
私はそれを間違っていますか?どうすればこれを改善できますか?
python - GeoDjangoを使用したpostGISでのパフォーマンスが必要
postGISでGeoDjangoを使用するのはこれが初めてです。インストールとすべてが正常に実行されているいくつかのテストの後、テーブルの行が大きくなるときのクエリのパフォーマンスが心配です。
Googleジオコーディング(WGS84、またはSRID 4326)から取得したジオメトリポイントの経度と緯度を保存しています。私の問題は、距離操作が私のアプリケーションで非常に一般的であるということです。私はしばしばランドマークからスポットに近づく必要があります。幾何学の計算は非常に複雑なので、空間インデックスを持っていても、近くのエリアに1000を超えるスポットがあると、将来的には時間がかかりすぎる可能性があります。
では、このジオメトリタイプを投影して、距離操作をより高速に実行する方法はありますか?これらのポイントのいくつかを含むGoogleマップをレンダリングできるDjangoライブラリを知っている人はいますか?
GeoDjangoで空間クエリを高速化する方法に関するアドバイスはありますか?
ruby-on-rails - Railsを使用したPostGISクエリの構築
Rails(3.0.0rc)とGoogle Map(v3)でPostGIS(1.5.1)を使用しており、データベースにクエリを実行して、ポリゴン内のすべてのポイント(具体的には境界)を取得する方法を探しています。マップビューポートの)。現在、境界の座標をサーバーに送信しています。
次に、私のコントローラーで:
この例に基づいてクエリを実行していますが、実際には期待どおりに動作していません。ほとんどのポイントは、地図をズームアウトしたときに表示されますが、国際日付変更線に近いポイント(オーストラリアとニュージーランドなど)では表示されません。 。地球のどの地域でも、地図を拡大してもポイントはまったく表示されません。私はPostGISの地理タイプがこの種のクエリにより適していることについて何かを読みましたが、そのようなタイプはGeoRubyによってサポートされているとは思いません(GeoDjangoによってサポートされています)。このようなリクエストに対するコンソールからの出力は次のとおりです。
そのようなクエリを作成するための最良の方法は何ですか?プロジェクトでGeoRubyとspatial_adapterのgemを使用していますが、上記で説明したように、それらの使用に関する多くの情報を見つけるのに苦労しています。距離クエリは、おそらく取るべきより良いアプローチでしょうか?ありがとう!
編集:私の移行は以下の通りです:
gis - tinyows fid が table_name.null として返されましたか?
私のアプリでは、openlayers と postgis と共に wfs-t に tinyows を使用しようとしています。geom を格納するために、osm テーブルと myown テーブルを使用しています。tinyows は osm tales で正常に動作しますが、要求された機能のfidとして table_name.(null) を返します。そのため、テーブルで wfs-t を実行できません。このエラーを解決する方法、私の間違いはどこですか? どんな助けでも大歓迎です。
ありがとう。
django - GeoDjango の地理モードの距離 - PostGIS 1.5
モデルに「座標」という名前の PointField フィールドを格納します。
次に、コマンド インタープリターで、指定されたインスタンスから最も近いインスタンスを参照し、その名前と距離 (km) を出力します。
問題は、フィールド「座標」が親切なジオメトリである場合、うまく機能することです。しかし、オプション「geography = True」を含めると、精度を高めるために、以前のように km で印刷するように指定していても、はるかに小さい値が返されます。
正しい地理計算を取得するにはどうすればよいですか?
ありがとう
gis - openlayers からベクターの対応する postgresql データを編集したいのですが、どうすればよいですか?
ユーザーがベクトルをクリック/マウスしたときに、openlayres を介してベクトルの対応するテキスト/数値データ型の列を編集したいと考えています。お気に入り、
http://dev4.mapgears.com/bdga/bdgaWFS-T.html#
それを行う方法のチュートリアルページはありますか? 私はそれを経験しましたが、そのjsコードから理解するのは困難でした。
-gis.stackexchangeに投稿
gis - postgis / proj 900913 から 4326 への Y 座標の投影の問題
これは古き良きものですが、解決策が見つからないようです。
900913 座標で 4326 システムに st_transform を実行したい場合、y 座標がシフトします。
例:
SELECT AsText( Transform( Transform( GeomFromText( 'POINT( 449760.25168159 6790560.4594059 )', 900913), 4326 ), 900913 ) )ここで、元の 900913 開始点は st_stransformed で 4326 になり、900913 に戻ります。結果は元の点ではなく、y が異なります。(後で結果を挿入します。ここにはありません)。
どこかで読んだように +nadgrids=@null を追加して、4326 の proj4text を変更してみました
現在、srid 4326 の proj4text は次のとおりです。
"srid=4326 の spatial_ref_sys から proj4text を選択" +proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs現在、srid 900913 の proj4text は次のとおりです。
"srid=900913 の spatial_ref_sys から proj4text を選択" +proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@ null +no_defs900913 から 4326 への別の投影への投影も試みましたが、900913 から 4326 への直接変換とまったく同じポイントが得られます。
誰でもアイデアはありますか?
EJ
mysql - GIS:PostGIS /PostgreSQL対MySql対SQLServer?
編集:私はPostGISでPostgresを数ヶ月使用していますが、満足しています。
ジオコーディングされた数百万のレコードを分析する必要があります。各レコードには緯度と経度があります。これらのレコードには、少なくとも3つの異なるタイプのデータが含まれており、各セットが他のセットに影響を与えるかどうかを確認しようとしています。
このすべてのデータの基盤となるデータストアに最適なデータベースはどれですか?これが私の願いです:
- 私はDBMSに精通しています。私はPostgreSQLが一番苦手ですが、他のすべてがチェックアウトされているかどうかを知りたいと思っています。
- GISクエリでうまく機能します。グーグル検索はPostgreSQL+PostGISが最強かもしれないことを示唆していますか?少なくとも多くの製品がそれを使用しているようです。MySqlの空間拡張は比較的最小限に見えますか?
- 低価格。SQL Server Express 2008R2では10GBのDB制限がありますが、無料バージョンのこの制限やその他の制限に耐えたいかどうかはわかりません。
- Microsoft.NETFrameworkと拮抗しません。Connector / Net 6.3.4のおかげで、MySqlはC#および.NETFramework4プログラムでうまく機能します。.NET4のEntityFrameworkを完全にサポートします。DevartのdotConnectforPostgreSQL Professional Editionに180ドルを支払うことに反対していませんが、非営利のPostgreSQLに相当するものは見つかりません。
- Rと互換性があります。これら3つすべてがODBCを使用してRと通信できるように見えるため、問題にならない可能性があります。
私はすでにMySqlを使用していくつかの開発を行っていますが、必要に応じて変更できます。