問題タブ [openmap]
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.
java - JComponentが完全にペイントされるまで待つ方法は?
(Swing)JComponentが完全にペイントされるまで待つ方法が必要です。この実際の問題は、openmapアプリケーションから発生します。タスクは、いくつかのレイヤーでマップ(mapBean)を描画し、そのマップからイメージを作成することです。
残念ながら、それは明確に文書化されており、画像フォーマッタはマップから現在の状態を取得して画像を作成します。特にマップが複雑になると、JComponentであるmapBeanがペイントされる前にフォーマッタが呼び出されない可能性があります。
このオープンマップアプリケーションで説明されていますが、問題は非常に一般的で、おそらくSwingに関連しています。今のところ、私は一定の時間(1秒)待つだけですが、それは不完全なマップを作成するリスクを排除するものではありません...
編集
詳細-(OpenMap)MapPanelの構築から始めなければなりません。これは、internallzがMapBean(JComponentサブクラス)とMapHandlerを作成します。次に、MapHandlerに地理レイヤーをフィードすると、フレームワークはJComponentタイプのMapBeanに地理データのペイントを開始します。
マップにすべてのレイヤーを追加した後、別のフレームワーククラスを使用してJPG画像(または画像データを保持するbyte [])を作成します。そして、これは私が待たなければ問題を引き起こす可能性があります:この「イメージクリエーター」はマップBeanの現在の状態からイメージを作成し、この「イメージクリエーター」を早期に呼び出すと、一部のマップレイヤーがペイントされずに欠落します。かなり迷惑...
java - サードパーティのライブラリ (OpenMap/Java) からスレッドが終了するのを待っていますか?
現在、私のアプリケーションには興味深い問題があります。この問題は OpenMap で発生しますが、おそらくサードパーティのライブラリに適用される可能性があります。
この特定の例では、コードで OpenMap ツールを作成し、そのレイヤーを (バックグラウンドで) ロードして、特定のポイントのスクリーンショットを撮る必要があります。
ただし、問題は、OpenMap ライブラリが独自のスレッドを作成してこれらのレイヤーをロードするため、すぐにコードに戻ってスクリーンショットを撮ることであり、ほとんどの場合、スクリーンショットは空または不完全です。
アプリケーションの擬似コードは次のようになります。
ある種のスレッド管理が適切であると仮定しましたが、ライブラリがアクセスできない独自のスレッドを使用している場合、これをどのように行うことができますか? また、OpenMap には、これらのスレッドが終了したことを示す戻り値やフラグがありません (私が確認しました)。
助言がありますか?
ありがとうございました
java - openmap を使用したシェープファイル
私は州の国境形状ファイルを用意しており、Java の openmap api を使用してそのファイルから情報を読み取り、特定の都市から 50 マイル以内の州を見つけたいと考えています。どうすればできますか?
java - OpenMap API を使用して、シェープファイルからポイント データを抽出するには、どのクラスを使用すればよいですか?
現在、Shapefile クラスと ColdFusion を使用して、各シェープファイルの「レコード」を調べています。各レコードには境界ボックスがあり、この情報を取得できますが、各レコード内のポイントを実際に取得する方法が見つかりません。
どのクラスを使用し、どのように使用するかについて、誰かが光を当てることができますか?
これは、次の場合とまったく同じ状況です (多少の言い回しを含む)。
http://old.nabble.com/what-class-do-you-use-to-extract-data-from-.SHP-files--td20208204.html
私は ColdFusion を使用していますが、解決策のヒントがあれば大いに役立つと思います。
私の現在のテストコードは次のとおりです。
java - OpenMapに関するチュートリアル
マップAPIの1つであるOpenMapに関するチュートリアルを探しています。しかし、彼らのWebサイトには、このライブラリに関する優れたチュートリアルとドキュメントはありません。私はこの件について彼らに郵送しました。しかし、彼らからの返答はありません。良いチュートリアルを知っているなら、それを共有できますか?どんな助けでもありがたいです。
out-of-memory - サイズの大きい画像が OufOfMemoryException につながる
私は OpenMap を使用しており、非常に大きな寸法の画像をロードする必要があります。
これらの画像を大きなラスターとして読み込もうとしましたが、OufOfMemoryException で失敗しました。デバッグ モードで、レイヤー コンストラクターから、画像のサイズが大きすぎると通知されます。
OpenMap メーリング リストで、GeoTiff ファイルを読み込んで表示できる MyJAIPlugin を見つけました。
OpenMap で 300MB の GeoTiff を表示するにはどうすればよいですか?
php - 小さなオープンソースWebアプリケーションの地理データ(空間データ)を保存するための最良の方法は何ですか
GISWebアプリケーションの開発を開始しようとしています。
言語としてPHP、フレームワークとしてZend、マップレンダリングにGoogle Maps APIを使用しますが、使用するバックエンドストレージを決定しませんでした。
必要なもの:
- ストア:ポイント(Lat&Lng)、ライン(ポイントのセット)、ポリゴン
- 次のようなクエリを実行します。
- 「他の特定のポイントに最も近い特定の種類のnポイントはどれですか?」
- 「ある特定の線に最も近い特定の種類のn個の点はどれですか?」
- 「点'a'はポリゴン'g'の内側にありますか?」
- 「点'a'から点'b'までの距離はどれくらいですか?」
- これらの空間データ型を同じテーブル内の他のリレーショナルデータと組み合わせます。
どのオープンソーステクノロジーを使用する必要がありますか?
geolocation - ランバート 2008 年予測
緯度/経度で定義された位置をマップ (画像) の x、y 座標に投影できる関数を作成する必要があります。
マップ自体は、投影タイプとして「ベルギーのランバート」を使用しているようです。
この投影法とその構成に関する公式情報をいくつか見つけました: http://ign.be/FR/FR2-1-4.shtmおよびhttp://ign.be/Common/Lambert2008/Transformation_Geographic_Lambert_FR.pdf (フランス語で、私は必要に応じて翻訳します)。
基本的に、いくつかのライブラリを使用する方が簡単だという結論に達しました (ここでは必須ではありませんが)。いくつかの調査の結果、OpenMap がその作業を実行できるように思われます。
だから、これが私がこれまでに得たものです:
(私のgifが1000x1000であることを知っています)
LamberConformal コンストラクターの JavaDoc: http://openmap.bbn.com/doc/api/com/bbn/openmap/proj/LambertConformal.html#LambertConformal%28com.bbn.openmap.LatLonPoint,%20float,%20int,%20int, %20double,%20double,%20double,%20double,%20double,%20double,%20com.bbn.openmap.proj.Ellipsoid%29
私はそれを正しく構成していなかったと思います: マップ上にあるはずのポイント xxx で、次の結果が得られます。
パラメータとして「中心点」(?)を与える
(マップの真ん中、いい感じ)
これに精通している、またはリンクから構成を把握できる人はいますか?
編集:
メソッドの最後の行をこれに置き換えてみました:
しかし、良くはありません。
java - 緯度/経度と距離に関する Java の問題
OBJECT_LOC と CONVERTED_LOC がまったく同じになるように、コードの一部を機能させようとしています (以下にあるものと同様)。コードは私がやっていることでかなり簡単だと思っていましたが、何らかの理由でそれらは同じではありませんか? 私は何を間違っていますか?(以下の出力を参照してください)。
出力: