广东省SHP数据处理指南:行政区划与路网分析实战
简介一份基于ShapefileSHP格式的广东省地理空间数据包面向GIS开发、城市规划与交通研究人群提供省、市、县三级行政区划边界以及道路网、铁路网两类关键交通要素。借助这些矢量图层可直接开展空间叠加、缓冲区、通勤模拟、人口密度与设施影响范围等分析适用于基础地理底图制作、科研教学与辅助决策。压缩包共33个文件包含shp几何文件、dbf属性表、shx索引、prj坐标系定义及xml元数据等类型总大小约68.6MB道路、铁路与行政区域各自独立成层便于按需调用。所有数据统一采用WGS84或国家2000坐标系可无缝对接主流GIS平台。已有2201人学习下载该资源。除了边界与线路几何外属性表还附带名称、等级、里程等字段用户可直接连接外部统计数据进行深入的交通网络评估与应急韧性分析是一套完整且易用的省级空间数据基础素材。1. 这套广东省SHP不是“老数据”而是你画地图和算路网密度的起点三年前做某农业保险项目时某公司同事丢给我一打散落的SHP文件其中就有“广东省行政区划省、市、县道路网公路网”。当时我急着把险种的分布叠到地级市边界上发现网上临时找的底图要么是Web墨卡托要么边界和统计部门对不上根本没法直接用。后来我才意识到一套封装的、带2022年7月时点信息的SHP省掉的不只是描边的功夫而是整个“底图生产链路”。它能帮你完成一幅合规的统计地图能算清楚每个县的公路里程还能把几万条POI和基础路网做空间连接。适合谁适合有GIS基础、要做省份级分析但不想从零开始清绘边界的人。接下来我们把它拆开看一条条过字段、坐标系和坑。2. 拆解数据集省级、市级、县级边界与道路网到底存了什么拿到任何一套SHP第一反应不该是往地图上拖而是先回答三个问题里面有几个图层每个图层的几何类型是什么属性表里有哪些字段这套广东省SHP大概率会拆成省级行政区域、地级市行政区域、县级行政区域三个Polygon图层以及道路网、公路网两个LineString图层但实际文件名未必写得那么清楚。常见的命名方式是province_202207.shp、city_202207.shp、county_202207.shp、roads_202207.shp、highways_202207.shp也可能全部塞在一个文件夹里命名很随意。所以我习惯先写一小段脚本把目录下所有SHP的几何类型和字段全打出来再决定怎么用。2.1 分层与属性字段先识别省、市、县三级边界用Python的geopandas能快速摸清每个图层的结构。注意SHP文件不是单个文件而是由.shp、.dbf、.shx、.prj等一组文件共同组成读取时只需要给到.shp路径其他配套文件必须放在同目录且同名。下面这段代码会遍历一个文件夹里所有SHP打印文件名、几何类型、字段列表和前两行记录。import geopandas as gpd import os data_dir path/to/guangdong_shp_202207 for fname in os.listdir(data_dir): if fname.endswith(.shp): shp_path os.path.join(data_dir, fname) gdf gpd.read_file(shp_path, encodingGBK) # 先按GBK读乱码再换UTF-8 print( 文件:, fname, ) print(几何类型:, gdf.geometry.geom_type.unique()) print(字段列表:, gdf.columns.tolist()) print(要素数量:, len(gdf)) print(gdf.head(2).to_string()) print()这段代码的关键点在encodingGBK。很多省市级发布的SHP是历史数据.dbf里的中文属性用GBK编码如果直接用默认UTF-8读出来的name字段全是乱码。如果你拿到文件后第一遍读出来是乱码先把编码参数换成GBK试试如果还是不对换成gb18030。几何类型那行会告诉你当前图层是面还是线行政区划应当全是Polygon或MultiPolygon道路网、公路网应当全是LineString。如果发现某个行政区划图层出现了LineString说明那个文件可能不是边界数据先检查文件名是否匹配。字段列表是后续所有分析的地图。常见的行政区划SHP通常会有NAME、PAC行政区划代码、SHAPE_AREA、SHAPE_LEN这类预计算字段但也有些数据只有OBJECTID、NAME、CODE连面积都没有。如果你拿到后没有面积字段也别慌后面用投影后的area算就行。道路网图层常见的字段有NAME、ROAD_TYPE、CLASS、LENGTHROAD_TYPE可能是“高速、国道、省道、县道”这种中文也可能是数字等级需要你翻一下原数据的说明文档没有说明文档就只能靠长度和名称推断等级。2.2 坐标系与投影先搞清楚你的数据在哪里SHP的坐标系信息藏在配套的.prj文件里但.prj文件有时是缺失的或者里面写的是英文缩写读起来很费劲。更直接的办法是用geopandas查看crs属性。下面这段代码读取一个图层并打印坐标系顺便试试把它转成WGS84经纬度和平面投影import geopandas as gpd gdf gpd.read_file(county_202207.shp, encodingGBK) print(原始坐标系:, gdf.crs) # 如果原始坐标只是经纬度转成适合广东范围的Albers等积投影再算面积 if gdf.crs and gdf.crs.to_epsg() 4326: gdf_aea gdf.to_crs(projaea lat_125 lat_247 lat_00 lon_0105 datumWGS84) print(投影后坐标系:, gdf_aea.crs)这里要提醒一句广东省东西跨度大用单一UTM带号做面积计算会有偏差所以我在做全省范围的面积统计时习惯用Albers等积投影就是代码里那串projaea的参数。如果只是做某个地市、某个县的小范围分析再用该区域对应的UTM带会更简单。还有一个坑很多在线地图用的是GCJ-02或者Web墨卡托如果你拿到的是WGS84经纬度直接叠加到高德、腾讯底图上会偏移几十到几百米这不是SHP坏了而是坐标系不统一。后续做空间分析时要么全部基于SHP自身坐标系计算要么统一转到一个坐标体系里别一会儿用经纬度、一会儿用投影坐标。坐标系的另一个隐藏坑是EPSG编号。有些数据在.prj里写的是GCS_Beijing_1954或Xian_1980这种老椭球如果没有做地形勘测类业务建议直接转到CGCS2000或WGS84上统一到一个现代参考框架下分析。代码里to_crs的参数既可以用EPSG:4326也可以用完整proj字符串后者更灵活。2.3 属性表编码中文乱码与类型映射属性表乱码是SHP最常见的老毛病。因为.dbf格式的年代早于UTF-8普及多数省级历史数据都默认用GBK存中文。你可能会遇到这三种情况QGIS里打开显示乱码geopandas里读取后中文变火星文或者属性表里中文正常但导出GeoJSON后前端显示乱码。处理思路其实是一条读取时指定编码导出时统一UTF-8。下面这段代码演示了如何用不同编码读取同一个文件并找出正确编码import geopandas as gpd for enc in [GBK, gb18030, UTF-8]: try: gdf gpd.read_file(city_202207.shp, encodingenc) sample gdf[NAME].iloc[0] print(f{enc}: {sample}) if not in str(sample): break except Exception as e: print(f{enc} 读取失败: {e})当NAME字段第一个值看起来是正常中文字符时那个编码就是对的。我一般先试GBK再试gb18030最后试UTF-8基本能覆盖绝大多数情况。这里还要多一句嘴SHP的字段名最长只能10个字符所以原始字段常被截断比如COUNTY_NAME会被存成COUNTY_NA或者干脆用COUNTY。写代码时别想当然务必先用print(gdf.columns.tolist())看一遍真实字段名或者先读dbf的header。3. 在QGIS里快速打开和检查这套SHP加载、符号化、属性查询很多非Python派的人在拿到SHP后第一件事是拖进QGIS。QGIS对SHP的支持很成熟但依然有编码和字段显示的坑。下面这套操作流程是我每次接到新数据都会走一遍的确认路径能解决九成“地图打开但看着不对”的问题。3.1 一步加载把省、市、县和道路网同时拖进画布最简单粗暴的方式是打开QGIS把文件夹里所有.shp文件全部选中拖到QGIS主窗口。QGIS会成组加载到图层面板。如果属性表中文显示乱码右键图层选择“属性”切到“数据源”标签页在“数据源编码”下拉框里选择“GBK”或“gb18030”确认后属性表就会正常。这个方法只对当前图层生效如果有多个图层都乱码需要逐层设置。加载后建议立刻在图层右键菜单里选择“打开属性表”看一眼要素数量、几何类型字段。如果某个县图层显示几百个要素但那应该只有几十个县级行政区说明SHP里可能混入了岛礁或者飞地这种多面要素在统计时尤其要当心。也可以在属性表里按NAME排序快速扫一眼有没有重名或者空值——空值往往是后面空间连接失败的元凶。3.2 用分类符号化快速区分道路等级道路网SHP在QGIS里默认是一条条黑线叠在区划图上很难看出结构。你需要按等级做符号化。右键道路图层选择“属性”→“符号化”在顶部的“符号化方式”下拉框里选“分类”值字段选择ROAD_TYPE或CLASS点击“分类”按钮得到所有道路等级。然后把高速、国道、省道、县道分别设成红色、橙色、黄色、灰色线宽分别设为1.2、0.9、0.7、0.4。这样一眼就能看出路网骨架和毛细血管的层次也能顺便检查数据里是否存在等级混乱比如某条国道被标成乡道。这里有个注意点分类符号化依赖字段值。如果字段是中文值QGIS能正常显示如果是数字代码比如1代表高速、2代表国道你需要对照原说明文档做“重分类”。没有说明文档时我一般先看每条要素的NAME比如“G4”“G15”这种明显是高速和国道然后给个临时字典做映射。3.3 属性表查询与筛选找出某个指定区域内的要素在QGIS的“按表达式选择要素”对话框里可以用类似SQL的表达式快速筛出目标区域。比如要筛出某地级市所有县级行政单元可以这样写PAC LIKE 4419%这里的PAC是行政区划代码字段前两位是省代码前四位是地市代码。广东省全部地市代码都是44开头所以4419%能够匹配到指定地市的所有县区。如果你不知道某个市的代码可以在属性表里按NAME搜索或者用“按属性选择”对话框里的“模糊匹配”找中文名但中文字段名和值容易因编码问题匹配不上所以我更习惯用代码字段。筛选完成后点击菜单“图层”→“另存为”可以把选中的要素导出成新的SHP或GeoJSON。这里要记住QGIS导出SHP时默认会把字段名截断为10字符如果后面还要用Python处理导出GeoJSON或直接复制一份原SHP更好。4. 用Python批量处理把广东省区划与路网转成GeoJSON供前端使用后端或者数据工程师拿到这套SHP往往不是为了在QGIS里慢慢点而是要转成GeoJSON给Web地图用或者直接做叠加计算。Python的geopandas是这一环最顺手的工具。下面几个场景是我几乎每次都会用的。4.1 读取全部SHP并统一坐标系顺便修复坏几何真实业务里SHP文件可能来自不同数据源坐标系有WGS84、GCJ02、甚至没写坐标系。统一处理前必须先做两件事统一坐标系、检查几何合法性。下面这段代码会把一个目录下所有SHP合并成一个GeoDataFrame并统一投影到WGS84经纬度import geopandas as gpd import os data_dir path/to/guangdong_shp_202207 all_gdf [] for fname in os.listdir(data_dir): if fname.endswith(.shp): gdf gpd.read_file(os.path.join(data_dir, fname), encodingGBK) # 强制转成WGS84经纬度 if gdf.crs and gdf.crs.to_epsg() ! 4326: gdf gdf.to_crs(4326) # 修复自相交等几何错误避免后续分析报错 gdf[geometry] gdf[geometry].make_valid() all_gdf.append(gdf) merged gpd.GeoDataFrame(pd.concat(all_gdf, ignore_indexTrue)) print(merged.head())make_valid()这一行很重要。SHP在编辑过程中会产生极小的自相交或重复点虽然QGIS能画出来但在做相交、求和等空间操作时GEOS引擎会报“TopologyException”整个计算就断了。加了make_valid()后复杂错误会被解析成几何集合或修正为有效面后续计算顺滑很多。需要注意的是make_valid()可能会把原来的面转换成GeometryCollection如果后续要写回SHP最好再拆出主要面。参数方面to_crs(4326)是给所有图层统一到经纬度坐标。如果你的服务器端地图用的是Web墨卡托EPSG:3857那就改成to_crs(3857)。原则只有一个全链路只保留一个坐标系不要来回转换。4.2 计算每个县的公路里程和路网密度这是典型的“两个图层一叠”的场景。把县级行政区划面图层和公路线图层做空间连接统计每个县里高速公路、国道、省道的总长度再除以县面积得到路网密度。示例代码如下import geopandas as gpd county gpd.read_file(county_202207.shp, encodingGBK) roads gpd.read_file(highway_202207.shp, encodingGBK) # 统一投影到Albers等积投影保证长度和面积计算准确 county county.to_crs(projaea lat_125 lat_247 lat_00 lon_0105 datumWGS84) roads roads.to_crs(county.crs) # 空间连接把落在某个县内的道路片段都分到该县 joined gpd.sjoin(roads, county, howinner, predicatewithin) # 按县分组计算道路总长度米 road_len joined.groupby(PAC)[geometry].apply(lambda g: g.length / 1000).reset_index() road_len.columns [PAC, road_km] # 计算各县面积平方公里 county[area_km2] county.geometry.area / 1_000_000 # 合并并算密度 result county[[PAC, NAME, area_km2]].merge(road_len, onPAC) result[density] result[road_km] / result[area_km2] print(result.sort_values(density, ascendingFalse).head(10))这里有几个容易踩到的点。第一predicatewithin可以改为intersects但within要求道路片段完全落在县界内而县界边上的跨县道路往往会被漏掉intersects会把片段重复分给多个县需要你再去做按比例分配。第二如果道路是一条长线横跨好几个县SHP本身没有打断的话sjoin不会自动切割必须在ArcGIS或QGIS里的“线转面”或“沿线切割面”中先做打断否则长度分配会错。第三单位问题投影坐标系下的length单位是米换算成公里要除以1000面积单位是平方米换算成平方公里要除以1000000。很多人算出路网密度几十甚至上百就是因为忘了换算单位。4.3 导出GeoJSON给Web前端打开后端把区划和路网给前端展示最省事的方式是导出成GeoJSON。注意SHP字段名有10字符限制导出GeoJSON后字段名不变但中文属性值如果之前乱码导出的GeoJSON也会乱码。所以导出一前再确认一遍编码。下面代码把县政府和道路网分别导出# 导出县级政区只保留name和code county_out county[[NAME, PAC, geometry]] county_out county_out.to_crs(4326) county_out.to_file(county_202207.geojson, driverGeoJSON, encodingutf-8) # 导出高速路网 roads_out roads[[NAME, ROAD_TYPE, geometry]] roads_out roads_out.to_crs(4326) roads_out.to_file(roads_202207.geojson, driverGeoJSON, encodingutf-8)导出参数里driverGeoJSON是必需的如果不写geopandas会根据文件后缀自动选择驱动但某些版本对中文支持不够稳定显式指定更稳。另外GeoJSON默认使用UTF-8编码所以这里不再需要指定encoding但写上也无妨。如果你需要极小的文件给移动端用可以考虑把多边形做简化。geopandas里用simplify(tolerance, preserve_topologyTrue)tolerance视用途而定比如县级边界一般可以简化到0.001度约100米市界可以更狠一点。但简化前一定要保留原始SHP备份简化后的几何只能用来展示不能用来做面积和长度统计否则数据就毁了。5. 避坑广东省SHP最常见5个问题与排查这部分不是泛泛而谈每一条都是我在实际处理类似数据时遇到过、也是论坛里反复出现的高频问题。按“现象→原因→解决”来写方便你出问题时直接对号入座。5.1 属性表中文全部变成乱码现象在QGIS打开属性表NAME字段显示“?????”或“鎴愰兘”geopandas读取后打印出来也是乱码。原因.dbf内部编码是GBK或gb18030而读取软件默认UTF-8或者反过来原始文件是UTF-8你用GBK强行读。解决先用文本方式读一个字符样本判断或者干脆把GBK、gb18030、UTF-8都试一遍。在geopandas里指定encoding参数在QGIS里调整“数据源编码”。治本的办法是用Python把整个GeoDataFrame重写一份指定encodingUTF-8另存为新的SHPgdf gpd.read_file(county_202207.shp, encodingGBK) gdf.to_file(county_202207_utf8.shp, encodingUTF-8)5.2 坐标整体偏移和在线地图对不上现象把SHP叠到网上地图底图所有要素整体往某个方向偏移了几百米道路网甚至偏离了街道。原因SHP用的是WGS84经纬度或CGCS2000坐标而在线底图用的是GCJ-02俗称火星坐标或Web墨卡托投影两者基准不同。解决明确你的SHP本身的坐标系。如果是WGS84且目标是高德底图需要做坐标转换。注意简单的to_crs并不能把WGS84转成GCJ-02因为GCJ-02是非线性偏移算法GEOS里没有内置。常见做法是使用pyproj配合某个针对中国区域的加密算法库或者干脆放弃在线底图直接在QGIS里叠加离线底图、以SHP坐标为基准。如果你只做内部可视化就别转火星坐标免得后续计算和地理编码全乱。这个问题的核心不是“数据错了”而是“基准不一致”。5.3 加载后某个县图层是空要素或者面积和统计年鉴对不上现象QGIS里能看到市级边界但打开县级SHP后地图上一片空白或者明明选了全省县级单元统计面积总和却比官方少了几百平方公里。原因县级SHP的几何可能完全缺失只剩属性表或者把多部件面MultiPolygon识别成了单个要素导致面积异常。还有一种情况是数据里包含未合并的岛屿面积和官方口径不一致。解决先检查几何类型和空几何数量import geopandas as gpd gdf gpd.read_file(county_202207.shp, encodingGBK) print(空几何数量:, gdf.geometry.isnull().sum()) print(类型:, gdf.geometry.geom_type.value_counts())如果isnull().sum()大于0说明有要素缺失几何没法用于分析。解决方法是找原数据源补齐或者用相邻要素的边界拓扑修正。如果只是多部件问题用gdf gdf.explode()把MultiPolygon拆成Polygon再检查每个小要素的NAME决定是否合并回去。面积对不上的另一个常见原因是原始数据用经纬度坐标计算面积单位变成了平方度完全不能用。请务必用投影坐标系的area再算一次。5.4 字段名被截断导致写代码时找不到列现象在QGIS属性表里明明能看到COUNTY_NAME但Python里用gdf[COUNTY_NAME]却报KeyError。原因SHP.dbf的字段名最多10字节实际上很多软件写出来的字段名被截断成COUNTY_NA或COUNTYQGIS显示的是截断后的名字但你脑子里记的是完整名字。解决不要猜直接用print(gdf.columns.tolist())打印以打印结果为准。如果字段名被截断成无意义的缩写可以在读入后立刻重命名gdf gpd.read_file(county_202207.shp, encodingGBK) gdf gdf.rename(columns{COUNTY_NA: county_name, PROVINCE_: province})重命名后保存成GeoJSON或新的SHP后续代码全用新名字。这个坑在版本迭代特别频繁的数据里最恶心2022年7月这版可能叫NAME2023年版本可能就叫MC了所以每拿到一套新SHP第一步永远是打字段名而不是沿用老代码。5.5 道路网拓扑断裂路径规划总是绕路现象用路网数据配合pgrouting或GraphHopper做最短路径明明两条路在地图上相交算法却走不了或者算出来的里程比实际绕了很多。原因SHP里的路网是“线”而不是“拓扑”两条相交的线在空间上交叉但并没有在交点处打断成节点。路径规划要求线在交点上必须共享节点否则等于没有交叉口。解决先做拓扑检查。在QGIS里可以用“处理工具箱→矢量几何→修整几何Snap Geometries to Layer”但更可靠的方法是用PostGIS的ST_Node函数把路网线在交点处全部打断SELECT ST_Node(ST_Collect(geom)) AS geom FROM road_lines;打断后再建立路由网络。如果你不想引入PostGIS也可以在QGIS里用“删除重复几何”和“线段打断”但批量处理大路网时效率很低我很怀疑那玩意能撑住全省十几万条线。我的建议是做路径分析就直接把路网导入PostGIS用pgrouting的一套工具链而不是在QGIS里手工修拓扑。如果只是画地图拓扑断裂不影响显示可以不管。6. 进阶技巧把区划和路网叠起来验证数据质量并生成一张分级统计地图到这里你应该已经能读数据、转坐标、算基础统计了。最后一个技巧是“验证数据后用同一套SHP产出成品图”这也是很多人把原始SHP拿到手后最常问的用途。用上面的路网密度结果我们可以快速画一张县级路网密度分级图。这里用geopandas自带的plot方法配合matplotlib的分级配色。先看代码import geopandas as gpd import pandas as pd import matplotlib.pyplot as plt # 读取县级数据设定统一坐标系 county gpd.read_file(county_202207.shp, encodingGBK) county county.to_crs(projaea lat_125 lat_247 lat_00 lon_0105 datumWGS84) # 假设我们已经算好密度存在density列 # 这里演示用面积作为填充变量单位平方公里 county[area_km2] county.geometry.area / 1_000_000 county.plot(columnarea_km2, schemeQuantiles, k5, cmapYlOrRd, edgecolorblack, linewidth0.2, legendTrue) plt.title(2022年7月广东县级政区面积分布) plt.axis(off) plt.savefig(county_area_map.png, dpi300, bbox_inchestight)这里的schemeQuantiles表示用分位数分级k5分成5档cmapYlOrRd是颜色带。如果你没有pysal库scheme参数会报错需要使用plot的scheme来自mapclassify库实际上它就是geopandas的可选依赖。如果没有安装先pip install mapclassify再跑。如果想把路网也画上去就直接叠加roads gpd.read_file(road_202207.shp, encodingGBK) roads roads.to_crs(county.crs) fig, ax plt.subplots(figsize(12, 10)) county.plot(axax, colornone, edgecolorblack, linewidth0.3) roads.plot(axax, colorgray, linewidth0.5) plt.title(广东省行政区划与路网叠加) plt.axis(off) plt.savefig(guangdong_base_map.png, dpi300, bbox_inchestight)这个小图已经够做很多业务的背景底图。如果你要输出规范的统计地图别忘了在北边加比例尺、指北针和图例这些在matplotlib里要自己去写函数我常用的办法是先把图存出来再用绘图软件补注记速度更快。最后讲一个我自己的教训刚拿到这套SHP时我图省事没有做make_valid()直接拿来做县和道路的相交查询结果跑了十五分钟数据库直接报TopologyException我当时还以为是数据量太大把锅甩给了服务器。后来逐条排查才发现是两三个县的几何自相交白白浪费了大半天。从那以后我养成一个习惯——任何SHP进入分析流程前先备份再做make_valid()只修正不增删要素。这套流程救了我很多次。希望你也能少走这个弯路把时间花在真正的分析上而不是跟几何错误较劲。希望帮到你。本文还有配套的精品资源点击获取

