そのため、現在、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
。