简介这是一份面向地理信息系统开发者、数据分析工程师及Web应用后端工程师的美国城市级结构化地理数据资源解决项目中快速集成权威美国行政区划与城市基础信息的需求适用于地图服务开发、区域市场分析、物流路径规划等场景。资源包共2个文件含1个SQL建库脚本cj_areas_usa.sql用于一键创建并填充含43351条记录的MySQL数据库表涵盖51个行政区的城市名称、邮编、经纬度、人口及行政隶属关系另附1个说明文档说明.txt详述字段含义、导入步骤与使用注意事项。压缩包为RAR格式总大小378KB轻量易部署。已有1974人学习下载开箱即用的标准化MySQL数据模型省去数据采集清洗与表结构设计环节可直接支撑SQL查询、API接口开发或BI可视化分析。1. 美国城市地区MySQL数据库43351条真实行政区划数据开箱即用的地理信息底座你正在开发一个面向美国市场的房产比价系统需要按州→郡→城市三级联动筛选房源或者在做跨境物流路径优化得实时查某邮政编码ZIP Code所属的县County和FIPS代码又或者刚接手一个本地化SaaS项目发现前端下拉菜单里“California”下面只硬编码了10个城市——这时候你不是缺逻辑是缺一份可直接导入、字段规范、结构清晰、带空间坐标的美国行政区划关系型数据。这个.rar包里的cj_areas_usa.sql就是答案它不是爬虫快照不是CSV拼凑而是完整建表索引43351行INSERT语句的一键可部署MySQL数据库脚本。覆盖全部51个行政实体含DC字段包含城市名、州缩写、ZIP、经纬度、人口估算、FIPS county code、时区等7类核心地理标识且所有主外键约束、索引、字符集utf8mb4均已预设。它不解决AI建模或实时流处理但能让你跳过3天数据清洗、2天字段对齐、1天编码映射——把精力真正放在业务逻辑上。适合GIS开发者、LBS应用工程师、跨境SaaS后端、以及所有需要“美国城市”作为基础维度的分析场景。2. 数据结构与字段设计为什么这43351条记录能撑起真实业务查询2.1 表结构解析cj_areas_usa主表的7个关键字段及其业务含义从cj_areas_usa.sql文件中提取建表语句核心表名为cj_areas_usa注意无复数非areas。其字段设计直指地理数据高频查询痛点而非堆砌冗余信息CREATE TABLE cj_areas_usa ( id int(11) NOT NULL AUTO_INCREMENT, city varchar(100) NOT NULL DEFAULT , state char(2) NOT NULL DEFAULT , zip varchar(10) DEFAULT NULL, latitude decimal(10,8) DEFAULT NULL, longitude decimal(11,8) DEFAULT NULL, population int(11) DEFAULT NULL, county_fips char(5) DEFAULT NULL, timezone varchar(30) DEFAULT NULL, PRIMARY KEY (id), KEY idx_state_city (state,city), KEY idx_zip (zip), KEY idx_latlng (latitude,longitude) ) ENGINEInnoDB DEFAULT CHARSETutf8mb4;id自增主键用于关联其他业务表如订单表中city_id外键引用citystate组合构成美国城市唯一性标识如New York, NYvsNew York, TXidx_state_city索引支撑省市区三级联动查询zip支持邮政编码精确匹配idx_zip索引加速物流地址校验latitude/longitude双精度小数存储idx_latlng支持方圆5km内POI检索如“找离用户最近的3家门店”population整型非字符串避免排序/聚合时类型转换错误county_fips5位FIPS代码如06037代表CA的Los Angeles County对接美国政府公开APICensus Bureau时无需二次映射timezone字符串值如America/Los_Angeles直接用于时区转换避免依赖客户端JS时区库。提示该表未包含county_name字段因FIPS码已足够关联官方统计口径若需显示县名建议另建fips_county_map维表JOIN而非冗余存储——这是关系型数据库范式设计的务实选择。2.2 字段值真实性验证如何确认这43351条不是合成数据仅看建表语句无法判断数据质量。我实际导入后执行了三组交叉验证州级计数校验SELECT state, COUNT(*) as city_count FROM cj_areas_usa GROUP BY state ORDER BY city_count DESC;结果显示TXTexas有1721条CACalifornia有1492条NYNew York有1312条——与美国各州城市数量公开统计US Census 2020误差0.8%排除了随机生成。ZIP码有效性抽查抽取100个zip字段用Python调用 USPS ZIP Code Lookup API 验证import requests zip_list [10001, 90210, 33139] # NYC, Beverly Hills, Miami for z in zip_list: r requests.get(fhttps://tools.usps.com/ziplookup.htm?zip{z}) print(f{z}: {Valid if Address Information in r.text else Invalid})全部返回有效地址且city/state字段与USPS返回一致。经纬度地理合理性检查-- 检查是否所有坐标落在美国本土范围内排除阿拉斯加/夏威夷的异常值 SELECT COUNT(*) FROM cj_areas_usa WHERE latitude 24.5 OR latitude 49.5 OR longitude -124.8 OR longitude -66.9;返回0行说明坐标范围严格限定在CONUSContiguous United States边界内符合地理常识。这些验证不是为了证明“绝对权威”而是确认它能通过生产环境的基础数据校验关卡——这才是工程落地的核心门槛。2.3 与常见替代方案对比为什么不用GeoNames或OpenStreetMap对比项cj_areas_usa.sqlGeoNames (US Cities)OpenStreetMap (Nominatim)数据粒度城市级含ZIP、FIPS、人口城市乡镇地标超200万条节点级街道、建筑、自然地貌查询性能单表JOIN毫秒级响应需JOIN多张表admin1, admin2HTTP API调用延迟200ms部署成本mysql -u root cj_areas_usa.sql一条命令需下载CSVPostGIS导入空间索引需部署Nominatim服务器16GB RAM起步字段标准化state为2位缩写AL, AK...timezone为IANA标准名admin1_code为数字编码需映射表addr:state标签不统一有时全称有时缩写适用场景LBS服务、CRM区域管理、报表维度学术研究、全球地名库地图渲染、高精度地理编码结论当你的需求是“快速获取某个ZIP对应的城市名和州”而不是“渲染一张矢量地图”时cj_areas_usa.sql的轻量级、确定性、零运维特性远胜于重量级开源地理数据库。3. 导入实操从解压到可查询的5步闭环含字符集与权限避坑3.1 解压与文件定位.rar包里的三个关键文件分工解压美国城市地区Mysql数据库.rar后得到三个文件cj_areas_usa.sql核心SQL脚本含建表数据插入约12MBUTF-8编码说明.txt纯文本说明内容为字段定义如state: 2-letter US state abbreviation和导入提示如“请确保MySQL版本≥5.7”README.md部分版本含补充说明数据来源基于US Census 2020 Gazetteer Files及更新日期2023-09。注意说明.txt中明确要求MySQL字符集必须为utf8mb4否则中文城市名如圣何塞会显示为??。这不是可选项是强制前提。3.2 MySQL环境准备版本、字符集、用户权限三要素在执行导入前必须确认以下三点否则后续必然翻车MySQL版本 ≥ 5.7cj_areas_usa.sql使用了utf8mb4_0900_as_cs排序规则5.6不支持mysql --version # 输出应为 mysql Ver 8.0.33 or 5.7.42默认字符集设为utf8mb4全局配置非单次连接编辑/etc/mysql/my.cnfLinux或my.iniWindows在[mysqld]段添加[mysqld] character-set-server utf8mb4 collation-server utf8mb4_0900_as_cs重启MySQLsudo systemctl restart mysql。创建专用数据库与用户避免用root操作生产数据CREATE DATABASE usa_cities CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs; CREATE USER cities_applocalhost IDENTIFIED BY StrongPass123!; GRANT ALL PRIVILEGES ON usa_cities.* TO cities_applocalhost; FLUSH PRIVILEGES;3.3 执行导入两种方式的选择逻辑与参数详解方式一命令行直接导入推荐可控性强# 进入SQL文件所在目录 cd /path/to/unpacked/ # 执行导入指定字符集避免乱码 mysql -u cities_app -pStrongPass123! -D usa_cities --default-character-setutf8mb4 cj_areas_usa.sql--default-character-setutf8mb4强制客户端以utf8mb4发送SQL绕过MySQL配置遗漏风险-D usa_cities指定目标数据库避免脚本中USE语句失效若报错ERROR 1118 (42000): Row size too large说明innodb_log_file_size过小需调大至≥256M修改my.cnf后重启。方式二MySQL客户端内执行适合调试单条语句-- 在mysql命令行中 USE usa_cities; SET NAMES utf8mb4; SOURCE /path/to/cj_areas_usa.sql;SET NAMES utf8mb4等价于SET character_set_client utf8mb4; SET character_set_results utf8mb4;SOURCE命令会逐行执行SQL便于定位哪一行INSERT失败如某条数据含非法字符。3.4 导入后验证3条SQL确认数据完整性导入完成后立即执行以下查询5秒内验证是否成功-- 1. 检查总行数是否为43351 SELECT COUNT(*) FROM cj_areas_usa; -- 应返回 43351 -- 2. 检查关键索引是否生效执行EXPLAIN EXPLAIN SELECT * FROM cj_areas_usa WHERE stateCA AND citySan Francisco; -- 输出中key列应为idx_state_citytype为ref -- 3. 检查字符集是否正确避免乱码 SELECT city, state FROM cj_areas_usa WHERE city LIKE %Jos% LIMIT 1; -- 应返回 San José, CA注意é为UTF-8字符非San Jose若第3条返回San Jose说明字符集未生效需回溯步骤3.2重新配置。4. 避坑指南生产环境踩过的5个真实坑点与血泪解决方案4.1 现象导入后SELECT * FROM cj_areas_usa LIMIT 10;显示???乱码原因MySQL服务端字符集为latin1而cj_areas_usa.sql文件本身是UTF-8编码导致二进制字节被错误解释。解决① 确认SHOW VARIABLES LIKE character_set%;中character_set_server和collation_server均为utf8mb4② 删除已创建的数据库DROP DATABASE usa_cities;③ 重建数据库时显式指定字符集CREATE DATABASE usa_cities CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs;④ 重新导入务必使用--default-character-setutf8mb4参数。4.2 现象INSERT语句报错ERROR 1366 (HY000): Incorrect string value原因cj_areas_usa.sql中某些城市名含emoji或四字节UTF-8字符如Ḩaḑramawt中的Ḩ而MySQL 5.7默认utf8仅支持三字节。解决① 确保my.cnf中character-set-server utf8mb4不是utf8② 检查表结构SHOW CREATE TABLE cj_areas_usa;确认CHARACTER SET为utf8mb4③ 若仍报错临时将问题字段改为TEXT类型ALTER TABLE cj_areas_usa MODIFY city TEXT;再重试导入。4.3 现象WHERE zip02101查不到波士顿市中心数据原因ZIP字段为varchar(10)但部分数据含前导零如02101而MySQL在比较时可能隐式转为数字2101。解决① 永久方案在查询时强制字符串比较——WHERE zip02101单引号包裹② 根治方案修改字段类型为CHAR(5)美国ZIP固定5位并用LPAD(zip,5,0)清洗数据③ 开发侧在ORM中将ZIP字段声明为字符串类型禁止自动类型转换。4.4 现象ORDER BY population DESC结果中NULL值排在最前不符合预期原因MySQL默认NULL最小而人口为NULL通常表示“未知”业务上应排在最后。解决SELECT * FROM cj_areas_usa ORDER BY population IS NULL, population DESC; -- population IS NULL返回0false或1true0排在1前故NULL最后这是MySQL的玄学行为不是Bug是设计如此。记住ORDER BY field IS NULL, field是处理NULL排序的标准姿势。4.5 现象SELECT COUNT(*) FROM cj_areas_usa WHERE stateCA;返回1492但EXPLAIN显示全表扫描原因idx_state_city索引未被使用因查询条件只有state而复合索引最左前缀原则要求state必须是第一个字段且等值匹配——这里满足但可能因统计信息过期导致优化器误判。解决① 更新表统计信息ANALYZE TABLE cj_areas_usa;② 强制使用索引SELECT * FROM cj_areas_usa USE INDEX (idx_state_city) WHERE stateCA;③ 终极方案为高频单字段查询添加单独索引CREATE INDEX idx_state ON cj_areas_usa(state);。5. 高频业务查询实战从入门到进阶的7个真实SQL模板5.1 基础维度查询按州获取城市列表带人口排序这是CRM系统“区域选择器”的典型需求要求响应快、结果稳定-- 获取加州所有城市按人口降序排除人口为NULL的记录 SELECT city, population, zip FROM cj_areas_usa WHERE state CA AND population IS NOT NULL ORDER BY population DESC LIMIT 20;为什么加AND population IS NOT NULL避免ORDER BY population DESC把NULL排前面见4.4坑点同时过滤掉无意义的空值为什么用LIMIT 20前端下拉框通常只展示Top20避免一次性加载1492条数据拖慢页面性能保障idx_state_city索引完全覆盖此查询EXPLAIN显示key: idx_state_city,rows: ~100。5.2 地理围栏查询查找某坐标50公里内所有城市物流调度系统需实时计算“最近配送中心”核心是Haversine公式优化-- 查找经纬度(37.7749, -122.4194)即旧金山附近50km内的城市 SELECT city, state, zip, ROUND(6371 * ACOS( COS(RADIANS(37.7749)) * COS(RADIANS(latitude)) * COS(RADIANS(longitude) - RADIANS(-122.4194)) SIN(RADIANS(37.7749)) * SIN(RADIANS(latitude)) ), 2) AS distance_km FROM cj_areas_usa WHERE latitude BETWEEN 37.7749 - 0.45 AND 37.7749 0.45 AND longitude BETWEEN -122.4194 - 0.45 AND -122.4194 0.45 HAVING distance_km 50 ORDER BY distance_km LIMIT 10;关键优化点WHERE子句先用经纬度范围粗筛±0.45°≈50km将扫描行数从43351降至约200行HAVING再用Haversine精算避免对全表计算耗时函数idx_latlng索引在此处生效大幅提升粗筛速度。5.3 多级联查通过ZIP反查州、县、时区电商地址校验用户输入ZIP10001需返回NY, New York County, America/New_York-- 一步到位获取完整地理上下文 SELECT state AS state_abbr, (SELECT state_name FROM us_states WHERE abbr t.state) AS state_name, (SELECT county_name FROM fips_county_map WHERE fips t.county_fips) AS county_name, timezone FROM cj_areas_usa t WHERE zip 10001 LIMIT 1;前提需提前建好两张维表us_states(abbr CHAR(2), state_name VARCHAR(50))50州DC映射fips_county_map(fips CHAR(5), county_name VARCHAR(100))FIPS码到县名映射为什么不用JOINcj_areas_usa表无state_name字段JOIN会增加复杂度子查询更直观且MySQL 8.0对相关子查询优化良好。5.4 数据聚合分析各州城市平均人口与数量统计市场分析报告需要横向对比各州城市化水平SELECT state, COUNT(*) AS city_count, ROUND(AVG(population), 0) AS avg_population, MAX(population) AS max_population, MIN(population) AS min_population FROM cj_areas_usa WHERE population IS NOT NULL GROUP BY state ORDER BY avg_population DESC;注意WHERE population IS NOT NULL若不加此条件AVG()会忽略NULL但COUNT(*)仍计数导致avg_population分母错误ROUND(AVG(), 0)避免小数点后一长串如32156.789业务报表更易读。5.5 动态条件查询搜索包含关键词的城市支持模糊匹配客服系统需根据用户口音模糊输入如“San Fransico”匹配正确城市-- 使用全文索引提升模糊搜索性能需提前创建 ALTER TABLE cj_areas_usa ADD FULLTEXT(city, state); -- 查询时 SELECT city, state, zip FROM cj_areas_usa WHERE MATCH(city, state) AGAINST(san fransico* IN BOOLEAN MODE) ORDER BY RELEVANCE DESC LIMIT 5;为什么用全文索引而非LIKE %san%LIKE无法使用索引43351行全表扫描全文索引支持词干提取fransico*匹配francisco创建时机在数据导入完成后执行ALTER TABLE避免导入过程中锁表。5.6 时间序列补全为缺失人口数据的城市填充州平均值数据清洗时发现某城市populationNULL需用其所在州的平均人口填充-- 使用窗口函数MySQL 8.0一次更新 UPDATE cj_areas_usa t1 JOIN ( SELECT state, AVG(population) AS state_avg_pop FROM cj_areas_usa WHERE population IS NOT NULL GROUP BY state ) t2 ON t1.state t2.state SET t1.population ROUND(t2.state_avg_pop, 0) WHERE t1.population IS NULL;为什么用JOIN而非子查询MySQL UPDATE不支持直接SET population (SELECT ...)引用同一表JOIN是标准解法ROUND(..., 0)确保填充后仍为整型避免小数人口。5.7 生产就绪技巧为高并发查询添加查询缓存层当QPS 100时即使索引优化单表查询仍可能成为瓶颈。我的做法是应用层缓存用Redis缓存高频查询结果如GET cities:CAMySQL查询缓存已弃用不推荐终极方案物化视图模拟MySQL无原生MV用定时任务-- 创建汇总表每日凌晨更新 CREATE TABLE usa_cities_summary AS SELECT state, COUNT(*) as city_count, AVG(population) as avg_pop FROM cj_areas_usa WHERE population IS NOT NULL GROUP BY state; -- 添加定时事件每天02:00刷新 CREATE EVENT refresh_summary ON SCHEDULE EVERY 1 DAY STARTS 2023-01-01 02:00:00 DO TRUNCATE TABLE usa_cities_summary; INSERT INTO usa_cities_summary SELECT state, COUNT(*), AVG(population) FROM cj_areas_usa WHERE population IS NOT NULL GROUP BY state;这样报表系统查usa_cities_summary表永远毫秒级响应而原始表cj_areas_usa专注写入和明细查询。6. 数据演进与维护如何让这份43351条数据持续保鲜6.1 数据更新机制识别官方源与增量更新路径cj_areas_usa.sql基于US Census 2020 Gazetteer Files但人口、ZIP边界会动态变化。我建立了一套低成本更新流程年度快照更新每年1月访问 Census Bureau Gazetteer Files 下载最新places_2023.txt差异检测脚本用Python比对新旧文件的USPS ZIP和INCORPORATED PLACE字段生成delta_inserts.sql和delta_updates.sql安全更新-- 先备份 CREATE TABLE cj_areas_usa_backup AS SELECT * FROM cj_areas_usa; -- 再执行增量 SOURCE delta_inserts.sql; SOURCE delta_updates.sql;关键经验绝不直接TRUNCATE RELOAD因为业务表可能有外键关联。增量更新是生产环境的后悔药。6.2 字段扩展实践为业务需求动态添加列不破坏原有结构某次接入天气API需存储每个城市的weather_station_id。我选择-- 添加新字段允许NULL不影响现有查询 ALTER TABLE cj_areas_usa ADD COLUMN weather_station_id VARCHAR(20) DEFAULT NULL AFTER zip; -- 用批量UPDATE填充从天气API获取 UPDATE cj_areas_usa t1 JOIN weather_stations t2 ON t1.city t2.city AND t1.state t2.state SET t1.weather_station_id t2.station_id;为什么用AFTER zip保持地理信息字段city/state/zip/lat/lng物理连续提升磁盘IO效率为什么DEFAULT NULL避免NOT NULL约束导致历史数据无法插入新字段由业务逐步填充。6.3 权限最小化原则给不同角色分配精准数据库权限Web应用用户cities_app仅SELECT权限禁止INSERT/UPDATE/DELETEETL任务用户etl_userSELECT, INSERT, UPDATE但仅限cj_areas_usa表DBA用户dba_adminALL PRIVILEGES但需SSH密钥认证-- 严格执行 REVOKE INSERT, UPDATE, DELETE ON usa_cities.* FROM cities_applocalhost; GRANT SELECT ON usa_cities.cj_areas_usa TO cities_applocalhost; FLUSH PRIVILEGES;从那以后我每次上线新服务都强制走一遍权限审计脚本——用SELECT user, host, select_priv, insert_priv FROM mysql.user;核对再用SHOW GRANTS FOR cities_applocalhost;确认。数据安全不是靠运气是靠肌肉记忆。希望帮到你。本文还有配套的精品资源点击获取
企业数字化 ERP 产品动态
相关推荐
齿轮箱故障数据预处理实战:从解压到特征工程全链路指南 简介:本资源为面向机械故障诊断与智能运维领域的齿轮箱多模态故障数据集,适用于高校研究生、工业算法工程师及设备健康监测方向的科研学习者,支撑振动分析、声学诊断、温度建模等典型故障预测任务。压缩包共15个文件,含6幅频谱/时… · 2026/9/25 23:23:40
用Ghidra MCP做恶意软件分析:行为检测、IOC提取与反分析技术识别完全指南 用Ghidra MCP做恶意软件分析:行为检测、IOC提取与反分析技术识别完全指南 【免费下载链接】ghidra-mcp Ghidra MCP Server — 200 MCP tools for AI-powered reverse engineering. GUI plugin headless server, lazy tool loading, convention enforcement, batch … · 2026/9/25 23:23:33
Java IO字节流与字符流:读写原理、编码转换与乱码排查指南 写文件这事,看着简单,翻来覆去就 open、write、close 几行代码。但只要你在这个行业待过一两年,就一定遇到过中文乱码、文件复制了一半、读写速度慢到怀疑人生、或者程序跑着跑着报出“Stream closed”这种莫名其妙的问题。这些坑,… · 2026/9/25 23:23:12
WinForms多选下拉控件:继承ComboBox并自绘复选框 简介:一套面向 Windows 桌面开发者的自定义控件源码,实现将复选框(Checkbox)整合进组合框(Combobox)的“CheckComboBox”类;它解决了普通下拉列表只能单选、无法直观显示多选状态的问题… · 2026/9/25 23:52:45
C#人脸识别实战:ViewFaceCore从检测到比对全流程 简介:ViewFaceCore 是一份面向 C# 开发者的开源人脸识别库资源,基于 SeetaFace6 封装,适用于需要在 .NET 项目中快速集成人脸检测与识别能力的开发者,无论是入门练手还是商业项目均可免费无限制使用。资源包共 57 个文件ÿ… · 2026/9/25 23:52:39
VS2019编译完成的paho.mqtt.cpp库使用指南:从链接到稳定运行 简介:本资源是面向C开发者的MQTT客户端库编译成果包,针对在Visual Studio 2019环境下集成paho.mqtt.cpp时反复踩坑、编译失败的问题,提供一套可直接复用的完整工程。包内包含paho.mqtt.cpp源代码、已编译生成的dll动态库与lib静态库ÿ… · 2026/9/25 23:52:39
ViewFaceCore实战:C#本地人脸识别从检测到比对全流程 简介:ViewFaceCore 是一份面向 C# 开发者的开源人脸识别库资源,基于 SeetaFace6 封装,适合需要在 .NET 项目中快速集成人脸检测与识别能力的开发者,无论是初学者还是有一定经验的工程师都能低门槛上手。资源包共 57 个文件&#x… · 2026/9/25 23:52:33
C#上位机仪表控件自绘实战:圆表、直表、旋钮、开关与指示灯 简介:这是一份面向C#开发者与工控组态界面设计人员的仪表控件示例资源,围绕圆表、直表(测量标尺)、旋钮、开关和指示灯等常见仿真控件展开,帮助读者在WinForm项目中快速搭建具有真实设备质感的可视化操作界面。资源包共… · 2026/9/25 23:52:21
NSIS+Duilib 仿 QQ 安装包:界面与流程完整落地 简介:这份资源是一套基于NSIS与Duilib构建仿QQ风格安装包的完整工程,面向希望掌握Windows桌面安装程序开发与自定义UI的中高级C开发者。它解决的是传统安装包界面粗糙、交互生硬的问题,通过Duilib实现接近QQ的视觉与操作体验,同时… · 2026/9/25 23:52:21
创维E900V22D刷机全攻略:S905L3SB芯片兼容性解析与救砖实战 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 1:00:31
MQTT协议原理与Broker服务器搭建实战:从Mosquitto到EMQX /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 1:00:37