相关新闻

钉钉集成API Java实战:Token缓存与高频消息推送避坑指南

钉钉集成API Java实战:Token缓存与高频消息推送避坑指南

简介:面向Java开发者的钉钉集成参考资料,系统演示如何将企业业务系统与阿里钉钉开放平台对接,涵盖OAuth授权、消息推送、通讯录管理以及审批流自动化等核心场景,适合承担企业内部集成开发任务的中级及以上工程师。压缩包共174个文…

2026/10/12 2:47:36 阅读更多 →
树莓派Pico C/C++开发环境搭建:CLion+SDK+OpenOCD调试实战

树莓派Pico C/C++开发环境搭建:CLion+SDK+OpenOCD调试实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 2:47:36 阅读更多 →
Spring Boot + Vue导师双选系统:从数据库设计到前后端交互的全栈实战

Spring Boot + Vue导师双选系统:从数据库设计到前后端交互的全栈实战

导师双选这个场景,很多高校都在做,每学期导出的Excel、纸质志愿表、来回确认的邮件,能把教务老师和系主任折腾到怀疑人生。我之前接过一个内部项目,做的就是一套导师双选系统,技术栈正好是Spring Boot Vue MySQL&…

2026/10/12 2:47:35 阅读更多 →

最新新闻

图解AI应用架构设计:从数据流到组件范式的完整指南

