Arcgis学习+问题记录+解决方案

一、网络分析学习

【说明】实验内容和数据均来自ArcMap官网上,可以自行下载练习

gis学习(使用软件:ArcGIS 10.1)

实验4 定位器无法加载
实验6 复制要素时系统崩溃
实验7 地址查找功能无法使用(定位器加载系统崩溃)第二部分修改方案无法实现,站点无法添加
【问题描述】
选择地址定位器时跳出“ArcGIS for desktop 遇到严重应用程序错误”
【解决】
第一次尝试解决:csdn论坛上说了四种方法,删除模板文件,修改注册表,pyhton版本,禁用显卡(回退驱动程序方法不成功)但都没有解决
第二次尝试:下载补丁SP5,但官网上找不到连接,无法下载
第三次尝试:关闭安全卫士,找到安装程序,修复,仍未解决问题
第四次尝试:增加用户默认定位器,在C://user//用户名//APPDATA//ERIS//Roaming//ESRI//Desktop 10.2//Locators//DefaultLocaters.xml
【注】
1.该目录下的xml文件为用户默认地址定位器,而系统默认地址定位器在安装目录下
2.添加用户默认地位器后,添加的地址定位器会在系统默认地址定位器的上面
3.xml文件中只有一个</DefaultLocators/>根目录,需要在其内部进行添加</Locators/>

第五次尝试:卸载软件,下载10.2版本,成功解决。
【注】
1.完全卸载Arcgis10.1,先找到setup安装程序,点击remove移除,然后打开控制面板—程序—卸载程序,找到其他Arcgis相关软件,卸载,最后,打开注册表到HKEY_CURRENT_USER/software目录下删除ERIS项

可能的原因】在网络上查找解决方案,出现此问题的大部分为10.1版本,故猜测可能是10.1版本在win10上不稳定,如此反复出现问题不如卸载重装更省时省力 ̄ω ̄=

gis学习(使用软件:ArcGIS 10.2)

实验8 可以使用地址定位器查找地址,但对地址表进行地理编码时出现问题
【问题描述】
打开地理编码工具时,弹出“执行的操作不受支持”,随即闪退
【解决】
第一次尝试:重新编辑地址定位器,无法解决
第二次尝试:由于在对地址表进行添加地理编码时,提示没有要素类,没有oid,因此考虑到对表格式进行修改,在ArcCatalog中将xls表导出为dbs表,但该表无法添加到地图统一图层中
【注】
1.dbs表无法导出到地理数据库中,会提示被占用无权限错误,可以导出到一个空文件夹中

第四次尝试:在ArcCatalog中将xls表导出为个人地理数据库,导出到实验8地图中的默认数据库中,对地址表进行编码仍然无法打开地理编码工具,但是其他地理处理工具能正常使用,于是想到让软件回到原生状态,然后删除汉化包,问题解决
【注】
1.出现问题时首先想到的是数据格式是符合要求,可以对地址定位器进行重构,并对地址表进行格式转换,还是不行,于是想到提示“执行的操作不受支持”是否是软件权限问题,也许是配置文件或资源文件被修改,所以猜想汉化包可能对软件一些功能有些影响,将其卸载,重启软件,解决!

可能的原因】汉化包中的一些代码可能对软件本身的一些权限进行了修改,导致一些操作不受支持

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
很抱歉,我不能为您提供完整的ArcGIS Engine+C#旅游项目代码,因为旅游项目的代码需要根据具体需求进行设计和编写。但是,我可以为您提供一些可能用到的ArcGIS Engine+C#代码片段和示例,供您参考: 1. 加载地图 ```csharp //创建一个MapControl控件 AxMapControl mapControl = new AxMapControl(); //加载地图文档 mapControl.LoadMxFile(@"C:\data\map.mxd"); ``` 2. 显示图层 ```csharp //获取地图文档中的所有图层 IMap map = mapControl.Map; ILayer layer = null; for (int i = 0; i < map.LayerCount; i++) { layer = map.get_Layer(i); //将图层添加到MapControl控件中 mapControl.AddLayer(layer); } ``` 3. 查询要素 ```csharp //获取选中的图层 ILayer layer = mapControl.get_Layer(0); //创建查询过滤器 IQueryFilter queryFilter = new QueryFilterClass(); queryFilter.WhereClause = "NAME = '景点'"; //进行查询 IFeatureCursor featureCursor = (layer as IFeatureLayer).Search(queryFilter, true); IFeature feature = null; while ((feature = featureCursor.NextFeature()) != null) { //处理查询结果 } ``` 4. 添加要素 ```csharp //获取要素所在的图层 ILayer layer = mapControl.get_Layer(0); //创建要素 IFeature feature = (layer as IFeatureLayer).FeatureClass.CreateFeature(); //设置要素属性 feature.set_Value(feature.Fields.FindField("NAME"), "景点"); //添加要素到图层中 (feature as IFeatureEdit).Store(); ``` 以上代码仅供参考,实际开发中需要根据具体需求进行调整和完善。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值