- 浏览: 313980 次
- 性别:
- 来自: 苏州
文章分类
- 全部博客 (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 12541) 安装"license_server_setup ... -
显示所有图层菜单
2011-12-27 15:54 887// 菜单-------------------------- ... -
GISDemo
2011-12-27 09:24 1377111111111111111111 public clas ... -
GIS地图制作
2011-12-23 12:33 1057111111111111111111111111111111 ... -
使用ArcGis工具合并图层
2011-12-19 20:04 41331.开始编辑 2.选中要合并的图层:根据图层的编号,点击S ... -
使用ArcGis工具分离图层
2011-12-19 19:31 26551.准备该地区的单位网格图层 2.安装好ArcGis工具 ... -
动态加载地图代码段
2011-12-17 13:05 2361// 得到GridNo图层 eMyLayer l ... -
长按标记点
2011-12-16 15:12 725@Override public void OnLon ... -
GIS注册工具
2011-11-23 11:08 1082111111111111 -
贴图偏移值设置
2011-11-22 19:49 885取中间值 16*16 就是8,8 13*13 就是 6.5 ... -
矩形选
2011-11-22 14:07 879@Override public void OnGeom ... -
GPS定位
2011-11-22 10:11 902// GPS,定位到某个点 { // 边际物理坐 ... -
点选的实现
2011-11-22 10:04 911public class eMyMapWnd2 extend ...
相关推荐
了解数据采集方法,可以使用已有数据集或通过采集生成。 空间分析与处理: 设计空间分析模型,考虑空间关系和空间操作。 使用GIS工具进行数据处理,例如空间查询、缓冲区分析等。 地图制作与可视化: 制作地图以展示...
为了让水文地质工作者更加科学地选择底板突水危险性评价方法,首先,从理论上分析、对比了2种常用的底板突水评价方法——基于GIS的层次分析(Analytic Hierarchy Process,简称AHP)型脆弱性指数法和基于GIS的人工神经...
git常用命令总结,适合新手使用
分析总结常用GIS数据模型,并对GIS表达的地理空间重新进行重新理解,在此基础上提出整体GIS数据模型设计的观点
通过GIS的分析工具,主要是叠加分析、缓冲区分析、3D分析、地图代数、网络分析等一些常用的分析功能,结合GIS的高级制图输出,对城市规划中的生态敏感性分析、适建性分析容、积率分析、区域现状分析、绿地率、空地率...
地图投影是GIS和测绘遥感领域的基础内容,笔者对国内外主流电子地图的地图投影及转换做了系统的总结,包括google地图、baidu地图及国家测绘局的火星坐标系等,作出了说明,便于读者理解行业内常用地图投影。
矿图数据是煤矿企业正常生产过程中一项常用的重要基础资料,在总结现有矿图数据在CAD平台与GIS平台间转换方法研究成果及其缺陷的基础上,基于WCF分布式框架结构结合二次开发技术,提出了一种跨图形平台的矿图数据同步新...
介绍GIS(地理信息系统)中的坐标系的想法由来已久,因为工作中我发现有不少GIS 专业的学生在博士毕业后仍然在坐标系的概念理解和实际操作等方面不太清楚,而...因此以ArcGIS 为工具介绍坐标系的基本概念和常用操作。
针对基于GPS/GIS的浮动车数据特点,总结其中无效的数据类型,并给出数据有效处理的方法。以支持向量机原理、交通状态预测方法为基础,分析了常用支持向量回归机、核函数及模型参数的性能,以及各核函数及模型参数对...
1.2.3 常用GIS平台空间分析功能比较 1.3 ArcGIS 9概述 1.3.1 ArcGIS 9体系结构 1.3.2 ArcGIS 9软件特色 1.3.3 ArcGIS 9空间分析 第二章 ArcGIS应用基础 2.1 ArcMap基础 2.1.1 ArcMap的窗口组成 ...
通过不同的颜色和灰度来表示 9描述空间实体的两种基本方式 栅格 矢量结构 10空间数据的三个基本特征 空间特征 属性特征 时间特征 11空间数据的拓扑关系 邻接关系 关联关系 包含关系 12元数据的性质及几种常用形式 ...
对一些常用功能的python脚本进行总结,方便以后直接调用。 1. 根据属性值删除行 arcpy.MakeFeatureLayer_management(outputpath, parcels_lyr)#根据输入要素类或图层创建临时图层,如果不将此图层保持到磁盘或地图...
arcgis工具总结 1. 要素的剪切与延伸 实用工具 TASK 任务栏 Extend/Trim feature 剪切所得内容与你画线的方向有关。 2. 自动捕捉跟踪工具 点击Editor工具栏中Snapping来打开Snapping Environment对话框 捕捉设置...
本文以四种常用GIS软件平台为例,介绍了在这些GIS软件中有关地图投影的相关知识:地图投影的设置、地图投影的变换、坐标系的转换或范围指定,并对这几个软件关于地图投影方面的功能进行对比分析,总结了它们的异同。
文章在总结国内外常用的土壤重金属全量监测方法及原理的基础上,对化学分析法、仪 器分析法等异位监测方法和基于地理信息系统( GIS)、遥感( RS)和全球定位系统( GPS)的高光谱分析技术、环境磁 学技术及生物技术等原位...
最近做有关GPS轨迹上有关的东西,花费心思较多,对两个常用的函数总结一下,求距离和求方位角,比较精确,欢迎交流! 1. 求两个经纬点的方位角,P0(latA, lonA), P1(latB, lonB)(很多博客写的不是很好,这里总结...
docker19-postgis三个组件,每个组件都是当下比较常用的版本,并且其中还包含了现在比较流行的postgis,目前只有一个docker的安装文档,其他两个我这边还没总结,有需要的先自行百度一下安装方法,有需要的小伙伴快...
动态调用对象的属性和方法——性能和灵活性兼备的方法 消除由try/catch语句带来的warning 微软的应试题完整版(附答案) 一个时间转换的问题,顺便谈谈搜索技巧 .net中的正则表达式使用高级技巧 (一) C#静态成员和...