2012-02-15 6 views
0

私はリアルタイムのIPデータの流れを持っています。
QT & C++を使用して、受信したIPに対応する地理データを世界地図画像に表示したいと思います。
この場合、あなたは何をお勧めしますか?ワールドマップ上で特定の国を強調する方法

PNGまたはSVG?
ウィキペディアの空白のマップよりも優れた画像がありますか?
どのようなジオデータベースをお勧めしますか?

ありがとうございました!

答えて

2

QGraphicsViewをサブクラス化するQWidgetを作成し、バックグラウンドで世界のQImageを使用し、マップの上にオーバーレイを表すQPolygons(各国の形状で)を作成できます。

その後、数ミリ秒ごとにupdate()を呼び出します。オーバーロードされたPaintEvent関数では、新しいデータをチェックし、IPがどこにあるかに基づいて国を強調表示します。その国を特定のミリ秒または秒数の間ハイライト表示し、そのアルファまたは何かを消してください。

地球の画像は、NASAに確認してください。彼らは、あなたの標準的な地図投影で地球の高解像度の画像を提供することができます。

+0

「数ミリ秒」の最小量は、モニタのリフレッシュレートによって異なります。リフレッシュレートが60Hzの場合、通常16.67msごとに更新を呼び出す必要はありません。その国が16.67ミリ秒未満で強調表示されていると、そのように表示されることはありません。 –

+0

まずはお返事ありがとうございます。 国の図形については、どの国境のデータベースをお勧めしますか? QPoligonsの地図と座標は設定されていますか?私が正しくリコール – Nathan

+0

は、ウィキペディアのSVGマップはあなたの最善の策かもしれません: http://en.wikipedia.org/wiki/File:BlankMap-World6.svg 私はあなたが国を得ることができるのか分かりませんその輪郭はsvgレイヤーとして存在することがわかっています –

関連する問題