arcgis10.2 安装、打开.shp 地图文件及显示地图标注信息整理

场景:

        最近因为客户需求,需要把.shp的地图文件在百度地图上展示。

        通过前期的大致了解,我的思路就是,看下 .shp 文件能不能转成 包含坐标点的 json 文件,然后通过Java代码解析 json 文件,并导入数据库中保存。

       这样的话,就需要进行地图转换,通过咨询度娘得知,QGIS 和 arcgis 两款软件可以打开 .shp 文件,当我费了九牛二虎之力找到 QGIS 安装包并成功安装,经过客户技术的指导,打开 .shp 文件并显示标注信息,正准备进行坐标信息转换并转成json文件时,对方和我说的,转换坐标要 arcgis 软件…… 嗯……我很好,继续安装 arcgis 软件。

资源路径:

QGIS下载路径:链接:https://pan.baidu.com/s/1fo2Yaw1UsMYz7Fr5ytHrPA  提取码:ilnk 

arcgis中文版及破解 下载路径:链接:https://pan.baidu.com/s/1iLiY8Sls9oxa-917Q7fPHA  提取码:cqbc 

QCIS是客户技术发的,arcgis因为找的版本太多,忘记原来是在哪了,就直接贴云盘地址了。

安装、破解:

arcgis 安装教程:https://jingyan.baidu.com/article/e73e26c0cb5c1324adb6a791.html

里面也有下载地址,我没试下载,但是安装步骤跟着一步步走的,没有问题。

打开.shp文件:

百度教程:https://jingyan.baidu.com/article/046a7b3ef23054f9c27fa937.html#opennewwindow

 

显示标注:

上面一切都挺顺利的,但是客户给的地图截图上面是有标注信息的,而我这边打开完后的地图里面只有线条,没有显示标注信息,于是乎继续研究……试了好几种方法,终于成功了。

第一步: 在左侧选中图层,右键 --> 打开属性表

 

第二步:在打开的属性表中,根据需要显示的内容找到对应的标题,如果先前就得知,可以跳过这步

第三步:选中图层,右键 --> 属性 打开

 

第四步:选中你要显示的标注列名,需要多个组合展示的,选择表达式

第五步,设置表达式展示,如果是单列展示的,可以跳过

[列名] 

&  拼接标识

"-"  自定义的分割符

最终显示效果就是 01-123 这种,表达式根据需要自己进行书写。

设置完,点击确定保存。

第六步:点击放置属性,在新开窗口中勾选 仅在面内部放置标注

 

第七步:这是最重要的一步!!!网上找了很多都没说这个,导致我一直显示不出来

一定要勾选 标注此图层中的要素!!!

 

然后点击 应用,确定即可。

 

如果设置后还是无效,先检查第七步,一定要记得勾选!

 

ArcGIS 10.2的 arcpy 库中,你可以使用 `SaveAsKML` 函数将 Shapefile (shp) 导出为 KMZ 格式,并通过 KML 的 XML 结构来设置颜色和标签属性。以下是一个基本的步骤: 1. 首先,确保你已经打开了包含 Shapefile 的地理数据集,可以使用 `Open()` 函数打开它。 ```python # 打开 Shapefile 数据集 shapefile = r'C:\path\to\your\shapefile.shp' data = arcpy.Open_management(shapefile) ``` 2. 使用 `SaveAsKML()` 函数导出为 KMZ 文件,并指定输出路径及文件名。在这里你可以添加自定义的 KML 元素来设置颜色和标签属性,比如 `<Style>` 和 `<Placemark>` 中的 `<styleUrl>`、`<color>` 和 `description` 等字段。 ```python # 定义输出文件路径和名称,例如 "output.kmz" output_kmz = r'C:\path\to\output.kmz' # 创建 KML 文档对象并设置一些基本样式信息 doc = arcpy.mapping.KMLDocument() doc.stylesheetManager.styles.append(arcpy.mapping.SimpleMarkerSymbol()) # 添加默认图标 # 对于每个要素,创建 Placemark 并设置相应的颜色和描述 for feature in data: placemark = doc.createElement("Placemark") style_url = doc.createElement("styleUrl") color = doc.createElement("color") desc = doc.createElement("description") # 描述属性 # 设置颜色(示例:红色) color.text = 'FF0000' # hex 形式表示,如 FF0000 代表红色 # 设置描述属性 desc.text = str(feature.Attributes['Field_Name']) # 替换 Field_Name 为你的字段名 # 将样式链接到 Placemark 上 style_url.text = '#'+str(doc.stylesheetManager.getByName('SimpleMarkerSymbol').id) placemark.appendChild(style_url) placemark.appendChild(color) placemark.appendChild(desc) # 将 Feature 加入 Placemark placemark.appendChild(arcpy.mapping.FeatureClassToKML(feature)) # 将所有 Placemarks 添加到文档中 doc.root.appendChild(placemark) # 保存 KML 到 KMZ 文件 arcpy.SaveAsKML(doc, output_kmz) ``` 注意:这个例子假设你已经有了一个简单的样式表,并且你想基于某个字段值设置颜色和描述。你需要根据实际需求调整样式和属性设置。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值