0

そのため、現在、Googleの静的マップ(Qt上)に座標をプロットするためのプログラム(RInsideを使用)のコンパイルに成功しています。

ここで、GPS から受信した座標を地図上にプロットする必要があります。

「その場で」pngに新しくプロットされたポイントを表示することは何とか可能ですか?つまり、新しいポイントを受け取るたびにハードディスク
から png を読みたくないということです。


ここから: http://cran.r-project.org/web/packages/png/png.pdf

このパッケージは、PNG 形式で保存されたビットマップ イメージを読み取り、書き込み、表示するための簡単でシンプルな方法を提供します。ファイルとメモリ内の raw ベクトルの両方を読み書きできます。

これは役に立ちますか?


#include <RInside.h>
#include <Rcpp.h>
#include <iostream>

int main (int argc, char *argv[])
{
    std :: cout << "\nThank-SO :-)\n";

    RInside R (argc, argv);

    std :: string txtA = "library(RgoogleMaps)";
    std :: string txtB = "png(filename='Rg.png', width=480, height=480)";

    std :: string txtC = "lat = c(40.702147,40.718217,40.711614)";
    std :: string txtD = "lon = c(-74.012318,-74.015794,-73.998284)";
    std :: string txtE = "center = c(mean(lat), mean(lon))";
    std :: string txtF = "zoom <- min(MaxZoom(range(lat), range(lon)))";

    std :: string txtG = "MyMap <- GetMap(center=center, zoom=zoom, markers='&40.702147,-74.015794,blues%7C40.711614,-74.012318,greeng%7C40.718217,-73.998284,redc', destfile='My.png')";

    std :: string txtH = "tmp <- PlotOnStaticMap(MyMap,lat=c(40.702147,40.711614,40.718217),lon=c(-74.015794,-74.012318,-73.998284),cex=1.5,pch=20,col=c('red', 'blue', 'green'),add=F)";

    std :: string txtI = "dev.off()";

    R.parseEvalQ (txtA);
    R.parseEvalQ (txtB);
    R.parseEvalQ (txtC);
    R.parseEvalQ (txtD);
    R.parseEvalQ (txtE);
    R.parseEvalQ (txtF);
    R.parseEvalQ (txtG);
    R.parseEvalQ (txtH);
    R.parseEvalQ (txtI);

    return 0;
}

で書いたC++コードですRInside

4

1 に答える 1

2

言及したパッケージ(または他のツール)を使用して自分でマップをプロットできますpng。次に、プロット座標と gps 座標をマッピングする方法が必要です。

マップの領域が十分に小さいため、デカルト近似に満足している場合、簡単な方法はupdateusr、パッケージの関数を使用TeachingDemosして、緯度/経度情報と一致するようにプロット座標を変更することです。緯度を知る必要があります。マップ上の 2 つのポイントが長く、関数を使用して元の座標を見つけることができますlocator(または、それらがコーナーの場合は必要ない場合がありますlocator)。次に、関数を使用しpointsてマップの上にポイントを追加するだけで、マップを再読み取りまたは再プロットする必要はありません。これは、マップが都市または小さな地域の場合はおそらく問題ありませんが、国全体を表示しようとすると、近似に影響を与える可能性があります.

さまざまな投影法について、緯度/経度から現在のプロット座標に変換する方法を見つけてからpoints、変換された座標で使用できます。spパッケージなどはここで役立つかもしれません。

考慮すべき他のいくつかのパッケージ (パッケージ内の現在の関数が十分でない場合でも、コードを見てアイデアを得るか、コードを変更して png ファイルを使用することができます)RgoogleMapsggmap.

于 2012-07-18T16:17:46.657 に答える