首页 / 资讯中心 / 文章详情

要素数据到基础地理实体:转换技术规程关键要点与工程实践

要素数据到基础地理实体:转换技术规程关键要点与工程实践 ★ FEATURED ARTICLE
简介面向基础地理信息专业人员与技术管理人员这份技术规程围绕1∶500、1∶1 000、1∶2 000比例尺基础地理信息要素数据向基础地理实体数据的转换编制服务于新型基础测绘与实景三维中国建设也可为城市规划、建设和管理提供数据支撑。资源内容为一份PDF文档共1个文件压缩包大小924KB。规程系统规定了范围、引用文件、基本要求、作业流程、源数据收集分析、预处理、映射转换、语义化处理、质量控制与成果归档等环节并对时空基准、数据格式、精度粒度、生产元数据要求及过程质量检查验收作了明确说明为作业实施和质检提供统一依据。读者可借助其中的映射表制作、属性调整、实体关系获取和扩展属性丰富方法并结合格式转换、坐标转换、图幅接边等预处理要点建立标准化转换作业路径有效提升二维地理实体数据的生产效率与质量文档也提示组合、聚合地理实体生产需另行参考相关技术文件。目前已有204人学习下载适合相关单位技术人员在项目建设中对照使用。1. 这份技术规程到底在解决什么问题从要素到实体数据生产的一次“语义升级”如果你在测绘生产单位待过一定遇到过这样的场景手上有一套完整的 1:500、1:1000、1:2000 基础地理信息要素数据也就是我们常说的 DLG 数据分图层存放着房屋、道路、水系、植被、管线、控制点。领导突然要求交出“基础地理实体数据”说下一步要入库、要服务城市精细化管理。你打开数据一看要素是分图层、分线划的而实体是独立的、有身份编码的地理对象。这两者看着相似实际上从数据模型、几何组织到属性语义都是两个世界。这份《基于1:500、1:1000、1:2000基础地理信息要素数据转换生产基础地理实体数据技术规程》就是一座桥它把传统要素数据“翻译”成实体数据让已有的存量数据能够直接进入新型基础测绘数据库。这篇文章不替你把规程内容复读一遍而是按我实际做过转换项目的顺序把概念差异、转换流程、关键参数和踩坑点拆开讲清楚。适合正在接手实体转换任务的测绘作业员、数据质检工程师以及需要评估转换工作量与成本的项目负责人。2. 先弄清“要素”和“实体”的差别映射关系是转换的核心很多第一次接触这个方向的人以为实体数据就是把要素数据的图层合并一下、改个字段名。真拿去生产会被质检打回来无数次。要素和实体在底层不是同一种抽象方式理解这一点后面所有参数设置才有依据。2.1 基础地理信息要素和地理实体两个数据模型的本质差异基础地理信息要素是按“尺度”和“图层”组织的。比如 1:500 地形图里房屋是一个面图层房屋附属设施是另一个图层甚至房屋的台阶、雨棚单独成层。要素的表达服务于制图和基础测绘标准它关心“画出来像不像”因此会按照图式图例拆分得非常碎。地理实体则按“现实世界对象”组织。一栋房子从地面到屋檐、从主房到附属房只要属于同一个不动产单元或同一个建筑实体就要合并成一个完整实体并赋予一个全局唯一的实体标识码挂接实体名称、类型、地址、生命周期等信息。要素关心“怎么画”实体关心“是什么、和谁相连、边界在哪”。这就是为什么不能简单地用图层合并来代替转换。另一个差异在几何表达上。要素数据通常有严格的制图表达约束比如道路中心线和道路边线是分离的河流有边线、有结构线水域面边线和水涯线重合但分开存储。实体数据要求具备完整的拓扑关系和对象边界简单地说实体的面必须封闭、线必须连续、节点必须捕捉。把要素数据直接拿过来线不闭合、节点错位、面有自相交是家常便饭。所以转换绝不是一个字段映射脚本能干完的事必须做几何清理和重构。还有一个隐藏差异要素按国家标准图式分幅存储一栋房子可能处于两幅图的边缘在要素数据里被硬切成了两个多边形。实体要求这栋房子是一个完整对象跨图幅必须拼接。这种“图幅思维”到“实体思维”的转变是整个转换工作里工作量最大、也是最容易被低估的部分。2.2 要素到实体的分类映射表哪些要素能直接转哪些需要合并或拆分理解差异后第一件事不是急着写转换工具而是做一张“要素到实体的映射表”。不同比例尺、不同基础测绘生产单位的要素分类代码不完全一致但大体遵循国家标准《基础地理信息要素分类与代码》。实体分类也有相应的分类代码规则。映射表要明确哪些要素直接对应一个实体哪些多个要素合并成一个实体哪些一个要素拆成多个实体。我做过一个典型映射片段给你参考要素分类要素代码示例转换方向实体类型说明房屋面110101合并房屋实体同宗地内相邻房屋合并为一个房屋实体按幢处理房屋附属设施台阶、雨棚110102并入房屋实体不作为独立实体几何并入房屋范围道路中心线420101直接转道路实体线需建立道路面再提取中心线道路边线420102必选合并道路实体面左右边线构面与中心线建立拓扑河流结构线520201伴随水系实体结构线不单独产实体作为属性挂接高程点702101直接转高程点实体保留坐标和属性等高线702201直接转等高线实体需检查封闭性非封闭处中断管线检修井610103直接转管线附属实体需与管线实体建立连接关系植被面830100合并植被实体相邻同类型植被面合并去碎斑这张表只是示意实际项目里建议按本地数据字典逐条比对。你肯定要问合并规则怎么定规程里一般会给出“实体最小粒度”的描述比如房屋以“幢”为实体单元道路以“单条道路一段”为实体单元。这类描述落实到数据上就要靠空间关系判断两个面是否共边、共节点属性是否一致。这一步是整个转换方案设计的“牛鼻子”映射表做不对后面写再多脚本都是在将错就错。3. 从1:500/1:1000/1:2000数据到基础地理实体的生产流程分步落地映射表确定后就可以设计生产流程了。我所在的项目组用的是“先清洗、再转换、后检查”的三段式流程。这一章按实际生产顺序拆成三个小节每一步都能直接拿到生产环境里去对照。3.1 数据准备比例尺、坐标系统、数据格式“三查”转换之前必须做数据体检查三项缺一不可。第一查比例尺一致性。一份转换任务里原则上只能使用同一比例尺数据不能把 1:500 和 1:1000 数据混着转因为两者精度、采集指标、最小图斑规定都不同。如果项目范围有多个比例尺接边必须先把数据统一到同一个比例尺下常见做法是以大比例尺为准将小比例尺接边区域进行数据重测或内插。实际项目里1:500 和 1:1000 混合区域很常见尤其在城乡接合部如果强行转换实体边界会出现锯齿、错位质检时很容易被判定为“实体轮廓与影像超限”。第二查坐标系统。1:500、1:1000、1:2000 的大比例尺数据一般使用 2000 国家大地坐标系高斯-克吕格投影3度分带。但也有老数据是 1954 北京坐标系或 1980 西安坐标系。生产基础地理实体数据的要求是统一到 2000 国家大地坐标系确实用旧坐标系的先做坐标转换转换时要用当地坐标转换参数或控制点不能用分布式脚本直接套七参数。坐标转换的残差必须记录质检时要有转换报告。这一步最容易被省略但一旦坐标系统不一致后面所有空间分析都会失真。第三查数据格式和图层完整性。原始要素数据可能是 DWG、DGN、Shapefile 或某厂商私有数据库格式。规程通常要求转换输入是矢量格式且带有标准属性结构。如果是 CAD 数据需要先做符号化实体到 GIS 要素的转出确认分层正确图块炸开注记转为属性。这个环节非常耗时我建议写一个数据体检脚本自动统计每个图层要素个数、几何类型、空属性数量输出一份“数据体检报告”再人工抽样 5% 检查。数据准备不达标宁可不转也不要带病转实体。完成三查后整理出一份“数据源说明”包括比例尺、坐标系、中央经线、图层清单、要素分类代码版本、采集成图时间这些信息后续要写入实体的元数据。3.2 要素转实体的三个关键步骤几何处理、属性挂接、编码转换数据准备就绪后进入核心的转换阶段。常见做法是按“几何预处理 → 属性挂接 → 编码转换”三步走。第一步几何处理。目标是让要素几何满足实体要求。首先是线闭合处理把未封闭的房屋面、植被面自动检查并封闭利用相邻边捕捉或人工定位断点。其次是相邻实体合并根据映射表把同一实体的多个相邻多边形合并例如两个相邻仓库如果属性中“权利人”相同且中间无空地就合并为一个房屋实体。合并时注意公共边消除后边界要重新平滑吗一般不要平滑保持原始采集精度。然后是拓扑重建所有面实体要做到面与面不重叠、不留缝隙线与线在交点处打断。用 GIS 平台的拓扑工具或第三方库完成。最后是去除碎面小于最小图斑面积的碎斑直接并入相邻最大实体这个最小图斑值在 1:500、1:1000、1:2000 中各不相同第 4 章会讲具体取值。第二步属性挂接。实体数据除了几何还要有一整套属性框架。规程中基础地理实体一般包括实体标识码全局唯一、实体类型码、名称、地址可选、数据来源、信息时点、生命周期状态、生产单位、比例尺等。这些属性要从原始要素属性中提取和转换。比如房屋实体的楼层数、结构类型从房屋要素属性中拷贝缺少的属性要能通过“实体属性补采”环节补齐。属性挂接最容易出错的是“一对多”一个房屋要素拆成多个房屋实体和“多对一”多个要素合成一个实体时的属性聚合规则。默认规则是取主要素的属性主要素要提前定义比如合并房屋时取面积最大的那个要素的属性作为实体属性其他要素属性放入附属属性表。如果规则不明确就会出现同一实体各字段值互相矛盾。第三步编码转换。就是说把要素分类代码映射到实体分类代码。这部分需要建立完整的代码对照表不能只做表面替换。比如要素代码 110101一般房屋与实体分类码可能对应但一个要素代码是 110201垃圾台映射表里没有对应实体就得选择并入其他实体或转为一般设施实体。编码转换时要特别注意“分层编码”逻辑实体分类码可能是“大类中类小类细类”多级结构转换后必须通过合法性校验保证每一级都在允许枚举值范围内。一般这一步会和属性挂接同时进行但建议分开写脚本方便定位出错环节。下面是一个转换脚本的核心片段使用 Python 第三方GIS库的伪代码风格仅演示流程import geopandas as gpd def check_geometry(gdf): 检查几何有效性返回自相交、空几何列表 errors gdf[~gdf.geometry.is_valid] return errors def merge_adjacent(gdf, merge_key): 按 merge_key 合并相邻面要素同一 key 的面先 union 再保留属性 dissolved gdf.dissolve(bymerge_key, as_indexFalse) # 注意dissolve 后需要重新计算面积、周长等派生字段 return dissolved def clean_slivers(gdf, min_area): 将面积小于 min_area 的碎面并入相邻最大面 small gdf[gdf.geometry.area min_area].copy() large gdf[gdf.geometry.area min_area].copy() # 这里要遍历 small 的每个面找到相邻面积最大的 large 面并 merge # 实际实现要考虑索引效率常见做法是先做空间 join return large # 实际生产流程读取要素数据 - 几何检查 - 合并 - 清理碎面 - 属性映射 - 输出实体逻辑说明check_geometry在转换前用来定位有问题的几何不修好就不要进入下一步merge_adjacent按实体合并键比如房屋实体标识做融合clean_slivers按最小图斑面积清理碎面。参数说明merge_key来自属性映射结果比如同一幢房屋的多个面赋予同一个“临时实体ID”min_area来自比例尺对应的最小图斑设定不能随意填写。这个脚本只展示了框架真正的生产工具还要包含拓扑处理、跨图幅拼接后面会细说。4. 参数与配置怎么定精度、容差、最小图斑和属性映射的工程取值这一章是新手最容易犯糊涂的地方。规程给了很多“应符合规范”“不得大于”之类的描述但落地到软件里到底填多少需要根据比例尺和实际数据条件来折算。4.1 比例尺与实体精度要求1:500、1:1000、1:2000的差异不同比例尺的原始数据采集精度不同转出实体的精度继承原始比例尺但实体的边界综合要求会放松一些。以我的经验参考下面的参数表比例尺分辨力图上实地最小图斑面积面状实体节点坐标最小间隔长度最大误差相对备注1:5000.25 m一般不小于 1 平方米城市建筑区0.1 m0.1 m房屋合并时面积超过500平可按多幢处理1:10000.5 m一般不小于 4 平方米0.2 m0.2 m植被碎斑可放宽到 10 平方米1:20001 m一般不小于 10 平方米0.5 m0.5 m大范围自然区域如林地可放宽到 50 平方米注意这张表是参考值实际项目要按当地基础测绘成果更新要求核定。这里面有个易错点最小图斑不是绝对的它要服务于“实体识别”。在 1:2000 数据上一个 8 平方米的传达室如果是有名字的独立房屋结构也应该形成独立实体不能因为小于 10 平方米就合并掉。规程里通常会写“在保证实体拓扑关系正确的前提下可适当突破最小图斑限制”实际操作中要人工批量判定不能无脑过滤。另一个参数是实体边界相对影像的容差。生产实体后要用数字正射影像做套合检查1:500 数据一般允许实地 0.3 m 以内的位移1:1000 允许 0.6 m 以内1:2000 允许 1.2 m 以内。如果原要素数据是按图式采集的比如屋檐改正后的房屋边界和影像上看到的屋顶边缘本来就有系统性偏移这部分要做专门说明不能直接算不合格。4.2 容差参数和最小图斑设置转换不过度合并也不破碎几何转换工具里的容差设置要非常小心。通常有这几类捕捉容差用于节点捕捉和线闭合判断。在 1:500 数据上我习惯设 0.1 m即两个节点相距 0.1 m 以内视为同一个点1:1000 设 0.2 m1:2000 设 0.5 m。这个值不能大于制图综合最小间距比如图上 0.3 mm 对应实地距离。如果容差设太大两个本不该相连的房屋会被捕捉到一起产生“连体房”容差设太小线闭合失败后面自动构面时会出现大量小缺口。简化容差有些工具在合并后会做边缘简化这个字段我通常直接设为 0。实体边界应该沿用原始采集点不要用道格拉斯-普克算法抽稀否则会损失细节尤其在城市区域建筑轮廓的直角特征会被磨掉。若确实需要抽稀比如一条很长的自然河流边界简化容差不得大于该比例尺节点最小坐标间隔也就是 1:500 不超过 0.1 m。拓扑容差用于检测面重叠和缝隙。一般设为一个非常小的值比如 0.001 m毫米级是为了避免浮点计算误差引起的误判。如果设大了会出现“明明没有重叠却提示重叠”的错位。最小图斑设置应该做成参数文件按实体类型分别配置。我的一般做法是建一张配置表房屋实体 min_area1.0 max_merge_distance2.0 道路实体 min_area10.0 max_merge_distance5.0 水系实体 min_area20.0 max_merge_distance0.0 植被实体 min_area10.0 max_merge_distance1.0max_merge_distance是判断“相邻”的最大距离用于合并独立但相近的小图斑超过这个距离不合并。这个距离不应该用抓取容差代替因为抓取容差是硬性的几何一致性要求而合并距离是实体归并规则的一部分。我见过有人把所有实体都设为 0导致植被面碎得像麻子脸也有人设为 10 米结果把隔着一条马路的两个广场合并成一个这些都是血泪教训。4.3 属性字段映射与编码规则从要素代码到实体分类码的对照属性映射是整个规程里最需要人工把关的部分。字段映射不能只做同名拷贝因为要素属性表和实体属性表的结构完全不同。我整理一个常见映射对照实体字段来源字段转换方式示例实体标识码无生成用“行政区划比例尺实体类型顺序号”拼接生成后固化实体类型码要素分类代码查表要素代码 110101 - 实体类型码 11010100实体名称要素名称或注记同名拷贝取要素属性中“名称”字段无则取邻近注记数据来源常数填写填“1:500基础地理信息要素数据”信息时点要素时效性字段转换若为日期型直接拷贝文本型需解析生命周期状态无默认新建实体默认“现势”面积无计算由几何计算注意单位统一为平方米周长无计算由几何计算实体的分类码和要素分类码不是逐位对应的。大比例尺要素分类代码可能是 6 位数字实体分类代码可能是 8 位或更长。映射时要注意“同物不同码同码不同物”的陷阱。例如要素代码 230101 是“高速公路”但实体分类里可能分别为“高速公路上行”和“高速公路下行”两个实体如果原要素数据是单线表示就需要先判断道路宽度或者根据双向中心线拆分为两个实体。这类“一对多”映射要提前在映射表中标注“需要人工干预”不能写成自动规则。编码转换后必须做代码合法性校验。用 SQL 批量检查实体类型码是否在允许清单内-- 检查实体类型码是否合法假设码表在 dict_entity_type SELECT e.entity_id, e.entity_type_code, e.name FROM entity_data e LEFT JOIN dict_entity_type d ON e.entity_type_code d.code WHERE d.code IS NULL;这段 SQL 能把所有“码表外”的实体类型码查出来。逻辑说明entity_data是转换后的实体表dict_entity_type是实体分类码表通过左连接找出对应不上码表的记录。参数说明如果查出来很多说明映射表有遗漏需要回到映射环节补全而不是改码表去适配数据。我一般会把这个查询放在夜间批处理里第二天早上第一件事就是看有没有新增的未知码。5. 常见问题与排查转换过程遇到的“翻车”现场与解决思路无论做多少准备转换时总有一些反复出现的坑。这一章写我真实遇到过的几种问题按“现象 → 原因 → 解决”的格式列出来你可以对照排查。5.1 现象面实体转出后出现自相交或狭长“面片”某天作业员反馈一个房屋实体转出来的面是“麻花”形的看起来像两个面扭在一起。放大看边界有大量回折。原因是什么原始要素数据中同一幢房屋的的建筑轮廓线存在重复采集的边一个多边形里包含了一条从某点出发又折返回来的线段或者两个相邻多边形没有共边而是有 0.05 m 的重叠合并时没有做严格拓扑处理union 运算产生了自相交。解决思路在合并之前做一次buffer(0)或几何修复。buffer(0)是处理自相交的常见操作能消除面内部的微小褶皱但会轻微改变边界需在容差允许范围内使用。更稳妥的方法是用拓扑工具先把相邻面公共边捕捉一致再执行合并。另外建议在转换流程里增加“合并且自相交检查”环节每批次输出后跑一遍ST_IsValid检查不合格的实体自动退回不要留给质检员去挑。5.2 现象属性字段丢失实体分类码为空转换完成后统计发现 15% 的实体没有实体分类码。原因是原始要素数据的属性表里分类代码字段不是标准字段有的是“CODE”有的是“DLBM”还有的空着。属性映射脚本直接按字段名取值自然取不到。加上很多面要素是从 CAD 转出来的属性表根本没有分类代码字段而是在注记里标着“房屋”两个字。解决思路不能只做字段名映射要做“多字段兜底”规则。先按标准字段取取不到再按其他字段的模糊匹配比如属性里含有“房”字就推断为房屋类再不行就根据几何与影像结合人机交互赋码。在项目启动时要建立“属性缺失登记表”把这类问题集中处理。更长远的方式是在原始数据入库时强制要求要素分类代码完整性但这属于前序生产环节转换项目里只能事后补救这也算是一次“后悔药”经验接到转换任务后第一步不是写映射而是统计原始数据字段空值率这个指标很大程度上决定了总工作量。5.3 现象跨图幅实体被硬生生切成两段1:1000 数据按标准分幅存储一条穿过四个图幅的道路在每幅图里都有一条道路要素但它们的属性不完全一致有的是“交通主干道”有的是“道路”拼接后实体无法自动关联导致实体数量暴增且每段都有自己独立的实体标识码。这是因为分幅生产时同一地物在不同图幅里采集属性不一致转换脚本只按要素对象处理没有按空间连续性和名称属性进行“实体归并”。解决思路在转换前先做“跨图幅要素接边”处理。把相邻图幅的同名地物要素按空间拓扑关系连接起来。具体做法用要素名称、类别、宽度等属性做匹配并利用几何端点在重叠带范围内做捕捉合并。处理后的要素会生成一个“临时实体 ID”作为后续合并的唯一键。如果原始图幅之间存在重叠带一般用重叠带中线切割保证不重复。这个步骤耗时巨大但不可避免。建议在地图分幅规则确定时就规划好转换顺序按图幅集合一次处理不要逐幅转换后再拼接后者翻车概率极高。5.4 现象转换后面积/长度与原始数据对不上一个水系实体的面积比原始水域面面积少了 12%。原因是转换时为了消除面重叠用了“并集”操作把两片相邻水域面的公共重叠部分归到了其中一个面另一个面的边缘被裁剪掉导致面积改变。或者在碎面清理中把所有小于最小图斑的碎面全部并入相邻最大实体而那个最大实体的边界已经带有水岸线并入后岸线被迫外扩。解决思路在规程里转换后的实体面积不需要与原始要素面积完全一致但要求“实体几何表达应真实反映对象空间范围”偏差超过限值就必须修改。建议在转换后做一个“面积差异比对”把原始要素和对应实体的面积差按百分比列出超过 5% 的自动标记人工逐个核验。差异原因如果是拓扑清理导致的要调整清理顺序先合并后清理且清理时应以“保持外部边界稳定”为优先级。也可以在合并时选择“以面积最大的要素为基准其余要素几何做差后并入”而不是直接 union但这个算法实现复杂一般只在特殊项目里用。5.5 现象数据量巨大转换过程“跑飞”中断一个县城的 1:500 数据房屋图层就有 80 万个多边形用单机脚本跑合并跑到一半内存溢出程序崩了。这是最典型的工程化问题。原因在于空间合并在内存中要对所有多边形建拓扑关系80 万面直接用dissolve会产生上百万条边内存峰值极高。解决思路分块处理。按标准分幅把数据切片每一块内部先完成合并块间再接边。注意分块不能造成实体被腰斩——分块边界必须是实体稀疏区比如道路中心线、河流中心线等线状实体。或者用空间索引和批量迭代每次只处理一个要素类和一个实体合并键不要把所有图层放在一个数据集里跑。另外可以先用 SQL 做属性级合并只对“同实体ID”的要素做几何合并这样能大幅减少参与的要素数。下面是按实体 ID 批量合并的 SQL 示例-- 按临时实体 ID 合并几何以PostGIS为例 CREATE TABLE entity_geom AS SELECT entity_temp_id, ST_Union(geom) AS geom FROM feature_data WHERE entity_temp_id IS NOT NULL GROUP BY entity_temp_id;逻辑说明这条 SQL 把要素数据按entity_temp_id分组对组内几何求并集。参数说明feature_data是经过属性映射、已经赋予临时实体 ID 的要素表entity_temp_id必须是整数型否则索引失效这一步运行前要对临时实体 ID 建索引。如果数据量超过数千万级建议还用分块并行处理把数据按空间格网切分到多个进程最后再做边界缝合。6. 一个省时的进阶技巧用脚本流程把转换和质量检查管起来到了这一步你已经能把要素数据转成基本可用的实体数据了。但项目往往是反复迭代的——原始数据更新了、质检又发现一批拓扑错误、实体边界要按影像修。与其每次手动点击转换工具我建议把整个流程写成“可复跑”的脚本流水线把质量检查做成自动化的关卡。我通常的流程是这样用 Python 写一个主控脚本按顺序执行每一步每步的输出都带版本号比如02_geometry_clean_20250214.gpkg。任何一个环节失败只需重新跑该环节不需要从头再来。质量检查也嵌入在脚本里每完成一步就统计图形数量、自相交记录、属性空值率输出 HTML 报告。某次项目里我就是靠这套脚本把一次“返工”从两周压缩到两天——本来要人工改 3000 条房屋边界后来发现只是原始数据里有一批面坐标小数点精度丢失脚本里加了一步GML坐标精度修复全部自动解决。这里还要强调一个习惯给每一步都加“操作日志”。比如记录坐标转换参数、清除碎面数量、映射表版本这些日志实体数据入库时要作为“过程元数据”一同提交。质检部门如果要追溯某个实体是怎么来的没有日志很难解释清楚。我自己就吃过亏一个实体边界被批得不对但因为没记录它是用什么容差合并的导致无法判断是算法问题还是数据问题浪费了好几天。如果你要判断这个方向值不值得投入我最后的建议是别急着买昂贵的商业软件先用开源工具跑通一个小范围样例把映射表和参数定下来再评估效率。这套转换技术规程的价值不在“自动转换成 AC”而在于把“怎么处理、按什么标准、以什么顺序”这些经验变成可复制、可检验的工程流程。基础地理实体数据是未来二维与三维一体化的底座从要素转换实体不是一次性任务而是持续更新的常态动作。越早建立一套科学、可追溯的流程后面越主动。希望这些踩坑和技巧能帮到你。本文还有配套的精品资源点击获取
阅读完成 · 觉得有帮助?
咨询建站