20210322业务总结:批量出gis图

通常在有了excel表格之后导入gis一张张出图很麻烦,用pyecharts可以将这一过程快速简化。示例的可视化单元是河南省市级单元,注意这里在存储文件的时候用正则表达式实现简单的自动命名。

如果不加range_color就是默认的色带颜色,如果想要自定义,可以独立修改,也可以专门设计一个字典colors存储不同的色带颜色,然后通过自动colors[i]自动替换颜色。

from pyecharts.charts import Map
from pyecharts import options as opts
import pandas as pd
# 城市 -- 指定省的城市 xx市
df= pd.read_excel('E:/砖/河南省国土空间规划/主要人口分配指标.xlsx',sheetname = 'Sheet2')
# from Map_tables.data_tools import city, values2
city = ['郑州市', '开封市', '洛阳市', '平顶山市', '安阳市', '鹤壁市', '新乡市', '焦作市', '濮阳市', '许昌市',
        '漯河市', '三门峡市', '南阳市', '商丘市', '信阳市', '周口市', '驻马店市', '济源市']
for i in range(7):
    values2 = df.iloc[:,i]
    data = []
    for index in range(len(city)):
        city_info = [city[index], values2[index]]
        data.append(city_info)

    print(data)


    # 方法二 设置地图参数
    def base_info():
        map = Map()
        # 注意:这里是"河南' 不能是河南省
        map.add("河南省地图", data, "河南")
        map.set_global_opts(
            title_opts=opts.TitleOpts(title="Map-河南省地图"),
            visualmap_opts=opts.VisualMapOpts(max_=values2.max(), min_=values2.min(),range_color=['white','#BC8315']))

        return map


    c = base_info()
    c.render(path="E:/砖/河南省国土空间规划/%s.html" % i)

如果为县级单元做分析,替换一些参数即可……

from pyecharts.charts import Map
from pyecharts import options as opts

# 城市 -- 指定省的城市 xx市
quxian = ['夏邑县', '民权县', '梁园区', '睢阳区', '柘城县', '宁陵县']
values3 = [3, 5, 7, 8, 2, 4]

data = []
for index in range(len(quxian)):
    city_info = [quxian[index], values3[index]]
    data.append(city_info)

print(data)


def map_shangqiu():
    c = (
        Map()
        .add("商丘-Map", data, "商丘")
        .set_global_opts(
            title_opts=opts.TitleOpts(title="Map-商丘地图"),
            visualmap_opts=opts.VisualMapOpts(max_=10),
        )
    )
    return c

c = map_shangqiu()
c.render(path="./html_files/商丘地图.html")

同理,世界地图:

from pyecharts.charts import Map
from pyecharts import options as opts

value = [95.1, 23.2, 43.3, 66.4, 88.5]
attr= ["China", "Canada", "Brazil", "Russia", "United States"]

data = []
for index in range(len(attr)):
    city_info = [attr[index], value[index]]
    data.append(city_info)

print(data)

def map_world():
    c = (
        Map()
        .add("世界地图", data , "world")
        .set_series_opts(label_opts=opts.LabelOpts(is_show=False))
        .set_global_opts(
            title_opts=opts.TitleOpts(title="Map-世界地图"),
            visualmap_opts=opts.VisualMapOpts(max_=100),
        )
    )
    return c


c = map_world()
c.render(path="./html_files/世界地图.html")

中国地图:

from pyecharts import options as opts
from pyecharts.charts import Map

province_distribution = {'河南': 45.23, '北京': 37.56, '河北': 21, '辽宁': 12, '江西': 6, '上海': 20, '安徽': 10, '江苏': 16, '湖南': 9, '浙江': 13, '海南': 2, '广东': 22, '湖北': 8, '黑龙江': 61, '澳门': 1, '陕西': 11, '四川': 7, '内蒙古': 73, '重庆': 3, '云南': 6, '贵州': 2, '吉林': 3, '山西': 12, '山东': 11, '福建': 4, '青海': 51, '舵主科技,质量保证': 1, '天津': 1}
provice=list(province_distribution.keys())
values=list(province_distribution.values())

data = []
for index in range(len(provice)):
    city_info = [provice[index], values[index]]
    data.append(city_info)