图解AI应用架构设计:从数据流到组件范式的完整指南

做AI应用架构设计这几年,最让我头疼的从来不是技术选型,而是把架构"画"出来。有一次评审会,我盯着投影仪上一张AI应用架构图看了五分钟,愣是没找到"用户请求"是从哪个框进去的。七层嵌套的容器、三十几个带箭…

2026/10/12 3:40:10 阅读更多 →
视觉风格 zine 详解:pptx-master 的 Riso 孔版印刷小刊风演示文稿规范

视觉风格 zine 详解:pptx-master 的 Riso 孔版印刷小刊风演示文稿规范

AI 技能人工智能 【免费下载链接】ppt-master AI 把任意文档生成真正可编辑的 PowerPoint —— 原生形状与动画、演讲者备注可合成音频旁白、还能参考你自己的 .pptx 模板,而不是一张张图片 何雨果出品 项目地址: https://gitcode.com/hugohe3/ppt-master 点击查看…

2026/10/12 3:40:10 阅读更多 →
Pagefind 贡献开发指南:从仓库架构、构建流程到测试套件的完整上手路径

Pagefind 贡献开发指南:从仓库架构、构建流程到测试套件的完整上手路径

搜索引擎前端开发工具 【免费下载链接】pagefind Static low-bandwidth search at scale 项目地址: https://gitcode.com/gh_mirrors/pa/pagefind 点击查看 免费下载 Pagefind 是一款为大规模静态站点提供低带宽搜索的开源方案(仓库根目录 README.md 描…

