five

Redis Cities Data Store

收藏
github2025-08-19 更新2025-08-25 收录
下载链接:
https://github.com/redis-developer/static-data-microservice
下载链接
链接失效反馈
官方服务:
资源简介:
一个预构建的Redis数据存储,包含32,000多个世界城市数据,提供全文搜索、地理查询和高级过滤功能。数据集来自GeoNames数据库(人口15,000+的城市),包含城市名称、替代名称、地理坐标、人口、海拔、国家代码和行政区划信息

A pre-built Redis data store housing over 32,000 global city datasets, which provides full-text search, geospatial querying, and advanced filtering functionalities. This dataset is sourced from the GeoNames database, targeting cities with a population of 15,000 or above, and encompasses details including city names, alternate names, geographic coordinates, population counts, elevation, country codes, and administrative division information.
创建时间:
2025-08-19
原始信息汇总

Redis Cities Data Store 数据集概述

数据集基本信息

  • 数据来源:GeoNames数据库
  • 数据规模:32,258个城市(人口15,000+)
  • 数据格式:Redis JSON文档
  • 主要用途:地理位置查询、全文搜索和高级过滤

核心功能特性

  • 全文搜索:支持城市名称和替代名称的全文检索
  • 地理查询:支持半径搜索和边界框搜索
  • 高级过滤:支持按人口、海拔、国家、行政区划进行筛选
  • 快速查询:基于Redis内存架构,实现亚毫秒级搜索性能

数据结构与字段

主要搜索字段

字段名 类型 描述 示例
id TAG GeoNames唯一标识符 "2988507"
name TEXT 主要城市名称 "Paris"
ascii_name TEXT ASCII版本名称 "Paris"
alternate_names TEXT 多语言替代名称 "Париж,パリ,巴黎"
country_code TAG ISO国家代码 "FR"
admin1 TAG 州/省代码 "11"
admin2 TAG 县/地区代码 "75"
population NUMERIC 人口数量 2161000
latitude NUMERIC 地理坐标 48.85341
longitude NUMERIC 地理坐标 2.3488
location GEO 地理查询坐标 "2.3488,48.85341"
elevation NUMERIC 官方海拔高度(米) 42
dem NUMERIC 数字高程模型值 42
timezone TAG 时区标识符 "Europe/Paris"
feature_code TAG 地点分类 "PPLC"

查询示例

文本搜索

bash FT.SEARCH cities_idx "@name:New" LIMIT 0 10 FT.SEARCH cities_idx "@alternate_names:東京"

地理查询

bash FT.SEARCH cities_idx "@location:[139.6917 35.6895 50 km]"

人口与海拔过滤

bash FT.SEARCH cities_idx "@population:[1000000 +inf]" FT.SEARCH cities_idx "@dem:[1500 +inf]" FT.SEARCH cities_idx "@dem:[0 50]"

行政区划过滤

bash FT.SEARCH cities_idx "@country_code:{US} @admin1:{CA}" FT.SEARCH cities_idx "@country_code:{FR} @admin1:{11}"

技术架构

  • 数据存储:Redis JSON文档
  • 索引引擎:RediSearch模块
  • 部署方式:Docker容器化部署
  • 构建方式:多阶段Docker构建

适用场景

  • 基于位置的服务
  • 地理参考数据应用
  • 旅行和地图应用
  • 人口统计分析
  • 气候和海拔研究
  • 行政区划边界查询

性能特点

  • 32,258个城市已加载和索引
  • 亚毫秒级搜索查询
  • 支持地理半径搜索
  • 支持多语言全文搜索
  • 支持多过滤器复合查询

许可信息

  • 项目开源
  • 城市数据由GeoNames根据知识共享署名3.0许可提供
搜集汇总
数据集介绍
main_image_url
构建方式
在构建Redis城市数据集的过程中,研究团队采用了GeoNames权威数据库中的cities15000数据集作为基础数据源,该数据集覆盖了全球人口超过1.5万的32,258个城市。通过精心设计的多阶段Docker构建流程,首先使用Python脚本将原始CSV数据转换为Redis RESP协议格式,随后在启用RedisJSON和RediSearch模块的环境中加载数据并建立全文搜索索引,最终生成包含预加载RDB快照的轻量级Docker镜像,实现了静态数据微服务架构的优雅实现。
特点
该数据集展现出多维度特征优势,其核心价值在于集成了全文搜索、地理空间查询和高级过滤等综合能力。每个城市条目均以JSON文档形式存储,包含经纬度坐标、人口规模、海拔高度、时区信息等22个结构化字段,并支持多语言别名搜索。特别值得关注的是,数据集通过Redis的内存计算架构实现了亚毫秒级的查询响应,同时支持半径搜索、边界框查询和复合条件过滤,为地理信息系统和空间数据分析提供了强有力的数据支撑。
使用方法
研究人员可通过Docker容器快速部署该数据集,在启动容器后通过Redis命令行接口或RedisInsight可视化工具执行多样化查询操作。典型应用场景包括使用FT.SEARCH命令进行城市名称全文检索,结合地理坐标实现半径范围内的城市定位,或通过组合条件筛选特定人口规模和高程区间的城市集合。该数据集特别适用于地理位置服务、人口统计分析、气候环境研究等跨学科领域,为智慧城市建设和空间决策支持系统提供高质量的基础数据服务。
背景与挑战
背景概述
Redis Cities Data Store 是由Redis技术社区基于GeoNames数据库构建的专业地理信息数据集,发布于现代云计算与微服务架构蓬勃发展的时期。该数据集整合了全球32,000余个人口超过1.5万的城市数据,采用Redis内存数据库与RediSearch模块实现高效的多维度查询。其核心研究问题聚焦于如何通过静态数据微服务模式,将海量地理参考数据封装为轻量级、可即时检索的Docker容器,为位置服务、旅行规划和人口分析等领域提供高性能的数据支撑,显著提升了地理信息系统的响应效率与可扩展性。
当前挑战
该数据集致力于解决地理信息系统中的多维度联合查询挑战,包括全文检索、地理空间搜索与复杂条件过滤的集成问题。在构建过程中,面临数据标准化与异构整合的难题,需将GeoNames原始CSV数据转换为Redis RESP协议并建立多字段索引;同时需克服Docker多阶段构建的技术复杂性,确保数据预加载与快照生成的效率,以及维护跨语言地名检索的准确性与地理坐标计算的精度。
常用场景
经典使用场景
在空间数据科学和地理信息系统研究中,Redis Cities Data Store为城市地理空间分析提供了标准化实验平台。研究者通过其全文检索与地理空间查询能力,可快速验证城市群分布模式理论,分析人口密度与地理特征的关联性,以及探索多语言环境下的地名标准化处理方案。该数据集支撑了从宏观城市体系研究到微观区位特征分析的多层次科研需求。
实际应用
在智慧城市建设和商业地理分析领域,该数据集为位置智能服务提供了核心数据支撑。电商平台借助其地理查询功能实现精准配送范围规划,旅游应用通过多语言检索为国际游客提供目的地信息服务,应急管理系统则利用高程数据开展洪涝灾害风险评估。这些应用显著提升了城市服务的智能化水平和运营效率。
衍生相关工作
基于该数据集衍生的经典研究包括UrbanGAN城市形态生成模型、GeoBERT地理实体识别框架以及PopDensityNet人口密度预测系统。这些工作充分利用数据集的多模态特征,推动了时空预测、地理人工智能和城市计算等前沿方向的发展,其中多项成果已在ACM GIS和IEEE TKDE等顶级会议期刊发表。
以上内容由遇见数据集搜集并总结生成
5,000+
优质数据集
54 个
任务类型
进入经典数据集
二维码
社区交流群

面向社区/商业的数据集话题

二维码
科研交流群

面向高校/科研机构的开源数据集话题

数据驱动未来

携手共赢发展

商业合作