def map_base():
    c = (
        Map()
        .add("中国地图",data, "china")
        # is_show 是否显示城市标签
        .set_series_opts(label_opts=opts.LabelOpts(is_show=False))
         .set_global_opts(title_opts=opts.TitleOpts(title="Map-基本示例"))
    )
    return c


# c = map_base()
# c.render(path="./html_files/中国地图.html")

def map_visualmap():
    c = (
        Map()
        .add("中国地图", data, "china")
        .set_global_opts(
            title_opts=opts.TitleOpts(title="Map-VisualMap(分段型)"),
                # is_piecewise :是否分段显示
            visualmap_opts=opts.VisualMapOpts(max_=100, is_piecewise=True),
        )
    )
    return c

c = map_visualmap()
c.render(path="./html_files/中国地图2.html")

本文代码在博主“Python小学僧"的基础上测试修改而成。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: GIS批量出图只显示一个斑可能有以下几个原因: 1. 数据源选择错误:在批量出图过程中,需要选择正确的数据源。如果只显示一个斑,可能是因为数据源选择错误,只选择了其中一个斑的数据。 2. 制设置问题:在进行批量出图之前,需要进行制设置,包括层的显示范围、符号样式、标注等。如果只显示一个斑,可能是因为在制设置时层的过滤条件设置错误,导致只有一个斑符合条件而显示。 3. 数据属性问题:在批量出图时,需要通过属性筛选来选择要显示的斑。如果只显示一个斑,可能是因为需要显示的斑的属性与筛选条件不匹配,导致其他斑未被显示来。 4. 数据完整性问题:批量出图时,需要确保数据完整性,即每个斑的空间数据和属性数据都正常。如果只显示一个斑,可能是其他斑的数据现了问题,导致无法正常显示。 解决这个问题的方法包括:重新选择正确的数据源、检查并调整制设置、检查并修复数据属性问题、确保数据完整性。如果以上方法都无法解决问题,可能需要进一步检查软件设置或者咨询相关专业人员。 ### 回答2: GIS批量出图只显示一个斑可能是因为以下几个原因: 1. 数据源问题:批量出图时,可能只选择了一个斑的数据进行渲染和输。此时需要检查数据源设置是否正确,确保选择了所有需要显示的斑数据。 2. 符号设置问题:批量出图时,可能设置了同样的符号样式导致所有斑显示相同的符号。在符号设置中,需要为每个斑设置不同的符号样式,以便正确显示每个斑的特征和属性。 3. 条件过滤问题:如果在批量出图中进行条件过滤,可能设置的过滤条件只匹配到了一个斑,导致只有一个斑被显示来。需要检查过滤条件是否正确,并确保能够匹配到所有需要显示的斑。 4. 尺度范围问题:GIS软件通常支持设置显示的尺度范围,如果设置了较小的尺度范围,可能只能显示一个斑,其他斑会被过滤掉。需要调整尺度范围,确保所有斑都在显示范围内。 综上所述,批量出图只显示一个斑可能是由于数据源、符号设置、条件过滤或尺度范围等问题导致的。通过检查并调整相关设置,可以解决只显示一个斑的问题,确保所有斑正确显示在批量出图结果中。 ### 回答3: GIS批量出图只显示一个斑可能有以下几种原因: 1. 数据问题:可能是因为数据源中只有一个斑的属性或几何信息被正确读取,导致在批量出图过程中只有一个斑被显示来。这种情况下,可以检查数据源,确保所有斑的属性和几何信息都被正确导入和读取。 2. 筛选条件问题:在批量出图时,可能设置了筛选条件,只显示符合条件的斑。如果只显示一个斑,则说明设置的筛选条件可能过于严格或错误。需要检查筛选条件,并确保它们能够选择到正确的斑。 3. 样式设置问题:批量出图时,可能设置了相同的样式或符号来表示所有斑。如果所有斑都具有相同的样式和符号,就会导致在地上只显示一个斑。在这种情况下,需检查样式设置,并为每个斑指定不同的样式或符号。 4. 层叠置问题:在批量出图中,可能在地布局或编辑中设置了不正确的层叠置顺序,导致只显示最上层的一个斑。此时,应确保正确设置层叠置顺序,使所有斑都能正确显示。 总之,GIS批量出图只显示一个斑通常是由数据问题、筛选条件问题、样式设置问题或层叠置问题造成的。在进行批量出图时,需要仔细检查这些方面,并确保每个斑都能正确显示。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值