@Override
public void OnGeometrySelected(int count) {
pointList = new ArrayList<PointInfoModel>();
int c = m_myMapWnd.GetMap().Selection().GetCount();
System.out.println("c=" + c);
for (int i = 0; i < c; i++) {
eMyResultSet rs = m_myMapWnd.GetMap().Selection().GetAt(i);
System.out.println("所属层名:" + rs.GetLayer().GetName());
rs.Reset();
while (rs.HasNext()) {
eMyPoint point = rs.GetGeometry().GetPointAt(0);// 获取逻辑坐标
eMyPoint2D point2D = m_myMapWnd.GetMap().MapToGeo(point);// 转物理坐标
x = point2D.GetX();
y = point2D.GetY();
pointInfo = new PointInfoModel();
pointInfo.setX(x);
pointInfo.setY(y);
pointInfo.setName(rs.GetString(0).toString());
pointInfo.setId(rs.GetString(1).toString());
pointInfo.setCity(rs.GetString(2).toString());
pointInfo.setArea(rs.GetString(3).toString());
pointInfo.setCategory(rs.GetString(4).toString());
pointInfo.setGeocode(rs.GetString(5).toString());
pointList.add(pointInfo);
}
}
// 输出显示结果
String text = "";
if (pointList.size() > 0) {
// 点选
if (pointList.size() == 1) {
for (int i = 0; i < pointList.size(); i++) {
double x = pointList.get(i).getX();
double y = pointList.get(i).getY();
String name = pointList.get(i).getName();
String id = pointList.get(i).getId();
String city = pointList.get(i).getCity();
String area = pointList.get(i).getArea();
String category = pointList.get(i).getCategory();
String geocode = pointList.get(i).getGeocode();
int j = i + 1;
System.out.println("---------" + j + "---------");
String xy = "物理坐标:(" + x + "),(" + y + ")";
System.out.println(xy);
System.out.println("名称:" + name);
System.out.println("ID:" + id);
System.out.println("城市:" + city);
System.out.println("所在区:" + area);
System.out.println("类别码:" + category);
System.out.println("地理编码:" + geocode);
System.out.println("---------------------------------");
text += "名称:" + name + "\n";
text += "ID:" + id + "\n";
text += "城市:" + city + "\n";
text += "所在区:" + area + "\n";
text += "类别码:" + category + "\n";
text += "地理编码:" + geocode + "\n";
text += "物理坐标:(" + x + "),(" + y + ")" + "\n";
}
}
// 多选
else {
for (int i = 0; i < pointList.size(); i++) {
double x = pointList.get(i).getX();
double y = pointList.get(i).getY();
String name = pointList.get(i).getName();
String id = pointList.get(i).getId();
String city = pointList.get(i).getCity();
String area = pointList.get(i).getArea();
String category = pointList.get(i).getCategory();
String geocode = pointList.get(i).getGeocode();
int j = i + 1;
System.out.println("---------" + j + "---------");
System.out.println("物理坐标:(" + x + "),(" + y + ")");
System.out.println("名称:" + name);
System.out.println("ID:" + id);
System.out.println("城市:" + city);
System.out.println("所在区:" + area);
System.out.println("类别码:" + category);
System.out.println("地理编码:" + geocode);
System.out.println("---------------------------------");
text += name + "\n";
}
}
}
Toast.makeText(Demo.this, text, 9000).show();
}
分享到:
相关推荐
在本教程中,我们将探讨如何在加载到QLabel的图片上绘制矩形框,并且能够实时显示所选矩形区域。这涉及到对事件处理、绘图以及图像处理的理解。 首先,我们需要在QLabel上加载图片。这可以通过调用QLabel的...
AUTOCAD中如何设置经典工作模式以及矩形框选?
当你需要在图像上进行图形操作,如绘制矩形框、选中并调整框的大小时,可以通过重写`pictureBox`的相关事件来实现。下面我们将深入探讨如何在`pictureBox`上绘制矩形框,并支持选中及边框拉伸功能。 首先,你需要...
本项目“基于pyqt的自定义QGraphicsScene支持画矩形以及返回矩形的坐标”着重于扩展QGraphicsScene的功能,使得用户能够方便地在场景中绘制矩形,并获取所画矩形的精确坐标。 首先,我们来看`CustomScene.py`文件。...
本文将围绕一个特定的编程场景展开,即“图片截图,鼠标选矩形”。该技术主要应用于图像处理领域,尤其是涉及到用户交互的部分。具体来说,是利用OpenCV库实现通过鼠标选择图像中的任意矩形区域,并对选定区域进行...
这个场景在“矩形任意框选图像改变图片像素灰度值”项目中得到了体现。该项目采用Visual Studio 2010作为开发环境,并且自带了测试数据,能够实现用户通过矩形框选区域来调整图像的灰度值,提供了直观的图形处理效果...
易语言API画矩形源码,API画矩形,设置刷子颜色,取对象句柄_,设置画笔颜色,取设备场景_,释放设备场景_,画矩形_,删除对象_,DrawText,GetClientRect,选入设备场景_,画矩形边框_
C# 鼠标左击或者右击拖动显示矩形选框(winform程序) C# 鼠标左击或者右击拖动显示矩形选框(winform程序) C# 鼠标左击或者右击拖动显示矩形选框(winform程序) C# 鼠标左击或者右击拖动显示矩形选框(winform...
本篇文章将探讨小信号放大器的一些关键知识点,包括选择性与通频带的关系、小信号谐振放大器的性能指标、理想的矩形选频特性的含义、高频谐振放大器的工作稳定性、单级小信号调谐放大器的设计计算以及多级中频放大器...
本主题将深入探讨如何在MFC基于对话框的应用程序中实现多矩形的绘制、选择、拉伸、移动以及删除功能。 首先,我们需要了解`CRectTracker`类。它是MFC提供的一种工具,用于跟踪用户在屏幕上对矩形的操作,如拖动边角...
// 可选,提高边缘平滑度 g.DrawPath(Pens.Black, path); // 绘制路径 } ``` 这段代码创建了一个`GraphicsPath`,然后通过添加弧线和直线构建了圆角矩形的路径。最后,使用`Graphics`对象的`DrawPath`方法以黑色...
2. 选取:点选、矩形选、多边形选、圆形选... 3. 样式:多种线型、多种图案填充、支持alpha通道... 3. 对矢量的支持:dxf、e00、shp、mif、tab、s57... 4. 对栅格的支持:tiff、bmp、ecw、img、jpg、png... 5. 对...
基于canvas的鼠标绘制矩形框的demo,多个canvas对象下支持选中,平移,删除操作,代码用VUE实现的
在Microsoft Visual Studio (VS) 的MFC(Microsoft Foundation Classes)框架中,开发用户界面时,经常需要实现一些自定义的功能,比如矩形选择框。这个功能通常用于图像编辑器、绘图程序等,允许用户通过鼠标操作来...
- `metric`: 可选参数,用于指定计算最小矩形的标准,可以是`'a'` (面积) 或 `'p'` (周长)。默认为`'a'`。 **2. 函数输出参数** - `rectx, recty`: 定义最小外接矩形的5个顶点坐标。 - `area`: 最小外接矩形的面积...
应用QT QGraphicsview 显示图片,并加入了鼠标事件获取图片像素坐标,利用鼠标绘制矩形框选图片选区,选择的选区显示在Lable控件上。得到图片像素坐标以后,并利用OpenCV截取图片的的选区,显示在Qlable控件上面。本...
5. 添加`mousemove`事件监听器,更新当前鼠标位置,并计算矩形的宽高,然后调用`clearRect()`清除之前的矩形,再使用`strokeRect()`或`fillRect()`绘制新的矩形。 6. 添加`mouseup`事件监听器,清除绘制状态。 在...
在Flash或AS3(ACTIONSCRIPT 3.0)开发中,模拟操作系统中的经典功能,如XP风格的矩形鼠标选中框,能够提升用户的熟悉感和操作体验。本篇文章将深入探讨如何利用ActionScript来实现这一效果,帮助开发者更好地理解和...
在Vue.js框架中实现图像上绘制矩形框并获取对角坐标的功能,是常见的图像处理需求,例如在图像标注、对象检测等应用场景中。本文将详细介绍如何在Vue项目中完成这个任务。 首先,我们需要了解Vue的基本概念。Vue.js...
在这个语法中,`(x1, y1)`和`(x2, y2)`分别表示线条的起始点和结束点,而`Attributes`部分则包含了一些可选的参数,如线条颜色、线型、填充模式等。 在画矩形时,我们通常会指定矩形的对角线,即从一个角落到另一个...