从ESRI REST服务获取GeoJSON至QGIS遇网络错误及日期格式问题求助
解决方案一:通过QGIS内置功能加载2024年的ESRI REST服务数据
方法1:使用ArcGIS REST Server数据源添加并过滤
- 打开QGIS,依次点击「图层」→「添加图层」→「添加ArcGIS REST Server图层」
- 点击「新建」,自定义服务名称后,填入服务地址:
https://services7.arcgis.com/y95H5eof6gfZNRUA/arcgis/rest/services/ShootingsV2/FeatureServer/0,点击「确定」 - 选中新建的连接,点击「连接」,在弹出的图层列表中选择目标图层并点击「添加」
- 在「查询构建器」中输入过滤条件:
"RptYear" = 2024,确认后即可加载指定年份的数据
方法2:构造带过滤参数的GeoJSON URL直接加载
如果上述方法仍遇网络错误,可手动构造请求URL,通过「添加矢量图层」加载:
- 构造URL:
https://services7.arcgis.com/y95H5eof6gfZNRUA/arcgis/rest/services/ShootingsV2/FeatureServer/0/query?where=RptYear%3D2024&outFields=*&returnGeometry=true&f=geojson - 点击「图层」→「添加图层」→「添加矢量图层」,将上述URL粘贴到「源」输入框,格式选择「GeoJSON」,点击「添加」
网络错误排查
- 检查QGIS网络代理设置:「设置」→「选项」→「网络」,确保代理配置与你的网络环境匹配(无需代理则选「无代理」)
- 尝试关闭防火墙或安全软件,确认是否为网络拦截导致连接失败
解决方案二:修复导出GeoJSON的日期格式问题
导出的offense_dttm字段长数字是ESRI毫秒级时间戳,可通过QGIS字段计算器转换为正常日期:
- 加载导出的GeoJSON文件到QGIS
- 打开图层属性,切换到「字段」选项卡,点击「字段计算器」
- 勾选「创建新字段」,设置:
- 字段名:
offense_datetime - 字段类型:「日期和时间」
- 字段名:
- 在表达式框输入:
to_datetime("offense_dttm"/1000) - 点击「确定」,即可生成格式正常的日期时间字段
内容的提问来源于stack exchange,提问作者user28348051
相关产品推荐
相关产品推荐

