Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

GeoDataQueryPlatform

是一个基于 Flask 框架开发的 地质资料信息管理与地图检索系统。它采用前后端一体化架构(后端API + 内嵌前端HTML/JS),使用 SQLite 作为数据库,主要功能涵盖用户管理、数据导入导出、多条件检索及地图可视化查询。 以下是代码的核心内容介绍:

  1. 技术栈与基础配置 后端:Flask + Flask-CORS + SQLAlchemy (ORM) + Pandas 数据库:SQLite (geo.db) 前端:原生 HTML/CSS/JavaScript + Leaflet.js (地图库) 安全:使用 werkzeug.security 进行密码哈希加密,Session 机制管理登录状态
  2. 数据库模型设计 定义了三个核心数据表: GeologicalReport (地质报告):存储档案号、标题、编制单位、矿种、经纬度(度分秒及十进制)、行政区划、项目描述等字段。 User (用户):包含用户名、密码哈希、角色(admin/user)、部门、姓名等信息。 Setting (系统设置):键值对配置,如控制是否开放注册 (allow_register)。
  3. 核心业务功能 🔐 用户与权限管理 登录/登出/会话检查:支持 Session 保持。 用户注册:受系统设置开关控制,仅当管理员开启时允许注册。 修改密码:验证旧密码后更新新密码。 管理员后台:可切换注册开关、查看用户列表。 📊 数据管理 Excel 导入:管理员上传 .xlsx 文件,系统自动解析并批量写入数据库,同时将“度分秒”格式的经纬度转换为十进制以便地图定位。 Excel 导出:用户勾选检索结果后,可按 ID 批量导出为 Excel 文件下载。 🔍 多维度检索 文本搜索:支持按标题、单位、报告类型、矿种、省市县、作者、档案号等8个字段模糊组合查询。 地图框选搜索:在地图上绘制矩形,查询范围内的地质报告。 半径搜索:输入中心点经纬度和半径(米),计算并返回圆形范围内的记录。
  4. 前端界面功能 代码中内嵌了完整的单页应用(SPA)HTML,包含: 交互式地图:集成高德/Google瓦片地图,支持矢量、影像、地形三种底图切换;搜索结果以 Marker 形式展示并自动适配视野。 响应式布局:包含登录面板、管理上传区、筛选表单、地图容器、结果列表及多个模态框(注册、半径搜索、改密)。 动态交互:全选/反选、实时计数、异步请求无刷新操作。
  5. 初始化与运行 启动时自动创建数据库表和目录结构。 内置默认管理员账号 (admin / admin123)。 服务监听 0.0.0.0:5000

About

基于Flask+Leaflet的轻量级地质资料管理与空间查询系统,支持Excel导入、多条件检索、地图可视化及权限管理。

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages