浏览问题
等待回复
精选文章
申请试用
资源中心
漏洞修复
注册
|
登录
SuperMap技术问答社区
我要
提问
智能客服
首页
/
浏览问题
/
组件GIS
/
问题详情
iobjcet c++ 经纬度怎么转换成显示坐标
szcv612
56EXP
2019年10月21日
1.地图版本 supermap iObjcets C++ 9D
2.qt下知道一点的经纬度如何在地图上显示
坐标转换
iobjectscpp
坐标转经纬度
c
请
登录
或者
注册
后回答这个问题。
1个回答
您好,您可以创建一个点对象,并设置风格,添加到UGMap的跟踪层或动态层显示。
幸俊
694EXP
2019年10月21日
你好!很感谢你的回答
你说的这一步已经实现,但是我把点的经纬度值转换为UGPoint点地图显示坐标时不知道该怎么转换,可以给出一个实例嘛?
坐标转换需要使用UGRefTranslator实现,需用的SetPrjCoord
SysSrc(),SetPrjCoordSysDes(),SetGeoTransMethod(),Translate()等方法。请参考一下UGRefTranslator的头文件。
你好!,看了那个头文件不太看得懂,可以给个是实例嘛?
比如84坐标下一点的经度为105,纬度为32,怎么把它转换成UGPoint2D坐标?
你好!我怎么获得我当前地图是什么坐标系?
请参考下面的转换代码:转换结果在ugArray中
void JunSuMFCDialogDlg::coordnateTransform()
{
// 地图坐标系
const UGPrjCoordSys& pSrcPrj = m_pMapControl->GetMapEditWnd()->m_mapWnd.m_Map.GetPrjCoordSys();
UGPrjCoordSys* pTargetPrj = new UGPrjCoordSys(4326);
UGRefTranslator* pUGRefTranslator = new UGRefTranslator();
pUGRefTranslator->SetPrjCoordSysSrc(pSrcPrj); // 被转换点的坐标系
pUGRefTranslator->SetPrjCoordSysDes(*pTargetPrj); // 转换后点的坐标系
pUGRefTranslator->SetGeoTransMethod(EmGeoTransMethod::MTH_GEOCENTRIC_TRANSLATION); // 转换方法:三参数
// 转换参数,根据设置的转换方法,有旋转,平移等时设置对应参数,没有需要就创建空对象
UGGeoTransParams* pTempParams = new UGGeoTransParams();
pUGRefTranslator->SetGeoTransParams(*pTempParams);
delete pTempParams;
pTempParams = NULL;
// 构造点串, pt为一个屏幕上的点
UGPoint2D p1 = m_pMapControl->PixelToMap(pt.x, pt.y); // clicked position
UGPoint2D p2 = m_pMapControl->PixelToMap(pt.x + 50, pt.y + 50); // offset 50 pixels
UGArray<UGPoint2D> ugArray;
ugArray.Add(p1);
ugArray.Add(p2);
int count = ugArray.GetSize();
bool result = pUGRefTranslator->Translate(ugArray.GetData(), count);
}
请
登录
或者
注册
后再添加评论。
智能推荐
相关问题
相关文章
推荐教程
C++ 如何从 GPS 经纬度转换为 MAP 坐标?
坐标如何转换成经纬度
从GPS中获得的经纬度信息,经过坐标转换,在在线地图上显示时存在几公里的位置偏差
有没有CGCS2000的高斯投影平面坐标转换成经纬度坐标的例子?
坐标转换工具这里怎么不能从百度经纬度转到wgs84经纬度呢?
iserver发布的数据服务获得的xy坐标如何转换成经纬度坐标?
c++如何实现高斯设置6或3度带与经纬度转换
怎么把CGCS2000坐标转成经纬度坐标呀
热门文章
查看更多>
关注我们
超图软件官网
SuperMap Online
地图慧
帮助中心
备案信息
技术资源中心
...