Coder Social home page Coder Social logo

city's Introduction

city

一款用于生成行政区划联动数据的小工具,如

[{
    "name":"北京市",
    "children":[{
        "name":"东城区"
    },{
        "name":"西城区"
    }]
},{
    "name":"天津市",
    "children":[{
        "name":"和平区"
    }]
}]

特色

  • 数据权威,来自国家统计局,每年更新
  • 自由选择是否包含海外国家列表数据(来自维基百科)
  • 自由选择生成一级(省)、二级(省市)、三级(省市县)数据
  • 可自定义数据对象键名(key)
  • 支持输出JSON、原生js文件、AMD/CMD规范js文件
  • 支持输出压缩后的代码及格式化后的代码
  • 支持输出地区代码(身份证前6位)
  • 支持拼音输出
  • 支持自定义去除 省|市|区|地区|县 等后缀

使用方法

使用npm安装

npm install -g city

使用:

city

支持参数:

  • -V --version 输出版本号
  • -h --help 输出菜单
  • -l --level level 输出指定级别行政区数据,取值1-3
  • -k --key name,children,code 自定义输出格式中的对象键名(必须包含三个值)
  • -o --output fileName 输出文件路径
  • -j --js varibleName 以指定变量名输出js文件(配合--output选项写入文件)
  • -a --amd 以AMD规范输出js文件
  • -m --cmd 以CMD规范输出js文件
  • -p --pretty 格式化输出
  • -s --overseas 包含海外地区
  • -c --code 包含地区编码(身份证前6位)
  • -u --update 重新抓取原始数据
  • -y --pinyin 输出pinyin
  • -i --ignore '省|市|区|地区|县' 忽略 省|市|区|地区|县
  • -k --key name,children,code,pinyin 导出的键名(顺序不能改变,例如n,s,c,p)
  • -f --flat 'parentId' 扁平化输出,可以指定parentId参数名称
  •  `--closed` 地区树结点默认为关闭状态
    
  •  `--father` 转出指定父节点的所有子节点,不含父节点
    
  • -r --reserve 转出以子节点为根的树,便于倒查父节点

示例:

  1. 嵌套方式列出所有地区,name改为n,children改为s,code改为c,并带上地区编码
city -k n,s,c -o ./area.json -c
  1. 平面方式列出所有地区,name改为n,children改为s,code改为c,parentId为p,并带上地区编码
city -k n,s,c -o ./flat-area.json -c -f p
  1. 倒树方式列出所有地区,子地区的code为key,val为父地区的{code:code, name:name};
city -k n,s,c -o ./reverse-area.js -j reverse_area -r

Todo

Changelog

2020.06.12

  • 更新内置 citydata.json 数据
  • 移除 市辖区 数据项

city's People

Contributors

basecss avatar chariothy avatar lyfeyaj avatar toobug avatar xiaoweb avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

city's Issues

站点计划

有这个想法很久了,计划年后搞一搞。

站点主要包含一下功能:

  • 在线数据查询(区划代码,邮政编码,城市归属信息)
  • 在线数据导出功能,用户根据需要可自行导出想要的数据。这块包括导出的数据字段名称也需要自定义。

另外就是基于这个想法,还要想想在数据可视化方向有什么好玩的。

暂时就想这么多,后面有什么其他想法再同步过来。

数据量太多

数据量实在太多了。js太大加载很慢。一个js大小100多K,如果将name全部改为n的话,起码减掉了50K,1W人在线访问的网站的话,是不少的带宽。不知楼主看过QQ注册没有。那个里面也是用的简写的n,我看代码有洁癖,留言希望楼主改一下啊。精益求精,祝越做越好。

todo

  • 扩展node模块,可选择指定数据段
  • 引入地区相关数据,比如:区划代码,邮政编码
  • 引入海外主要城市数据
  • 兼容xml数据格式

调整数据结构,太多的name了。。。。蛋疼

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.