2026/10/12 3:40:10 阅读更多 →
Claude Code接入MCP搜索服务,实现实时联网查询最新技术资讯

Claude Code接入MCP搜索服务,实现实时联网查询最新技术资讯

自己平时写代码最烦什么?不是需求改来改去,也不是测试环境挂了,而是 Claude Code 在对话里一本正经地跟我说“我无法实时访问互联网,因此无法确认最新信息”。明明只需要查一下某个 API 的最新版本号、某个依赖包现在停在哪个大版…

2026/10/12 3:40:10 阅读更多 →
2026软件测试趋势:从自动化执行到智能质量保障

2026软件测试趋势:从自动化执行到智能质量保障

2026年,如果你还在把“软件测试”定义成点按钮、跑脚本、提bug,那么大概率已经能感受到一种隐约的撕裂感。一边是AI辅助开发把编码效率拉高了几个台阶,另一边是业务对质量的要求从“不出错”变成了“随时可变更、秒级可上线”。在这样的大背景…

2026/10/12 3:40:10 阅读更多 →
数据结构 - > 排序算法

数据结构 - > 排序算法

1. 排序的概念1.1 常见的排序算法1.2 排序算法的评价指标复杂度:评价排序算法的第一大指标就是时间复杂度和空间复杂度,它衡量算法的时间效率和空间效率。稳定性:假定在待排序的数据元素中有两个元素 Ri 和 Rj,它们对应的关键字为…

