問題タブ [geotools]
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.
performance - インデックスとパフォーマンス
私は Geotools を初めて使用し、この問題に直面しています。PostGis に約 2MB のシェープファイル情報 (約 5800 エントリ) を注入していますが、驚くべきことに、完了までに多かれ少なかれ 6 分かかります! 私の「実際の」データセットは、シェープファイルグループ(shp、dbf ...)ごとに最大25MBになる可能性があり、100グループが必要になるため、非常に面倒です。
Postgre は各 INSERT でテーブルのインデックスを更新するため、インデックスの問題である可能性があると言われました。一括 INSERT 中にこれらのインデックスを「無効」にして、最後にすべてのインデックスを作成するようにデータベースに指示する方法はありますか? または、それを行うより良い方法はありますか?
ここに私のコードスニペットがあります:
ご協力ありがとうございました!
だから私はあなたの解決策をテストしましたが、何も助けてくれませんでした...完了時間は同じです。これが私のテーブル定義です:
- fid シリアル 10
- the_geom ジオメトリ 2147483647
- xxx varchar 10
- xxx int4 10
- xxx varchar 3
- xxx varchar 2
- xxx float8 17
- xxx float8 17
- xxx float8 17
したがって、問題が私のコードやデータベースに直接関係しているとは思いません。おそらくシステムの制限 (RAM、バッファーなど) が原因である可能性があります。これについては、今後数日のうちに見ていきます。
もっとアイデアはありますか?
java - GeoTools/ProJ.4(またはその他のAPI)を使用してHK80 GRIDから緯度/経度に座標を変換するにはどうすればよいですか?
hk80 グリッドのセットを緯度/経度に変換する方法は?
HK 1980 Grid は EPSG 2326、Lat/Long WGS84 は EPSG 4326
または、これを行うのに適したものはありますか
postgresql - GeoTools を使用して hstore 列からデータをフィルタリングする方法は?
GeoTools を使用して PostGIS 対応データベースのフィーチャ テーブルからフィーチャをフィルタリングしようとしています。
私の構成:
- PostgreSQL 8.4
- PostGIS 1.5
- 浸透 0.40.1
- OSMembrane ビルド 845
- ジオツール 2.7.4
設定
これらのSQLスクリプトを順番に実行して、postgis対応データベースをセットアップしました。
- [PATH_TO_POSTGRESQL_8.4]/share/contrib/postgis-1.5/postgis.sql
- [PATH_TO_POSTGRESQL_8.4]/share/contrib/postgis-1.5/spatial_ref_sys.sql
- [PATH_TO_POSTGRESQL_8.4]/postgresql/8.4/contrib/hstore.sql
- [PATH_TO_OSMOSIS_0_40_1/script/pgsnapshot_schema_0.6.sql
次に、OSMembrane を使用して europe.osm から抽出した .osm データをインポートします。
これまでのところ、すべて問題ありません。すべてのテーブルには何らかのデータが含まれています。次に、次のような「方法」などの機能テーブルを読み取ろうとします。
特に「タグ」列には、フィルタリングに使用したいキーと値のペアが含まれています。SQL で「自然 = 海岸線」で行をフィルタリングしようとすると、最大 550 行の結果が得られます。
この例で示されるように、GeoTools でこれを試しても期待どおりに動作しません。
このアプリケーションを実行すると、次のようになります。
hstore と bigint[] 列に問題がありますか、それとも GeoTools を誤用していますか? たぶん、あなたは私にいくつかのヒントを与えることができます。
postgis - AffineTransformation を使用して、GeoTools でフィーチャを画像に正しくレンダリングする方法は?
GeoTools を使用して PostGIS 対応データベースのフィーチャ テーブルから読み取ったいくつかのフィーチャを画像に正しくレンダリングしようとしています。
私の構成:
- PostgreSQL 8.4
- PostGIS 1.5
- 浸透 0.40.1
- OSMembrane ビルド 845
- ジオツール 2.7.4
バウンディング ボックス内の一部のフィーチャのレンダリングは、これまでのところ問題なく機能しています。
問題:次の結果が得られます
- 90°回転 (時計回り)
- y 軸にミラーリング
レンダリングしたい機能はこれに基づいていますCoordinateReferenceSystem
アフィン変換を実行することを認識しているため、次のコードを記述しました。
これは機能し、機能がきれいに見えます! 一方で、これはあまり正しくないと感じます。問題は、オブジェクトに適用したのと同じ変換をgraphics、レンダラーのメソッドのメソッド パラメーターとして使用できないのはなぜpaintですか?
例えば
これにより、常に空の画面が表示されます。可視領域外のどこかにレンダリングされていると思います。geotools Web サイトのチュートリアルについては知っていますが、すべてがまとめられている場所が恋しいです。
役立つヒントをお待ちしています。
java - GoogleEarthのヒートマップのJava画像生成
一部のデータを処理し、結果を表示するヒートマップを生成するJavaプログラムに取り組んでいます。このプログラムは、ターゲット領域を取得し、その領域をグリッドに分割します。グリッドは、テストのために、各セルが1NMx1NMです。KMLファイルを生成します。グリッド内の各セルのファイルはポリゴンで表され、ポリゴンはセルの値に基づいて色付けされます。ただし、使用できるデータの量が多いため、Google Earthでは描画されるポリゴンの量(数百のポリゴン)を処理できない可能性があるのではないかと心配しています。
写真はGoogleEarthにとってリソースの負担が少ないと聞いているので、ヒートマップのJavaで画像(.jpgや.pngなど)を生成してGoogleEarthにオーバーレイする方法はありますか。セルの中心がわかっており、4つのコーナーが計算され、各セルのRGB値と16進値がわかっています。私はこのプロジェクトのライブラリとしてGeotoolsとJAKを使用しています。どんな助けでも大歓迎です。
maven - maven + geotools jai-imageio / kakaduランタイムエラーで実行可能なjarを構築する
ここの指示に従って 、geotools ベースのプロジェクト用に実行可能な jar ファイルを作成して、ユーザーに配布しようとしました。
実行時に次のエラーが表示されます
ランタイムで。
これを解決する方法を知っている人はいますか (ジオツールにネイティブ ライブラリを使用させないようにすることでしょうか)。
java - SimpleFeatureCollection に対する Geotools のネストされたループ
SimpleFeatureCollection に対してネストされたループを実行したいと考えています。ポイントごとに、その近隣を見つけて処理する必要があります。
ただし、SimpleFeatureCollection は反復子のみを許可し、配列へのアクセスは許可しないため、ネストされたループを実装することはできません (少なくともそのように見えます)。この反復子には previous() メソッドがないため、リセットして同じコレクションに対して 2 つの反復子を使用することはできません。
そのため、インデックスで機能にアクセスする他の方法があるかどうか疑問に思っていました。
ありがとう
collections - GeoTools: ポイントの作成と featureCollection への追加
軌跡点の補間を実装しています。したがって、基本的には、出発点から目的地までの方位角に沿っていくつかのポイントを作成する必要があります。問題は、作成したポイントをコレクションに追加できないことです。
ただし、これを実行すると、コレクションのサイズは変更されず、このコレクションには何も追加されません。ここで何が問題なのかわかりません。
ありがとう、
java-native-interface - GeoTools/GDAL: 警告: kakadu ネイティブ ライブラリの読み込みに失敗しました
GeoTools を使用して dted ファイルを読み取ろうとしていますが、多くの構成の問題があります。私はEclipseとJavaを使用しています。これが私のコードの要約版です:
org.geotools.coverageio.gdal.dted.DTEDReader をインポートします。
実行すると、コンソールに「警告: Kakadu ネイティブ ライブラリの読み込みに失敗しました」というメッセージが表示されます。次に、UnsatisfiedLinkError のスタック トレースの出力に進みます。
私のシステム パスには次のものが含まれます: C:_path C:\Program Files\gdal-1.9.0 C:\%JAVA_HOME%\bin C:\Program Files\Common Files\ESRI\Raster\bin\ntx86
その最後のものには、名前に kakadu が含まれているマシンで見つけた唯一の dll を含む、多くの dll が含まれています。
C:_path にこれがあります:
gdal19.dll
gdaljni.dll
ogrjni.dll
osrjni.dll
gdalconstjni.dll
gdal.jar
これらのファイルは、Eclipse プロジェクトのルートにもコピーされました。私のEclipseビルドパスには、gdal.jarと、C:\Program Files\geotools-2.7.4にあるすべてのjarが含まれています
私のEclipseプロジェクトのルートには、これがあります:
gdal19.dll
gdaljni.dll
ogrjni.dll
osrjni.dll
gdalconstjni.dll
kakaducoresys.dll
そうそう、別の環境変数が定義されています: GDAL_DATA は "C:\Program Files\gdal-1.9.0" に設定されています
DTEDReader が必要なライブラリを見つけられない理由を誰か説明してくれませんか?
jogl - GeoTools と JOGL
私は、GPS ユニットから位置を取得して、車両の移動に合わせて移動するマップを常に表示する Windows 用のデスクトップ アプリケーションを開発しています。これを実現する簡単なデモを作成しましたが、常にちらつきます。滑らかな動きのソリューションを実装する必要があります。うまくいけばこれを解決するいくつかのことを念頭に置いています。
まずは表示ウィンドウの2~3倍くらいのサイズでマップを作成し、ウィンドウをマップ上に移動させた方が良いと思います。ウィンドウが端に近づくと、現在のマップを置き換える新しいマップがバックグラウンドで構築されます。私はまだそれを行う方法に取り組んでいます。(ヒント大歓迎!!笑)
アプリケーションのハードウェア アクセラレーションをオンにすることは、大きな前進であり、究極のソリューションになると思います。フォーラムで読んだことによると、JOGL はハードウェア アクセラレーションを Java デスクトップ アプリケーションに追加する唯一の実用的な方法です。だからここにいます。
GeoTools に JOGL を追加して遊んでいる人はいますか? 現時点では 3D について話しているのではなく、表示をより効率的にするだけです。JMapPane から下のほぼすべてのコードに影響を与えるように見えるため、この変更を実装するのは大きな仕事になりそうです。提案、コード例、ヒントは大歓迎です!!!