本文整理汇总了C++中Sector::getUVCoordinates方法的典型用法代码示例。如果您正苦于以下问题:C++ Sector::getUVCoordinates方法的具体用法?C++ Sector::getUVCoordinates怎么用?C++ Sector::getUVCoordinates使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Sector
的用法示例。
在下文中一共展示了Sector::getUVCoordinates方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: getFeatureInfoURL
//.........这里部分代码省略.........
//SRS
if (_srs != "") {
req += "&SRS=" + _srs;
}
else {
req += "&SRS=EPSG:4326";
}
switch (_queryServerVersion) {
case WMS_1_3_0:
{
req += "&VERSION=1.3.0";
IStringBuilder* isb = IStringBuilder::newStringBuilder();
isb->addString("&WIDTH=");
isb->addInt(_parameters->_tileTextureResolution._x);
isb->addString("&HEIGHT=");
isb->addInt(_parameters->_tileTextureResolution._y);
isb->addString("&BBOX=");
isb->addDouble( toBBOXLatitude( sector._lower._latitude ) );
isb->addString(",");
isb->addDouble( toBBOXLongitude( sector._lower._longitude ) );
isb->addString(",");
isb->addDouble( toBBOXLatitude( sector._upper._latitude ) );
isb->addString(",");
isb->addDouble( toBBOXLongitude( sector._upper._longitude ) );
req += isb->getString();
delete isb;
req += "&CRS=EPSG:4326";
break;
}
case WMS_1_1_0:
default:
{
// default is 1.1.1
req += "&VERSION=1.1.1";
IStringBuilder* isb = IStringBuilder::newStringBuilder();
isb->addString("&WIDTH=");
isb->addInt(_parameters->_tileTextureResolution._x);
isb->addString("&HEIGHT=");
isb->addInt(_parameters->_tileTextureResolution._y);
isb->addString("&BBOX=");
isb->addDouble( toBBOXLongitude( sector._lower._longitude ) );
isb->addString(",");
isb->addDouble( toBBOXLatitude( sector._lower._latitude ) );
isb->addString(",");
isb->addDouble( toBBOXLongitude( sector._upper._longitude ) );
isb->addString(",");
isb->addDouble( toBBOXLatitude( sector._upper._latitude ) );
req += isb->getString();
delete isb;
break;
}
}
req += "&LAYERS=" + _queryLayer;
req += "&QUERY_LAYERS=" + _queryLayer;
req += "&INFO_FORMAT=text/plain";
const IMathUtils* mu = IMathUtils::instance();
double u;
double v;
if (_parameters->_mercator) {
u = sector.getUCoordinate(position._longitude);
v = MercatorUtils::getMercatorV(position._latitude);
}
else {
const Vector2D uv = sector.getUVCoordinates(position);
u = uv._x;
v = uv._y;
}
//X and Y
//const Vector2D uv = sector.getUVCoordinates(position);
const long long x = mu->round( (u * _parameters->_tileTextureResolution._x) );
const long long y = mu->round( (v * _parameters->_tileTextureResolution._y) );
IStringBuilder* isb = IStringBuilder::newStringBuilder();
isb->addString("&X=");
isb->addLong(x);
isb->addString("&Y=");
isb->addLong(y);
req += isb->getString();
delete isb;
return URL(req, false);
}