2026/10/12 3:39:10 阅读更多 →

日新闻

复古胶片颗粒感噪点合成器:Canvas ImageData 像素高斯杂色注入算法

复古胶片颗粒感噪点合成器:Canvas ImageData 像素高斯杂色注入算法

在数码相机、高清显示屏与现代矢量图形技术高度发达的今天,画面可以做到绝对的锐利、平滑与无瑕。然而,当一张秋日手账插画或拍立得照片过于“平整无瑕”时,往往会散发出一种冰冷生硬的“数码塑料感(Digital Plasticity&#xff0…

2026/10/12 0:00:59 阅读更多 →
活字印刷古籍线装排版:Canvas 竖排文字与栏线自适应算法

活字印刷古籍线装排版:Canvas 竖排文字与栏线自适应算法

在现代网页与移动端设计中,横排(Horizontal Layout)早已经成为了绝对的主流。然而,当我们翻开泛黄的线装古籍、宋版木刻诗集,或是欣赏一张茶道雅集的手写便签时,那种**自上而下纵向书写、自右向左逐列铺展&…

2026/10/12 0:00:59 阅读更多 →
周日晚间的“精神松绑减震器”:无压力情绪倾倒箱与温和轻声陪伴

周日晚间的“精神松绑减震器”:无压力情绪倾倒箱与温和轻声陪伴

每到周日的晚上八点到十点,很多人心里都会悄悄亮起一盏警示灯。 在心理学上,这种现象有一个专门的称谓——“周日夜晚焦虑症(Sunday Scaries)”。明天又是周一,闹钟又要重新在七点响彻卧房;脑海里仿佛有一个…

2026/10/12 0:00:59 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/12 0:16:30 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/12 0:16:38 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/12 0:16:43 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 10:45:37 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 14:36:53 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 14:36:54 阅读更多 →