精华内容
下载资源
问答
  • 由之前安装ArcBruTile插件转换成将百度地图适配为标准的WMTS服务,感谢大佬cehui0303 1.打开ArcMap,使用Catalog添加WMTS服务,url输入 http://demo.cxgis.com/wmts/baidu/vec?request=getcapabilities 2.点击...

     OpenStreetMap获取城市路网数据

        1. 数据获取:

        方法一:通过Overpass API http://www.mapboxx.cn/article/osm-way/

            注:文中成都市的ID写错了,应该是2110264,2782246是贵阳市ID

                                                                 

            2020.7更新:发现上面的网址失效了,又找了一个[点击此处跳转]

        方法二通过ArcGIS Editor for OSM插件的Download OSM Data工具下载 

        方法三通过Overpass Turbo

        据该博主所说:下载下来的并不单单是road,而是road、water、waterway等数据混到一起的

        OSM道路分类:https://wiki.openstreetmap.org/wiki/Key:highway

        OSM路网可视化(以图片形式):https://anvaka.github.io/city-roads/

        附上下载的成都数据:https://download.csdn.net/download/sinat_36226553/12541256

    .osm 文件格式是OpenStreetMap所特有的。OSM数据的设计是为了在互联网上以标准格式轻松发送和接收。因此,.osm文件是用XML编码的,并以结构化、有序的格式包含地理数据。

    原始OSM数据通常存储在.osm文件中,但你也可能看到以.bz2.pbf结尾的文件。这些文件基本上都是.osm文件,只是被压缩以节省空间,这在处理大型数据文件时非常有用 [来源]

        2. 数据转换

         方法一(GeoConverter转换服务)https://blog.csdn.net/lyandgh/article/details/103832308

              xml或json转shapefile : GeoConverter网站

              注:成都市下载下来的interpreter.txt有73.4M,转换的时候容易网络出错

            转换生成的数据共4个:points、multilinestrings、lines、multipolygons(据了解是居民地面状图层)。

        方法二(ArcGIS Editor for OSM)https://jingyan.baidu.com/article/adc815139f66c2f723bf7383.html

        下载地址:ArcGIS Editor for OSM 10.2 10.3 10.4 10.5 10.6 10.7 10.8

        注:安装完ArcGIS Editor for OSM,若在ArcToolbox中没有看到OpenStreetMap Toolbox。可以右键【添加工具箱】,找到ArcGIS安装目录下的/ArcToolbox/Toolboxes/OpenStreetMap Toolbox.tbx文件添加。(添加成功后,再右键选择【保存设置】-【至默认】,否则下次打开ArcMap,又需要重新添加一次OpenStreetMap工具箱

        转换的结果包括point、line、polygon还有两个数据表relation和revision

        对比两种方法的转换结果,可以看到一些不同之处

        点状数据(方法一与方法二)

        面状数据(方法一与方法二)

        除了肉眼可见的差异,还有属性表值的不同。方法一的属性表有乱码、字段信息模糊等情况,而方法二的属性表则十分规范、整齐(似乎数据缺失了name字段)。方法一常常会因为外网问题转换失败(跟数据大小有一定关系),本文展示的数据是在尝试多次后偶然得到了,但转换速度较快(如果翻墙的话大概2分钟就能转换完),而方法二则耗费了不少时间。

        从目的上来说,我们是为了获取路网数据才做的这些操作,所以只应该关心线数据的质量。两种方法获取的线数据整体上差异不大,ArcGIS Editor for OSM转换获得的数据属性表信息更加清楚,为了方便、快捷可以选择方法一,否则更推荐方法二。

    总结

        拿数据量较小的试了试(贵阳市 21.1M),从转换速度来说,还是GeoConverter转换的更快(差异比较明显),但是从转换质量上来说,还是ArcGIS Editor for OSM更好。

                                          

    其他

        其实也可以使用OSM上的Geofabrik下载,将整个中国的数据下载下来,再根据所需截取数据

      (中国最新数据下载地址:https://download.geofabrik.de/asia/china-latest-free.shp.zip

        这个数据的优势在于属性信息比较多,更方便我们筛选、研究(方法二的属性表中虽然有很多字段,但似乎只有highway字段信息较完善

    ArcMap加载百度地图

        由之前安装ArcBruTile插件转换成将百度地图适配为标准的WMTS服务,感谢大佬cehui0303

        1.打开ArcMap,使用Catalog添加WMTS服务,url输入

    http://demo.cxgis.com/wmts/baidu/vec?request=getcapabilities

        2.点击确定,成功添加服务

        3.将图层拖入视图,放大即可看到百度地图

        4.在QGIS中,使用GeoHey插件[链接],把坐标系准换为BD09(火星坐标系) ,图中橙色部分是BD09,蓝色部分是原坐标系

        5.最终结果

       ⭐希望大家多多点赞、收藏!

    展开全文
  • 大数据预处理之数据转换

    千次阅读 2019-06-26 15:57:46
    数据转换就是将数据进行转换或归并,从而构成一个适合数据处理的描述形式。数据转换包含以下处理内容。 1)平滑处理 帮助除去数据中的噪声,主要技术方法有 Bin 方法、聚类方法和回归方法。 2)合计处理 对数据...

    数据转换就是将数据进行转换或归并,从而构成一个适合数据处理的描述形式。数据转换包含以下处理内容。

    1)平滑处理

    帮助除去数据中的噪声,主要技术方法有 Bin 方法、聚类方法和回归方法。

    2)合计处理

    对数据进行总结或合计操作。例如,每天的数据经过合计操作可以获得每月或每年的总额。这一操作常用于构造数据立方或对数据进行多粒度的分析。

    3)数据泛化处理

    用更抽象(更高层次)的概念来取代低层次或数据层的数据对象。

    例如,街道属性可以泛化到更高层次的概念,如城市、国家,数值型的属性,如年龄属性,可以映射到更高层次的概念,如年轻、中年和老年。

    4)规格化处理

    将有关属性数据按比例投射到特定的小范围之中。例如,将工资收入属性值映射到 0 到 1 范围内。

    5)属性构造处理

    根据已有属性集构造新的属性,以帮助数据处理过程。

    下面将着重介绍规格化处理和属性构造处理。

    规格化处理就是将一个属性取值范围投射到一个特定范围之内,以消除数值型属性因大小不一而造成挖掘结果的偏差,常常用于神经网络、基于距离计算的最近邻分类和聚类挖掘的数据预处理。

    对于神经网络,采用规格化后的数据不仅有助于确保学习结果的正确性,而且也会帮助提高学习的效率。对于基于距离计算的挖掘,规格化方法可以帮助消除因属性取值范围不同而影响挖掘结果的公正性。

    下面介绍常用的3种规格化方法。

    1. 最大最小规格化方法

    该方法对被初始数据进行一种线性转换。

    例如,假设属性的最大值和最小值分别是 98 000 元和 12 000 元,利用最大最小规格化方法将“顾客收入”属性的值映射到 0~1 的范围内,则“顾客收入”属性的值为 73 600 元时,对应的转换结果如下。

    (73 600-12 000)/(98 000-12 000)*(1.0-0.0) + 0 = 0.716

    计算公式的含义为“(待转换属性值-属性最小值)/(属性最大值-属性最小值)*(映射区间最大值-映射区间最小值)+映射区间最小值”。

    2. 零均值规格化方法

    该方法是指根据一个属性的均值和方差来对该属性的值进行规格化。

    假定属性“顾客收入”的均值和方差分别为 54 000 元和 16 000 元,则“顾客收入”属性的值为 73 600 元时,对应的转换结果如下。

    (73 600-54 000)/16000 = 1.225

    计算公式的含义为“(待转换属性值-属性平均值)/属性方差”。

    3. 十基数变换规格化方法

    该方法通过移动属性值的小数位置来达到规格化的目的。所移动的小数位数取决于属性绝对值的最大值。假设属性的取值范围是 -986~917,则该属性绝对值的最大值为 986。属性的值为 435 时,对应的转换结果如下。

    435/10^3 = 0.435

    计算公式的含义为“待转换属性值/10”,其中,j 为能够使该属性绝对值的最大值(986)小于 1 的最小值。

    属性构造方法可以利用已有属性集构造出新的属性,并将其加入到现有属性集合中以挖掘更深层次的模式知识,提高挖掘结果准确性。

    例如,根据宽、高属性,可以构造一个新属性(面积)。构造合适的属性能够减少学习构造决策树时出现的碎块情况。此外,属性结合可以帮助发现所遗漏的属性间的相互联系,而这在数据挖掘过程中是十分重要的。

    推荐学习目录:31.HBase常用Java API
    32.HBase Java API编程实例
    33.Hadoop MapReduce
    34.Hadoop MapReduce架构
    35.Hadoop MapReduce工作流程
    36.MapReduce案例分析:单词计数
    37.Hadoop MapReduce工作机制
    38.MapReduce编程实例
    39.Spark简介
    40.Spark RDD

    展开全文
  • 什么是数据转换

    千次阅读 2018-12-03 17:39:49
    数据转换定义 数据转换是将数据从一种格式或结构转换为另一种格式或结构的过程。数据转换对于数据集成和数据管理等活动至关重要。数据转换可以包括一系列活动:您可以转换数据类型,通过删除空值或重复数据来清理...

    数据转换定义

    数据转换是将数据从一种格式或结构转换为另一种格式或结构的过程。数据转换对于数据集成和数据管理等活动至关重要。数据转换可以包括一系列活动:您可以转换数据类型,通过删除空值或重复数据来清理数据,丰富数据或执行聚合,具体取决于项目的需要。

    通常,该过程涉及两个阶段。

    在第一阶段,您:

    • 执行数据发现,以识别源和数据类型。
    • 确定需要发生的结构和数据转换。
    • 执行数据映射以定义各个字段的映射,修改,连接,过滤和聚合方式。

    在第二阶段,您:

    • 从原始源提取数据。源的范围可以变化,包括结构化源(如数据库)或流式源(如连接设备的遥测)或使用Web应用程序的客户的日志文件。
    • 执行转换。您可以转换数据,例如聚合销售数据或转换日期格式,编辑文本字符串或连接行和列。
    • 将数据发送到目标商店。目标可以是处理结构化和非结构化数据的数据库或数据仓库。

    为何转换数据?

    出于多种原因,您可能希望转换数据。通常,企业希望转换数据以使其与其他数据兼容,将其移动到另一个系统,将其与其他数据连接,或者聚合数据中的信息。

    例如,请考虑以下情形:您的公司已购买了较小的公司,您需要为人力资源部门合并信息。购买的公司使用与母公司不同的数据库,因此您需要做一些工作以确保这些记录匹配。每个新员工都已获得员工ID,因此这可以作为一个关键。但是,您需要更改日期的格式,您需要删除任何重复的行,并且您必须确保Employee ID字段没有空值,以便考虑所有员工。在将数据加载到最终目标之前,所有这些关键功能都在暂存区域中执行。

    转换数据的其他常见原因包括:

    • 您正在将数据移动到新的数据存储; 例如,您正在迁移到云数据仓库,您需要更改数据类型。
    • 您希望将非结构化数据或流数据与结构化数据相结合,以便您可以一起分析数据。
    • 您希望向数据添加信息以丰富它,例如执行查找,添加地理位置数据或添加时间戳。
    • 您希望执行聚合,例如比较来自不同地区的销售数据或来自不同地区的总销售额。

    数据是如何转换的?

    有几种不同的方法可以转换数据:

    • 脚本。一些公司使用SQL或Python通过脚本执行数据转换,以编写代码来提取和转换数据。
    • 内部部署ETL工具。ETL(提取,转换,加载)工具可以通过自动化流程来完成脚本转换的大部分痛苦。这些工具通常托管在您公司的站点上,可能需要大量的专业知识和基础架构成本。
    • 基于云的ETL工具。这些ETL工具托管在云中,您可以利用该供应商的专业知识和基础架构。

    数据转换挑战

    由于多种原因,数据转换可能很困难:

    • 耗时。您可能需要广泛清理数据,以便转换或迁移它。这可能非常耗时,并且是使用非结构化数据的数据科学家的常见抱怨。

    • 费钱。根据您的基础架构,转换数据可能需要专家团队和大量的基础架构成本。

    • 慢。由于提取和转换数据的过程可能会给您的系统带来负担,因此通常会分批进行,这意味着您可能需要等待最多24小时才能处理下一批。这可能会花费您时间做出业务决策。

    大规模管理数据并不难。了解完全免费的  开源HPCC Systems  平台如何使其更易于更新,更易于编程,更易于集成数据以及更易于管理群集。 立即下载并开始  使用。

    展开全文
  • 批量txt数据转换为excel

    千次阅读 2019-09-18 16:27:40
    批量txt数据转换为excel 日常工作中经常会遇到大量的数据处理,尤其是大量的txt文件需要转换为excel,只能一个个粘贴复制,有了如下代码,分分钟即可完成繁琐的数据处理工作。 环境准备 需要python和python里的...

    批量txt数据转换为excel

    日常工作中经常会遇到大量的数据处理,尤其是大量的txt文件需要转换为excel,只能一个个粘贴复制,有了如下代码,分分钟即可完成繁琐的数据处理工作。

    环境准备

    需要python和python里的pandas库和openpyxl库,如果没有可以到管网下载python,并利用pip install + 库名进行pandas库和openpyxl库的安装。

    代码

    首先,我们需要读取文件中txt文件的名称。导入os库进行名称读取。

    import os
    import pandas
    def file_name(file_dir):
        for root,dirs,files in os.walk(file_dir):
                dirs_name = files
        return dirs_name
    fils = list(file_name(r'E:\python idea\EVP'))
    

    利用os库,我们可以拿出file_dir目录下的root(路径)、dirs(文件夹名称)、files(文件名)。本次我们只需要文件名,所以return文件名。利用file_name函数拿出文件名后,用list函数把它变成列表,便于循环。
    然后,我们需要利用pandas拿到txt中的数据。先建立一个空的DataFrame用于储存数据。

    data_new = pd.DataFrame()
    for i in fils:
        data = pd.read_table(r'E:\python idea\EVP\\' + i,header=None,encoding='gbk',delimiter='\s+',index_col=0)
        data_new = pd.concat((data_new,data))
    

    然后循环fils,拿出文件名,利用pandas中的read_table函数拿出txt数据。read_table函数第一个参数为文件所在位置,header参数为有无列标签,encoding为编码方式,delimiter=’\s+'这个参数可以去掉所有的空格,试用于很多空格的txt,index_col=0这个参数可以把第一列变为行索引。最后利用concat函数拼接即可完成数据读取。
    最后利用pandas中的to_excel进行数据的输出,完整代码如下:

    import pandas as pd
    import os
    
    def file_name(file_dir):
        for root,dirs,files in os.walk(file_dir):
                dirs_name = files
        return dirs_name
    fils = list(file_name(r'E:\python idea\EVP'))
    # fils1 = fils[:400]
    # fils2 = fils[400:]
    # print(fils1)
    
    data_new = pd.DataFrame()
    for i in fils:
        data = pd.read_table(r'E:\python idea\EVP\\' + i,header=None,encoding='gbk',delimiter='\s+',index_col=0)
        data_new = pd.concat((data_new,data))
    # print(data_new[0:10000000])
    data_new[0:10000000].to_excel(r'E:\python idea\EVP\evp.xlsx',sheet_name="sheet1")
    data_new[10000000:].to_excel(r'E:\python idea\EVP\evp.xlsx',sheet_name="sheet2")
    

    由于数据量太大还进行了分块转换。

    新增了一个封装更好的代码,txt文件没有列名,自己指定就好:

    import pandas as pd
    import os
    def Search_File(dirname,suffix):
        '''
        This function can search all files with the specified suffix in this dir.
        :param dirname: string, the path need to be searched
        :param suffix: string, the specified suffix need to be seached
        :return:
        filter_list: list, the path list need to be searched.
        '''
        filter = [suffix]  # 设置过滤后的文件类型 当然可以设置多个类型
        filter_list = []
        for maindir, subdir, file_name_list in os.walk(dirname):
            #print(maindir) #当前主目录
            for filename in file_name_list:
                apath = os.path.join(maindir, filename)#合并成一个完整路径
                portion = os.path.splitext(apath)
                ext = portion[1]  # 获取文件后缀 [0]获取的是除了文件名以外的内容
    
                if ext in filter:
                    newname = portion[0] + suffix
    
                    filter_list.append((newname,portion[0].split("\\")[-1]))
        # print(filter_list)
        return filter_list
    
    
    
    def acc_data_to_excel(file_name_list):
    	'''
    	file_name_list:the result of Search_File function.
    	return:data_sum , DateFrame.
    	'''
        data_sum = pd.DataFrame()
        for dir,name in file_name_list:
            data = pd.read_table(dir,names=["station","b1","b2","b3","year","month","day","evp","evp_e601","a1","a2"],delimiter='\s+')
            data_sum = data_sum.append(data)
        return data_sum
        # data_sum.to_excel(r"EVP_every_day.xlsx")
        # print(data_sum)
    
    file_list = Search_File(r"E:\python idea\EVP",".txt")
    data = acc_data_to_excel(file_list)
    data1 = data.iloc[:int(int(data.shape[0])/3),:]
    data2 = data.iloc[int(int(data.shape[0])/3):int(int(data.shape[0])/3)*2,:]
    data3 = data.iloc[int(int(data.shape[0])/3)*2:,:]
    data1.to_excel(r"evp_day1.xlsx",sheet_name="Sheet1")
    data2.to_excel(r"evp_day2.xlsx",sheet_name="Sheet1")
    data3.to_excel(r"evp_day3.xlsx",sheet_name="Sheet1")
    
    展开全文
  • 矢量数据向栅格数据转换方法

    千次阅读 2019-10-19 10:36:11
    文章目录栅格数据结构矢量数据结构 栅格数据结构 栅格数据 栅格数据局结构–>>像元阵列 像元行列号确定位置 每个像元有对应的像元值,记录他的属性 每个像元有且只有一个值。 编码用—>&...
  • Python3 如何使用Pandas库将日数据转换为周数据、月数据或季度数据 最近碰到了需要对某只股票的时间序列日数据,转换为3天、5天、周数据、月数据、甚至两月一次的数据(bimonthly data)的需求,做个笔记记录一下: ...
  • ArcGIS将excel经纬度数据转换为shp点数据

    千次阅读 多人点赞 2020-08-13 18:55:13
    二、将.xls/.xlsx数据转换成.csv(非必须) 这并不是必须的一步,但是如果excel中只有一个sheet,强烈推荐这种方法,转换成.csv可以减少很多错误。转换方法也很简单,使用office/wps打开数据表,另存为csv文件(使用...
  • 非结构化到结构化数据转换的研究与实现[D]. 西南交通大学, 2013. 文中提到了一种方法:非结构化数据(通过提取有关的元数据)——>xml文档(根据约束条件)——>结构化数据 通过这样的方式来使得数据从...
  • vue与element表格数据转换

    千次阅读 2018-08-02 18:50:20
    但是怎么在表格中显示成男和女呢,这里就需要用到数据转换 formatter属性 1.第一步给返回的数据添加数据转换方法 2.第二步在methods中写数据转换方法,此处为formatRole //数据转换 formatRole: functio.....
  • R语言将数据库数据转换为数据框

    千次阅读 2020-02-21 14:59:14
    R语言将数据库数据转换为数据框,str后能直接查看数据库中的字段名称
  • 简介 提供一种方便、简捷、...从而避免在做数据转换这类最基本而简单的GIS操作时,却要进行的软件安装,注册破解、软件学习、功能查找、硬件环境升级等一系列人力消耗或资源消耗。并且软件硬件要求低,可以在普...
  • 怎么把javaweb的后台数据转换成json数据格式, 然后在jsp用el表达式输出request域中的数据, 求大神回答 ,最好有例子,谢谢
  • json数据转换工具

    热门讨论 2018-07-13 20:38:52
    用来转换.json文件,不用手动的去操作,只需放在json文件目录下,运行即可
  • 并行数据转换为串行数据的转换器

    万次阅读 2017-07-24 12:04:16
    这篇文章写一下今天早上设计的并行数据到串行数据转换器,也算是对并行总线和串行总线一个小小的应用,编码过程中也用到了task。 该转换器主要实现的功能是: 1、把并行地址存入寄存器 2、把并行数据存入寄存器 3...
  • C语言怎么把浮点型float数据转换为字符型char数据? 主要有两种方法,但显然都没有Python简单实用! 第一种方法 这种方法显然对
  • 数据转换(Transformation),即通过从一个或多个 DataStream 生成新的DataStream 的过程,是主要的数据处理的手段。Flink 提供了多种数据转换操作,基本可以满足所有的日常使用场景。 所有的转换操作可分为: 单 ...
  • 在进行python数据分析的时候,首先要进行数据预处理。 有时候不得不处理一些非数值类别的数据,嗯, 今天要说的就是面对这些数据该如何处理。 目前了解到的大概有三种方法: 1,通过LabelEncoder来进行快速的转换...
  • 如何将数据转换为时间序列数据

    万次阅读 2018-06-11 18:18:13
    如何将数据转换为时间序列数据 生活中股票、金融等数据是随着时间的变化的序列数据。这些数据是根据预定义的变量并在固定的间隔时间采集的。时间序列数据最主要的特征就是其顺序是非常关键的。 为了对这些数据进行...
  • 提供一种方便、简捷、易学、易用的栅格数据格式\范围\坐标系统的转换,可以提供栅格向矢量网格和...从而避免在做数据转换这类最基本而简单的GIS操作时,却要进行的软件安装,注册破解、软件学习、功能查找、硬件环...
  • 结构化数据转换方式之一:box-cox转换

    万次阅读 多人点赞 2017-09-06 11:42:50
    之前在《笔记︱信用风险...**笔者将其定位于对自变量的数据转换。 现在来看看对于因变量的数据转换:BOX-COX转换。** 内容主要参考交大的课件:BoxCox-变换方法及其实现运用.pptx 优势: 线性回...
  • el-table-column 数据处理、数据转换

    千次阅读 2020-02-28 19:51:12
    在Element UI table中 我们需要用到 formatter 属性来格式化内容 <el-table-column prop="hasBack" label="是否有多服务" :formatter="hasBackFormat"><... //是否多服务数据处理 ...
  • 非正态分布数据转换成正态分布

    万次阅读 多人点赞 2018-11-22 22:32:58
    即将原始数据X的对数值作为新的分布数据: X’=lgX 当原始数据中有小值及零时,亦可取X’=lg(X+1) 还可根据需要选用X’=lg(X+k)或X’=lg(k-X) 对数变换常用于 (1)使服从对数正态分布的数据正态化。如...
  • 13.数据转换之python日期格式处理

    万次阅读 2020-02-09 13:14:05
    原因:在做数据清洗的时候,往往会遇到数据格式不一致的情况,因此需要数据转换。 常见的数据转换: 日期格式数据处理 字符串数据处理 高级函数数据处理 日期格式数据处理 Pandas使用to_datatime()方法将文本...
  • 大部分的数据分析都希望原始数据是满足正态分布的定距变量。然而,显示是残酷的,在各种研究中,常常需要面对非正态分布的定距数据。为了解决数据的正态性问题,数学家们总结了很多转化方法,但是没有万能神药,都...
  • 这些方法统一可以称为数据转换(Data Transform)。 一句话解释版本: 数据转换就是通过标准化、离散化与分层化让数据变得更加一致,更加容易被模型处理。   数据分析与挖掘体系位置 数据转换是有数据预处理中...
  • 浮点数与字节数据转换详解

    万次阅读 2017-10-23 21:01:54
    本文参考网络上的诸多文章,首先分析了单精度浮点数是如何在机器中存储的,然后将浮点数转换为内存中显示的字节数据,进而又将字节数据转换为单精度浮点数。主要用于对数据存储的分析和字节流转换为有效数据方面。
  • Python数据和matlab数据转换

    千次阅读 2017-02-04 10:59:44
    1. Python数据和matlab数据转换 1.1 Python加载和写入.mat文件 File IO (scipy.io) See also numpy-reference.routines.io (in numpy)1212 MA
  • 在ajax请求获取的数据时String类型,对于用js操作这些数据有很大的阻挠,如果转换为JSON对象就很容易操作了。 举个例子 var data = this.responseText; console.log(data); 其余代码不赘述了,这里我用data接受了假...
  • matlab cell数据转换

    千次阅读 2018-09-21 15:33:54
    读取的数据经常是cell形式的,经常需要转换为mat形式,网上学了两种方式,记录一下: 1.strs=cellfun(@str2num, cell); 2.str=char(cell); data=char2num(str); --------------------- 本文来自 ji...
  • https://www.cnblogs.com/skullboyer/p/8134199.html8bit数据 转换为 16bit数据的四种方法unsigned char a = 0x12;unsigned char b = 0x34;unsigned int c = 0;如何把两个8位数据和在一起变成16位数据?一般情况下 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,939,182
精华内容 1,175,672
关键字:

数据转换