- 浏览: 323209 次
- 性别:
- 来自: 苏州
文章分类
- 全部博客 (228)
- ArcGis (4)
- UI设计 (32)
- SQLite (7)
- ListView (12)
- Handler_Thread (6)
- XML (5)
- Menu (7)
- TabHost (6)
- Inflater (2)
- Activity (5)
- SDCard (3)
- Dialog (7)
- Spinner (3)
- 设备信息 (2)
- 资源文件 (7)
- 多媒体 (7)
- 图片浏览 (5)
- 工具的使用 (3)
- Animation动画 (7)
- GIS (14)
- 软件发布 (4)
- GPS (2)
- 手机Feature开发 (6)
- 加密解密 (1)
- Time (2)
- JWeb (5)
- SQL (2)
- PhoneGap (3)
- JavaScript (3)
- Object-C入门 (7)
- Oracle (1)
- AutoCompleteTextView (1)
- APN (1)
- IOS开发 (12)
- 数据库工具 (3)
- UITableView (0)
- Arcgis for iOS (1)
最新评论
-
waterM:
...
DBVis 连接数据库配置 -
航空母舰:
上源码吧,差资源,都跑不起来!
ListView_split 分割 -
wade200:
学习了
启动另一个Activity并返回结果(附源码) -
AndLi:
里面的坐标被我写死了啊,你注释掉就可以了
GPS定位 -
kunlinchen2010:
求指教,QQ:446482624
GPS定位
// 记录下当前地图的屏幕中心点 eMyPoint2D centerPoint = new eMyPoint2D(mapWnd.getWidth() / 2, mapWnd.getHeight() / 2);
// 获得GridNo图层 eMyLayer gridNoLayer2 = mapWnd.GetMap().GetLayerByName("GridNo");
// 物理坐标 eMyPoint2D myPoint2D = new eMyPoint2D(px, py);
查询一个点所在GridNo图层某个区域的GRIDNO的值
// 查询myPoint2D这个点附近100个单位的对象 eMyResultSet rs2 = gridNoLayer2.QueryByPoint(myPoint2D, mapWnd.DevToGeo(100)); // 必不可少!!获取对象 rs2.HasNext(); // 获取到GRIDNO的值,有时候查到的NewGRIDNO值是空 String NewGRIDNO = rs2.GetString("GRIDNO");
// 定位到某个点 public void MoveToPoint(double px, double py) { MapUtil.showPoint(String.valueOf(px), String.valueOf(py)); int jj = 0; if (px != -1 && py != -1) { System.out.println("定时器开始定位!"); // 物理坐标 eMyPoint2D myPoint2D = new eMyPoint2D(px, py); // 获得GridNo图层 eMyLayer gridNoLayer2 = mapWnd.GetMap().GetLayerByName("GridNo"); // 查询myPoint2D这个点附近100个单位的对象 eMyResultSet rs2 = gridNoLayer2.QueryByPoint(myPoint2D, mapWnd .DevToGeo(100)); // 必不可少!!获取对象 rs2.HasNext(); // 获取到GRIDNO的值,有时候查到的NewGRIDNO值是空 String NewGRIDNO = rs2.GetString("GRIDNO"); // GRIDNO不空 if (!NewGRIDNO.equals("")) { // 不相等,就加载新地图 if (!NewGRIDNO.equals(GRIDNO)) { loadNewMap(NewGRIDNO); } } else { System.out.println("读到的GRIDNO为空!无法自动切换地图!"); } // 定位到px,py点 mapWnd.ZoomTo(px, py, radio); mapWnd.reDraw();// 那个Ondraw在redraw就会触发 mapWnd.repaint(0, 0); }
// 加载新地图 public void loadNewMap(String _GridNo) { // 切换地图,需要记录当前地图的平面中心点坐标和放大比例 double currentZoom = mapWnd.GetZoom(); try { // 是否有权限加载该地图的地图 if (MapUtil.isLoad(gridnos, _GridNo)) { // SDCard有该地图的文件 if (SDCard.hasMapFile(_GridNo)) { mapWnd.Close(); int bRet = mapWnd.Open(SDCard.getMapFilePath(_GridNo)); // 加载失败的几种情况 if (bRet != 1) { MapUtil.loadError(bRet, MapBrowseView.this); // 还是加载原来的图 bRet = mapWnd.Open(SDCard.getMapFilePath(GRIDNO)); mapWnd.ZoomTo(0, 0, currentZoom); showBigClassLayer(bigClassName); mapWnd.viewEntire(); mapWnd.reDraw(); mapWnd.repaint(0, 0); // mapWnd.refreshDrawableState(); } else // 加载成功 { // GridNo重新赋值 GRIDNO = _GridNo; showBigClassLayer(bigClassName); mapWnd.viewEntire(); mapWnd.reDraw(); mapWnd.repaint(0, 0); } } else { ShowMsg.showToast(MapBrowseView.this, nomapdate); } } else { ShowMsg.showToast(MapBrowseView.this, noloadmap); } } catch (Exception e) { e.printStackTrace(); } }
// 显示指定大类图层 private void showBigClassLayer(String bigClassName2) { // 获得大类图层 eMyLayer catetoryLayer = mapWnd.GetMap().GetLayerByName(bigClassName2); // 如果该大类图层不为空,显示 if (catetoryLayer.GetName().toString() != "") catetoryLayer.SetVisible(true); }
// 长按事件
public void OnLongPress(int x, int y) { // 获取标记的点的坐标 ShowMsg.showToast(MapShiJiSelectView.this, "标记地点成功!"); String GridCODE = ""; eMyLayer gridNoLayer; eMyResultSet rs2; eMyTrackingLayer tl = GetMap().TrackingLayer(); eMyGeoEvent ge = tl.GetAt("P1"); if (ge == null) { // 没有这个Tag为P1的对象,就添加一个点 eMyGeometry geom = new eMyGeometry(1, 1); // 逻辑坐标,不能用于查询BGCODE的值 eMyPoint mapPoint = GetMap().DrawParam().DevToMap(x, y); // 设置个变量:转换成物理坐标 eMyPoint2D eMyPoint2D = DevToGeo(new eMyPoint(x, y)); mx = eMyPoint2D.GetX(); my = eMyPoint2D.GetY(); geom.SetPointAt(0, mapPoint); mapPoint.Dispose(); // 设置TrackingLayer的风格 tl.GetStyle().SetBrushColor(Color.BLUE); tl.GetStyle().SetAlpha(128); tl.GetStyle().SetPenColor(Color.RED); // 图标 tl.GetStyle().SetBmpIndex(84); String tag = "P1"; tl.AddEvent(geom, eGeometryType.Point, tag, 0); tl.SetVisible(true); repaint(0, 0); System.out.println("第一次标记的点=" + mx + "," + my + ")"); } else { // 已经有了这个点了,移动这个点到新位置 // 逻辑坐标 eMyPoint devPoint = new eMyPoint(x, y); // 物理坐标 eMyPoint2D geoPoint = DevToGeo(devPoint); mx = geoPoint.GetX(); my = geoPoint.GetY(); ge.MoveTo(geoPoint.GetX(), geoPoint.GetY(), GetMap()); geoPoint.Dispose(); tl.SetVisible(true); repaint(0, 0); System.out.println("第二次标记的点=" + mx + "," + my + ")"); } // // 根据标记的点,查询DYWG图层上的BGCODE的值 // gridNoLayer = mapWnd.GetMap().GetLayerByName("DYWG"); // // 查询这个点附近100个单位的对象 // rs2 = gridNoLayer.QueryByPoint(new eMyPoint2D(mx, // my), // 100); // rs2.HasNext(); // 必不可少!!获取对象 // if (rs2 != null) { // GridCODE = rs2.GetString("BGCODE"); // System.out.println("DYWG_BGCODE==" + GridCODE); // } // 定位到以标记点为中心 // mapWnd.ZoomTo(mx, my, mapWnd.GetZoom());// 定位到该点 // mapWnd.reDraw();// 那个Ondraw在redraw就会触发 // mapWnd.repaint(0, 0); MoveToPoint(mx, my, 1); // 根据标记的点,查询CS_DYWG图层上的BGCODE的值 gridNoLayer = mapWnd.GetMap().GetLayerByName("CS_DYWG"); // 查询这个点附近100个单位的对象 rs2 = gridNoLayer.QueryByPoint(new eMyPoint2D(mx, my), 10); rs2.HasNext(); // 必不可少!!获取对象 if (rs2 != null) { GridCODE = rs2.GetString("BGCODE"); System.out.println("CS_DYWG_BGCODE=" + GridCODE); } MapSelectView.loInfo.clear(); MapSelectView.loInfo.put("x", String.valueOf(mx)); MapSelectView.loInfo.put("y", String.valueOf(my)); MapSelectView.loInfo.put("bgcode", GridCODE); MapSelectView.loInfo.put("gridno", GRIDNO); }
发表评论
-
ArcGis 9.3 破解过程
2012-02-25 10:05 13071) 安装"license_server_setup ... -
显示所有图层菜单
2011-12-27 15:54 914// 菜单-------------------------- ... -
GISDemo
2011-12-27 09:24 1422111111111111111111 public clas ... -
GIS地图制作
2011-12-23 12:33 1114111111111111111111111111111111 ... -
使用ArcGis工具合并图层
2011-12-19 20:04 42071.开始编辑 2.选中要合并的图层:根据图层的编号,点击S ... -
使用ArcGis工具分离图层
2011-12-19 19:31 27481.准备该地区的单位网格图层 2.安装好ArcGis工具 ... -
动态加载地图代码段
2011-12-17 13:05 2389// 得到GridNo图层 eMyLayer l ... -
长按标记点
2011-12-16 15:12 774@Override public void OnLon ... -
GIS注册工具
2011-11-23 11:08 1126111111111111 -
贴图偏移值设置
2011-11-22 19:49 931取中间值 16*16 就是8,8 13*13 就是 6.5 ... -
矩形选
2011-11-22 14:07 936@Override public void OnGeom ... -
GPS定位
2011-11-22 10:11 932// GPS,定位到某个点 { // 边际物理坐 ... -
点选的实现
2011-11-22 10:04 940public class eMyMapWnd2 extend ...
相关推荐
首先,关于属性表的条件组合查询,这是GIS中常见的一种筛选数据的方法。例如,要查询土地使用类别以"C"开头且容积率大于2的多边形,可以使用SQL语句:"LANDUSE" LIKE 'C%' AND "FAR" > 2。这里的LIKE关键字允许使用...
### GIS专业英语常用术语解析 #### 一、引言 地理信息系统(Geographic Information System,简称GIS)是一种用于收集、存储、分析、管理和展示与地理位置相关的数据的技术系统。随着全球化的发展,掌握GIS的专业...
中山大学的GIS考研部分总结涉及到多个重要概念和技术,包括元胞自动机(Cellular Automata, CA)、GIS的空间动态建模、多智能体系统(Multi-Agent System, MAS)以及面向对象的遥感影像分类。 元胞自动机是一种模拟...
以下将详细阐述这些常用GIS软件之间的数据转换方法。 1. ArcGIS to AutoCAD ArcGIS提供了丰富的数据导入和导出功能,可以通过“导出”或“发布为”命令将GIS数据转换为AutoCAD兼容的格式,如DWG或DXF。在ArcGIS中...
- **方法和技术**:解释选用的方法和技术,包括理论依据和选择理由。 - **实验设计与实施**:描述实验设计和过程,包括可能出现的问题及解决方案。 - **结果分析**:通过图表和数据分析结果,验证研究假设。 - *...
总结来说,这个资源包提供了大量适用于GIS项目的图标,不仅满足了基本的GIS功能需求,也为个性化设计提供了便利。对于GIS开发者而言,这是一份宝贵的素材库,有助于创建出直观、美观且高效的GIS应用。同时,结合...
本文档总结了中国矿业大学(北京)2013年GIS基础考研真题.doc的主要知识点,涵盖了GIS的基本概念、栅格数据、DEM模型、投影、缓冲区分析、拓扑关系、空间关系、栅格数据结构、矢量数据结构、编码方法、计算方法、...
2021年GIS知识点总结 地理信息定义:地理信息是关于地理实体和地理现象性质、特性和运动状态表征和一切有用的知识,它是对表达地理特性与地理现象之间关系的地理数据解释,而地理数据则是对地理特性和现象间关系...
在GIS工程实践中,没有放之四海而皆准的设计方法,但可以通过总结标准法则和经验,为特定项目提供指导。这需要工程师根据实际情况灵活应用,发挥创新精神,确保GIS系统的高效、稳定和用户友好。 总之,GIS设计与...
总结来说,TopMap、ArcInfo和SuperMap Objects都是组件GIS产品中的佼佼者,分别以易用性、全面性和灵活性为特点,满足不同开发者和应用场景的需求。这些产品不仅推动了GIS技术的发展,也为各行业的信息化建设提供了...
开发语言可选用Python、Java、C#等,常用GIS库有GDAL/OGR、QGIS API、ArcGIS API for Python等。同时,前后端分离的设计模式和RESTful API的使用也是现代GIS项目开发的趋势。 六、GIS地图服务 GIS项目往往需要提供...
2. **GIS数据源考察**:可能会提问:“请列举至少三种GIS常用的数据源,并分别阐述它们的特点。”这里的数据源可以包括卫星影像、航空照片、数字地形模型(DTM)、矢量地图等。 3. **GIS技术比较**:题目可能设置为...
GIS(Geographic Information System,地理...总结,GIS设计与实现涵盖了数据的获取、存储、分析、展示等多个环节,涉及多种技术和方法。理解和掌握这些知识点,对于提升地理信息处理能力和开发高效GIS应用至关重要。
### 2017 ESRI GIS大赛个人组试题总结及答案 #### 1. 克里金插值法的理论核心及其应用 克里金插值法是一种在地理信息系统(GIS)领域广泛应用的空间插值技术,其理论核心是**变异分析**。变异分析通过研究随机过程...
总结来说,GIS是一个强大的工具,它将地理信息与信息技术结合,通过坐标系和地图投影解决了从球面到平面的转换问题,广泛服务于现代社会的多个领域,提升了数据分析和决策制定的效率与准确性。理解并掌握GIS的基础...
GIS(Geographic Information System,地理信息系统)是一种集成了...课程可能还会涉及常用的GIS软件,如ArcGIS、QGIS等的操作教程,帮助你熟悉软件界面和功能。记得在实践中不断巩固理论知识,提高自己的GIS技能。
4. 空间分析方法:介绍GIS常用的空间分析工具,如缓冲区分析、网络分析、地形分析等,并结合具体案例说明其应用。 5. 模型构建与应用:针对选题建立合适的地理模型,如基于GIS的最短路径算法或空间叠加分析,阐述...
总结,GIS数据处理技术涵盖数据的获取、管理、分析和呈现等多个环节,是地理信息科学的基础。随着技术的发展,GIS在城市规划、环境保护、灾害应急等领域发挥着越来越重要的作用。掌握这些技术,能帮助我们更好地理解...
#### 六、总结 综上所述,SuperMap、MapGIS、MapInfo和ArcGIS各自具有独特的优势。SuperMap凭借其开放性、可扩展性和高性能,在国内外市场取得了显著的成绩;MapGIS则更多地服务于定制化的项目需求;MapInfo在数据...
文章首先分析了MapInfo地图数据格式,这是嵌入式GIS常用的数据源。MapInfo的数据由MIF和MID文件组成,其中MIF文件存储空间数据,MID文件存储属性数据。由于MapInfo地图没有明确的拓扑关系,它通过特定的地理运行符和...