投影図法でコンバーターを使用する
次の例で示すように、単位コンバーターを投影図法に関連付けることができます。このコード・サンプルは、メートルの代わりにフィートを使用するように変更した useproj プログラムの修正版です。
#include <ilviews/maps/projection/mercator.h>
main()
{
IlvUnitConverter* converter = IlvUnitConverter::FT();
IlvMercatorProjection projection;
projection.setUnitConverter(*converter);
const double lambda = IlvMaps::DegreeToRadian(-45.0);
const double phi = IlvMaps::DegreeToRadian(30.0);
IlvCoordinate ll(lambda, phi);
IlvCoordinate xy;
projection.forward(ll, xy);
IlvPrint("The projection of 45W 30N is \n"
" x = %f ft\n"
" y = %f ft",
xy.x(),
xy.y());
ll.moveTo(0, 0);
projection.inverse(xy, ll);
char buffer1[12];
char buffer2[12];
IlvPrint("The inverse projection is \n"
" %s %s",
IlvMaps::RadianToDMS(buffer1, ll.x(), IlFalseIlFalse),
IlvMaps::RadianToDMS(buffer2, ll.y(), IlTrue));
}
setUnitConverter の呼び出しによって、測定単位としてフィートの使用を指定します。これによって、forward メソッドの出力がフィート単位になります。同様に、inverse メソッドの出力もフィート単位にする必要があります。
Version 6.0
Copyright © 2015, Rogue Wave Software, Inc. All Rights Reserved.