├── frontend
├── .eslintignore
├── .browserslistrc
├── babel.config.js
├── public
│ ├── favicon.ico
│ ├── static
│ │ ├── img
│ │ │ ├── logo1.png
│ │ │ └── logo2.png
│ │ ├── map
│ │ │ ├── province
│ │ │ │ ├── aomen.json
│ │ │ │ ├── taiwan.json
│ │ │ │ ├── tianjin.json
│ │ │ │ ├── shanghai.json
│ │ │ │ ├── xianggang.json
│ │ │ │ ├── ningxia.json
│ │ │ │ ├── beijing.json
│ │ │ │ └── shanxi.json
│ │ │ └── china-contour.json
│ │ └── theme
│ │ │ ├── vintage.js
│ │ │ └── chalk.js
│ └── index.html
├── src
│ ├── assets
│ │ ├── logo.png
│ │ └── css
│ │ │ └── global.less
│ ├── App.vue
│ ├── store
│ │ └── index.js
│ ├── views
│ │ ├── GeoPage1.vue
│ │ ├── SexPage.vue
│ │ ├── GeoPage2.vue
│ │ ├── StarPage1.vue
│ │ ├── StarPage2.vue
│ │ ├── ProvincePage1.vue
│ │ ├── ProvincePage2.vue
│ │ ├── StarGroup.vue
│ │ └── ProvinceGroup.vue
│ ├── main.js
│ ├── router
│ │ └── index.js
│ └── components
│ │ ├── Star2.vue
│ │ ├── Province2.vue
│ │ ├── Star.vue
│ │ ├── Province1.vue
│ │ └── Sex.vue
├── .editorconfig
├── .gitignore
├── vue.config.js
├── .eslintrc.js
├── README.md
└── package.json
├── backend
└── mysite
│ ├── mysite
│ ├── __init__.py
│ ├── __pycache__
│ │ ├── urls.cpython-39.pyc
│ │ ├── wsgi.cpython-39.pyc
│ │ ├── views.cpython-39.pyc
│ │ ├── __init__.cpython-39.pyc
│ │ └── settings.cpython-39.pyc
│ ├── views.py
│ ├── asgi.py
│ ├── wsgi.py
│ ├── templates
│ │ └── index.html
│ ├── urls.py
│ └── settings.py
│ ├── student
│ ├── __init__.py
│ ├── migrations
│ │ ├── __init__.py
│ │ ├── __pycache__
│ │ │ ├── __init__.cpython-39.pyc
│ │ │ ├── 0001_initial.cpython-39.pyc
│ │ │ ├── 0007_sexinfo.cpython-39.pyc
│ │ │ ├── 0008_geoinfo.cpython-39.pyc
│ │ │ ├── 0009_anhuigeoinfo.cpython-39.pyc
│ │ │ ├── 0004_student_byword.cpython-39.pyc
│ │ │ ├── 0006_starinfo_value.cpython-39.pyc
│ │ │ ├── 0003_remove_student_byword.cpython-39.pyc
│ │ │ ├── 0002_student_byword_student_constellation.cpython-39.pyc
│ │ │ ├── 0005_starinfo_alter_student_constellation.cpython-39.pyc
│ │ │ └── 0010_provinceinfo_alter_anhuigeoinfo_options_and_more.cpython-39.pyc
│ │ ├── 0003_remove_student_byword.py
│ │ ├── 0004_student_byword.py
│ │ ├── 0006_starinfo_value.py
│ │ ├── 0009_anhuigeoinfo.py
│ │ ├── 0007_sexinfo.py
│ │ ├── 0002_student_byword_student_constellation.py
│ │ ├── 0008_geoinfo.py
│ │ ├── 0005_starinfo_alter_student_constellation.py
│ │ ├── 0010_provinceinfo_alter_anhuigeoinfo_options_and_more.py
│ │ └── 0001_initial.py
│ ├── tests.py
│ ├── __pycache__
│ │ ├── admin.cpython-39.pyc
│ │ ├── apps.cpython-39.pyc
│ │ ├── forms.cpython-39.pyc
│ │ ├── models.cpython-39.pyc
│ │ ├── urls.cpython-39.pyc
│ │ ├── views.cpython-39.pyc
│ │ ├── __init__.cpython-39.pyc
│ │ └── serializers.cpython-39.pyc
│ ├── apps.py
│ ├── urls.py
│ ├── admin.py
│ ├── static
│ │ └── info.css
│ ├── forms.py
│ ├── templates
│ │ ├── succeed.html
│ │ └── info.html
│ ├── serializers.py
│ ├── models.py
│ └── views.py
│ ├── requirements.txt
│ └── manage.py
├── .gitignore
├── logo.png
├── assets
├── 01.jpg
├── 02.jpg
└── logo.png
├── LICENSE
└── README.md
/frontend/.eslintignore:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/backend/mysite/mysite/__init__.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/backend/mysite/student/__init__.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | *.ini
2 | /.vscode
3 | .idea
4 |
--------------------------------------------------------------------------------
/backend/mysite/student/migrations/__init__.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/frontend/.browserslistrc:
--------------------------------------------------------------------------------
1 | > 1%
2 | last 2 versions
3 | not dead
4 |
--------------------------------------------------------------------------------
/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sun0225SUN/Student-Data-Vision/HEAD/logo.png
--------------------------------------------------------------------------------
/assets/01.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sun0225SUN/Student-Data-Vision/HEAD/assets/01.jpg
--------------------------------------------------------------------------------
/assets/02.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sun0225SUN/Student-Data-Vision/HEAD/assets/02.jpg
--------------------------------------------------------------------------------
/assets/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sun0225SUN/Student-Data-Vision/HEAD/assets/logo.png
--------------------------------------------------------------------------------
/backend/mysite/student/tests.py:
--------------------------------------------------------------------------------
1 | from django.test import TestCase
2 |
3 | # Create your tests here.
4 |
--------------------------------------------------------------------------------
/frontend/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | presets: [
3 | '@vue/cli-plugin-babel/preset'
4 | ]
5 | }
6 |
--------------------------------------------------------------------------------
/frontend/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sun0225SUN/Student-Data-Vision/HEAD/frontend/public/favicon.ico
--------------------------------------------------------------------------------
/frontend/src/assets/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sun0225SUN/Student-Data-Vision/HEAD/frontend/src/assets/logo.png
--------------------------------------------------------------------------------
/backend/mysite/requirements.txt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sun0225SUN/Student-Data-Vision/HEAD/backend/mysite/requirements.txt
--------------------------------------------------------------------------------
/frontend/public/static/img/logo1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sun0225SUN/Student-Data-Vision/HEAD/frontend/public/static/img/logo1.png
--------------------------------------------------------------------------------
/frontend/public/static/img/logo2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sun0225SUN/Student-Data-Vision/HEAD/frontend/public/static/img/logo2.png
--------------------------------------------------------------------------------
/frontend/.editorconfig:
--------------------------------------------------------------------------------
1 | [*.{js,jsx,ts,tsx,vue}]
2 | indent_style = space
3 | indent_size = 2
4 | trim_trailing_whitespace = true
5 | insert_final_newline = true
6 |
--------------------------------------------------------------------------------
/frontend/src/App.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
9 |
--------------------------------------------------------------------------------
/backend/mysite/mysite/__pycache__/urls.cpython-39.pyc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sun0225SUN/Student-Data-Vision/HEAD/backend/mysite/mysite/__pycache__/urls.cpython-39.pyc
--------------------------------------------------------------------------------
/backend/mysite/mysite/__pycache__/wsgi.cpython-39.pyc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sun0225SUN/Student-Data-Vision/HEAD/backend/mysite/mysite/__pycache__/wsgi.cpython-39.pyc
--------------------------------------------------------------------------------
/backend/mysite/mysite/__pycache__/views.cpython-39.pyc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sun0225SUN/Student-Data-Vision/HEAD/backend/mysite/mysite/__pycache__/views.cpython-39.pyc
--------------------------------------------------------------------------------
/backend/mysite/student/__pycache__/admin.cpython-39.pyc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sun0225SUN/Student-Data-Vision/HEAD/backend/mysite/student/__pycache__/admin.cpython-39.pyc
--------------------------------------------------------------------------------
/backend/mysite/student/__pycache__/apps.cpython-39.pyc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sun0225SUN/Student-Data-Vision/HEAD/backend/mysite/student/__pycache__/apps.cpython-39.pyc
--------------------------------------------------------------------------------
/backend/mysite/student/__pycache__/forms.cpython-39.pyc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sun0225SUN/Student-Data-Vision/HEAD/backend/mysite/student/__pycache__/forms.cpython-39.pyc
--------------------------------------------------------------------------------
/backend/mysite/student/__pycache__/models.cpython-39.pyc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sun0225SUN/Student-Data-Vision/HEAD/backend/mysite/student/__pycache__/models.cpython-39.pyc
--------------------------------------------------------------------------------
/backend/mysite/student/__pycache__/urls.cpython-39.pyc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sun0225SUN/Student-Data-Vision/HEAD/backend/mysite/student/__pycache__/urls.cpython-39.pyc
--------------------------------------------------------------------------------
/backend/mysite/student/__pycache__/views.cpython-39.pyc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sun0225SUN/Student-Data-Vision/HEAD/backend/mysite/student/__pycache__/views.cpython-39.pyc
--------------------------------------------------------------------------------
/backend/mysite/mysite/__pycache__/__init__.cpython-39.pyc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sun0225SUN/Student-Data-Vision/HEAD/backend/mysite/mysite/__pycache__/__init__.cpython-39.pyc
--------------------------------------------------------------------------------
/backend/mysite/mysite/__pycache__/settings.cpython-39.pyc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sun0225SUN/Student-Data-Vision/HEAD/backend/mysite/mysite/__pycache__/settings.cpython-39.pyc
--------------------------------------------------------------------------------
/backend/mysite/student/__pycache__/__init__.cpython-39.pyc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sun0225SUN/Student-Data-Vision/HEAD/backend/mysite/student/__pycache__/__init__.cpython-39.pyc
--------------------------------------------------------------------------------
/backend/mysite/student/__pycache__/serializers.cpython-39.pyc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sun0225SUN/Student-Data-Vision/HEAD/backend/mysite/student/__pycache__/serializers.cpython-39.pyc
--------------------------------------------------------------------------------
/backend/mysite/student/migrations/__pycache__/__init__.cpython-39.pyc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sun0225SUN/Student-Data-Vision/HEAD/backend/mysite/student/migrations/__pycache__/__init__.cpython-39.pyc
--------------------------------------------------------------------------------
/backend/mysite/student/migrations/__pycache__/0001_initial.cpython-39.pyc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sun0225SUN/Student-Data-Vision/HEAD/backend/mysite/student/migrations/__pycache__/0001_initial.cpython-39.pyc
--------------------------------------------------------------------------------
/backend/mysite/student/migrations/__pycache__/0007_sexinfo.cpython-39.pyc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sun0225SUN/Student-Data-Vision/HEAD/backend/mysite/student/migrations/__pycache__/0007_sexinfo.cpython-39.pyc
--------------------------------------------------------------------------------
/backend/mysite/student/migrations/__pycache__/0008_geoinfo.cpython-39.pyc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sun0225SUN/Student-Data-Vision/HEAD/backend/mysite/student/migrations/__pycache__/0008_geoinfo.cpython-39.pyc
--------------------------------------------------------------------------------
/backend/mysite/student/migrations/__pycache__/0009_anhuigeoinfo.cpython-39.pyc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sun0225SUN/Student-Data-Vision/HEAD/backend/mysite/student/migrations/__pycache__/0009_anhuigeoinfo.cpython-39.pyc
--------------------------------------------------------------------------------
/backend/mysite/student/migrations/__pycache__/0004_student_byword.cpython-39.pyc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sun0225SUN/Student-Data-Vision/HEAD/backend/mysite/student/migrations/__pycache__/0004_student_byword.cpython-39.pyc
--------------------------------------------------------------------------------
/backend/mysite/student/migrations/__pycache__/0006_starinfo_value.cpython-39.pyc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sun0225SUN/Student-Data-Vision/HEAD/backend/mysite/student/migrations/__pycache__/0006_starinfo_value.cpython-39.pyc
--------------------------------------------------------------------------------
/backend/mysite/student/apps.py:
--------------------------------------------------------------------------------
1 | from django.apps import AppConfig
2 |
3 |
4 | class StudentConfig(AppConfig):
5 | default_auto_field = 'django.db.models.BigAutoField'
6 | name = 'student'
7 | verbose_name = u"信息管理"
8 |
--------------------------------------------------------------------------------
/backend/mysite/student/migrations/__pycache__/0003_remove_student_byword.cpython-39.pyc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sun0225SUN/Student-Data-Vision/HEAD/backend/mysite/student/migrations/__pycache__/0003_remove_student_byword.cpython-39.pyc
--------------------------------------------------------------------------------
/backend/mysite/mysite/views.py:
--------------------------------------------------------------------------------
1 | from django.http import HttpResponseRedirect
2 | from django.shortcuts import render
3 | from django.urls import reverse
4 |
5 |
6 | def index(request):
7 | return render(request, 'index.html', context=None)
8 |
--------------------------------------------------------------------------------
/backend/mysite/student/migrations/__pycache__/0002_student_byword_student_constellation.cpython-39.pyc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sun0225SUN/Student-Data-Vision/HEAD/backend/mysite/student/migrations/__pycache__/0002_student_byword_student_constellation.cpython-39.pyc
--------------------------------------------------------------------------------
/backend/mysite/student/migrations/__pycache__/0005_starinfo_alter_student_constellation.cpython-39.pyc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sun0225SUN/Student-Data-Vision/HEAD/backend/mysite/student/migrations/__pycache__/0005_starinfo_alter_student_constellation.cpython-39.pyc
--------------------------------------------------------------------------------
/frontend/src/store/index.js:
--------------------------------------------------------------------------------
1 | import Vue from 'vue'
2 | import Vuex from 'vuex'
3 |
4 | Vue.use(Vuex)
5 |
6 | export default new Vuex.Store({
7 | state: {
8 | },
9 | mutations: {
10 | },
11 | actions: {
12 | },
13 | modules: {
14 | }
15 | })
16 |
--------------------------------------------------------------------------------
/backend/mysite/student/migrations/__pycache__/0010_provinceinfo_alter_anhuigeoinfo_options_and_more.cpython-39.pyc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sun0225SUN/Student-Data-Vision/HEAD/backend/mysite/student/migrations/__pycache__/0010_provinceinfo_alter_anhuigeoinfo_options_and_more.cpython-39.pyc
--------------------------------------------------------------------------------
/frontend/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | node_modules
3 | /dist
4 |
5 |
6 | # local env files
7 | .env.local
8 | .env.*.local
9 |
10 | # Log files
11 | npm-debug.log*
12 | yarn-debug.log*
13 | yarn-error.log*
14 | pnpm-debug.log*
15 |
16 | # Editor directories and files
17 | .idea
18 | .vscode
19 | *.suo
20 | *.ntvs*
21 | *.njsproj
22 | *.sln
23 | *.sw?
24 |
--------------------------------------------------------------------------------
/frontend/vue.config.js:
--------------------------------------------------------------------------------
1 | // vue配置
2 | const webpack = require('webpack')
3 | module.exports = {
4 | devServer: {
5 | port: 8999, // 端口号
6 | open: true // 自动打开
7 | },
8 | configureWebpack: {
9 | plugins: [
10 | new webpack.ProvidePlugin({
11 | $: 'jquery',
12 | jQuery: 'jquery',
13 | 'window.jQuery': 'jquery'
14 | })
15 | ]
16 | }
17 |
18 | }
19 |
--------------------------------------------------------------------------------
/frontend/.eslintrc.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | root: true,
3 | env: {
4 | node: true
5 | },
6 | extends: [
7 | 'plugin:vue/essential',
8 | '@vue/standard'
9 | ],
10 | parserOptions: {
11 | parser: 'babel-eslint'
12 | },
13 | rules: {
14 | 'no-console': process.env.NODE_ENV === 'production' ? 'warn' : 'off',
15 | 'no-debugger': process.env.NODE_ENV === 'production' ? 'warn' : 'off'
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/frontend/README.md:
--------------------------------------------------------------------------------
1 | # vision
2 |
3 | ## Project setup
4 | ```
5 | npm install
6 | ```
7 |
8 | ### Compiles and hot-reloads for development
9 | ```
10 | npm run serve
11 | ```
12 |
13 | ### Compiles and minifies for production
14 | ```
15 | npm run build
16 | ```
17 |
18 | ### Lints and fixes files
19 | ```
20 | npm run lint
21 | ```
22 |
23 | ### Customize configuration
24 | See [Configuration Reference](https://cli.vuejs.org/config/).
25 |
--------------------------------------------------------------------------------
/backend/mysite/student/migrations/0003_remove_student_byword.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 4.0 on 2021-12-21 14:18
2 |
3 | from django.db import migrations
4 |
5 |
6 | class Migration(migrations.Migration):
7 |
8 | dependencies = [
9 | ('student', '0002_student_byword_student_constellation'),
10 | ]
11 |
12 | operations = [
13 | migrations.RemoveField(
14 | model_name='student',
15 | name='byword',
16 | ),
17 | ]
18 |
--------------------------------------------------------------------------------
/backend/mysite/mysite/asgi.py:
--------------------------------------------------------------------------------
1 | """
2 | ASGI config for mysite project.
3 |
4 | It exposes the ASGI callable as a module-level variable named ``application``.
5 |
6 | For more information on this file, see
7 | https://docs.djangoproject.com/en/4.0/howto/deployment/asgi/
8 | """
9 |
10 | import os
11 |
12 | from django.core.asgi import get_asgi_application
13 |
14 | os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'mysite.settings')
15 |
16 | application = get_asgi_application()
17 |
--------------------------------------------------------------------------------
/backend/mysite/mysite/wsgi.py:
--------------------------------------------------------------------------------
1 | """
2 | WSGI config for mysite project.
3 |
4 | It exposes the WSGI callable as a module-level variable named ``application``.
5 |
6 | For more information on this file, see
7 | https://docs.djangoproject.com/en/4.0/howto/deployment/wsgi/
8 | """
9 |
10 | import os
11 |
12 | from django.core.wsgi import get_wsgi_application
13 |
14 | os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'mysite.settings')
15 |
16 | application = get_wsgi_application()
17 |
--------------------------------------------------------------------------------
/frontend/src/views/GeoPage1.vue:
--------------------------------------------------------------------------------
1 | /* eslint-disable vue/valid-template-root */
2 | // 针对/starpage路由显示
3 | // 在这个组件中,通过子组件注册的方式显示Seller.vue组件
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
24 |
25 |
28 |
--------------------------------------------------------------------------------
/frontend/src/views/SexPage.vue:
--------------------------------------------------------------------------------
1 | /* eslint-disable vue/valid-template-root */
2 | // 针对/starpage路由显示
3 | // 在这个组件中,通过子组件注册的方式显示Seller.vue组件
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
24 |
25 |
28 |
--------------------------------------------------------------------------------
/frontend/src/views/GeoPage2.vue:
--------------------------------------------------------------------------------
1 | /* eslint-disable vue/valid-template-root */
2 | // 针对/starpage路由显示
3 | // 在这个组件中,通过子组件注册的方式显示Seller.vue组件
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
24 |
25 |
28 |
--------------------------------------------------------------------------------
/frontend/src/views/StarPage1.vue:
--------------------------------------------------------------------------------
1 | /* eslint-disable vue/valid-template-root */
2 | // 针对/starpage路由显示
3 | // 在这个组件中,通过子组件注册的方式显示Seller.vue组件
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
24 |
25 |
28 |
--------------------------------------------------------------------------------
/frontend/src/views/StarPage2.vue:
--------------------------------------------------------------------------------
1 | /* eslint-disable vue/valid-template-root */
2 | // 针对/starpage路由显示
3 | // 在这个组件中,通过子组件注册的方式显示Seller.vue组件
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
24 |
25 |
28 |
--------------------------------------------------------------------------------
/frontend/src/views/ProvincePage1.vue:
--------------------------------------------------------------------------------
1 | /* eslint-disable vue/valid-template-root */
2 | // 针对/starpage路由显示
3 | // 在这个组件中,通过子组件注册的方式显示Seller.vue组件
4 |
5 |
6 |
9 |
10 |
11 |
24 |
25 |
28 |
--------------------------------------------------------------------------------
/frontend/src/views/ProvincePage2.vue:
--------------------------------------------------------------------------------
1 | /* eslint-disable vue/valid-template-root */
2 | // 针对/starpage路由显示
3 | // 在这个组件中,通过子组件注册的方式显示Seller.vue组件
4 |
5 |
6 |
9 |
10 |
11 |
24 |
25 |
28 |
--------------------------------------------------------------------------------
/backend/mysite/student/migrations/0004_student_byword.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 4.0 on 2021-12-21 14:35
2 |
3 | from django.db import migrations, models
4 |
5 |
6 | class Migration(migrations.Migration):
7 |
8 | dependencies = [
9 | ('student', '0003_remove_student_byword'),
10 | ]
11 |
12 | operations = [
13 | migrations.AddField(
14 | model_name='student',
15 | name='byword',
16 | field=models.TextField(blank=True, max_length=128, verbose_name='人生格言'),
17 | ),
18 | ]
19 |
--------------------------------------------------------------------------------
/backend/mysite/student/migrations/0006_starinfo_value.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 4.0 on 2021-12-22 13:21
2 |
3 | from django.db import migrations, models
4 |
5 |
6 | class Migration(migrations.Migration):
7 |
8 | dependencies = [
9 | ('student', '0005_starinfo_alter_student_constellation'),
10 | ]
11 |
12 | operations = [
13 | migrations.AddField(
14 | model_name='starinfo',
15 | name='value',
16 | field=models.IntegerField(default=0, verbose_name='数值'),
17 | ),
18 | ]
19 |
--------------------------------------------------------------------------------
/backend/mysite/mysite/templates/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | 小孙同学
6 |
7 |
8 |
9 |
10 |
🚀 欢迎来到小孙同学《学生信息管理及可视化分析系统》 🚀
11 |
12 |
🚀 学生信息管理部分 🚀
13 |
14 |
🚀 学生信息可视化分析部分 🚀
15 |
16 |
©2021 By 小孙同学
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/frontend/src/views/StarGroup.vue:
--------------------------------------------------------------------------------
1 | /* eslint-disable vue/valid-template-root */
2 | // 针对/starpage路由显示
3 | // 在这个组件中,通过子组件注册的方式显示Seller.vue组件
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
28 |
29 |
32 |
--------------------------------------------------------------------------------
/frontend/src/views/ProvinceGroup.vue:
--------------------------------------------------------------------------------
1 | /* eslint-disable vue/valid-template-root */
2 | // 针对/starpage路由显示
3 | // 在这个组件中,通过子组件注册的方式显示Seller.vue组件
4 |
5 |
6 |
10 |
11 |
12 |
28 |
29 |
32 |
--------------------------------------------------------------------------------
/frontend/src/main.js:
--------------------------------------------------------------------------------
1 | import Vue from 'vue'
2 | import App from './App.vue'
3 | import router from './router'
4 | import store from './store'
5 | import axios from 'axios'
6 | import './assets/css/global.less'
7 | // eslint-disable-next-line no-unused-vars
8 | import $ from 'jquery'
9 |
10 | // 请求基准路径的配置
11 | axios.defaults.baseURL = 'http://127.0.0.1:8000/api/'
12 |
13 | // 将axios挂载到Vue的原型对象上
14 | // 在别的组件中 this.$http
15 | Vue.prototype.$http = axios
16 |
17 | // 将全局的echarts对象挂载到Vue的原型对象上
18 | // 别的组件中 this.$echarts
19 | Vue.prototype.$echarts = window.echarts
20 |
21 | Vue.config.productionTip = false
22 |
23 | new Vue({
24 | router,
25 | store,
26 | render: (h) => h(App)
27 | }).$mount('#app')
28 |
--------------------------------------------------------------------------------
/backend/mysite/manage.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python
2 | """Django's command-line utility for administrative tasks."""
3 | import os
4 | import sys
5 |
6 |
7 | def main():
8 | """Run administrative tasks."""
9 | os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'mysite.settings')
10 | try:
11 | from django.core.management import execute_from_command_line
12 | except ImportError as exc:
13 | raise ImportError(
14 | "Couldn't import Django. Are you sure it's installed and "
15 | "available on your PYTHONPATH environment variable? Did you "
16 | "forget to activate a virtual environment?"
17 | ) from exc
18 | execute_from_command_line(sys.argv)
19 |
20 |
21 | if __name__ == '__main__':
22 | main()
23 |
--------------------------------------------------------------------------------
/backend/mysite/student/urls.py:
--------------------------------------------------------------------------------
1 | from django.urls import path
2 | from rest_framework.routers import DefaultRouter
3 | from . import views
4 |
5 | app_name = 'student'
6 | urlpatterns = [
7 | path('info/', views.info, name='info'),
8 | path('succeed/', views.succeed, name='succeed'),
9 | path('update/', views.update, name='update'),
10 | ]
11 |
12 | router = DefaultRouter()
13 | router.register(r"api/sex", views.SexInfoViewSet)
14 | router.register(r"api/star", views.StarInfoViewSet)
15 | router.register(r"api/geo1", views.Geo1ViewSet)
16 | router.register(r"api/geo2", views.Geo2ViewSet)
17 | router.register(r"api/geo3", views.Geo3ViewSet)
18 | router.register(r"api/geo4", views.Geo4ViewSet)
19 | router.register(r"api/province", views.ProvinceInfoViewSet)
20 | urlpatterns += router.urls
21 |
--------------------------------------------------------------------------------
/backend/mysite/student/migrations/0009_anhuigeoinfo.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 4.0 on 2021-12-26 07:18
2 |
3 | from django.db import migrations, models
4 |
5 |
6 | class Migration(migrations.Migration):
7 |
8 | dependencies = [
9 | ('student', '0008_geoinfo'),
10 | ]
11 |
12 | operations = [
13 | migrations.CreateModel(
14 | name='AnhuiGeoInfo',
15 | fields=[
16 | ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
17 | ('name', models.CharField(max_length=128, verbose_name='姓名')),
18 | ('value', models.CharField(default=0, max_length=128, verbose_name='家乡坐标')),
19 | ('coords', models.CharField(default=0, max_length=128, verbose_name='箭头坐标')),
20 | ],
21 | ),
22 | ]
23 |
--------------------------------------------------------------------------------
/backend/mysite/student/migrations/0007_sexinfo.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 4.0 on 2021-12-23 16:26
2 |
3 | from django.db import migrations, models
4 |
5 |
6 | class Migration(migrations.Migration):
7 |
8 | dependencies = [
9 | ('student', '0006_starinfo_value'),
10 | ]
11 |
12 | operations = [
13 | migrations.CreateModel(
14 | name='SexInfo',
15 | fields=[
16 | ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
17 | ('name', models.CharField(max_length=128, verbose_name='性别')),
18 | ('value', models.IntegerField(default=0, verbose_name='数值')),
19 | ],
20 | options={
21 | 'verbose_name': '男女比例',
22 | 'verbose_name_plural': '男女比例',
23 | },
24 | ),
25 | ]
26 |
--------------------------------------------------------------------------------
/frontend/public/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 | 小孙同学
11 |
12 |
13 |
14 |
15 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/backend/mysite/student/migrations/0002_student_byword_student_constellation.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 4.0 on 2021-12-21 14:08
2 |
3 | from django.db import migrations, models
4 |
5 |
6 | class Migration(migrations.Migration):
7 |
8 | dependencies = [
9 | ('student', '0001_initial'),
10 | ]
11 |
12 | operations = [
13 | migrations.AddField(
14 | model_name='student',
15 | name='byword',
16 | field=models.CharField(default='人生格言', max_length=128, verbose_name='人生格言'),
17 | ),
18 | migrations.AddField(
19 | model_name='student',
20 | name='constellation',
21 | field=models.IntegerField(choices=[(0, '白羊座'), (1, '金牛座'), (2, '双子座'), (3, '巨蟹座'), (4, '狮子座'), (5, '处女座'), (6, '天秤座'), (7, '天蝎座'), (8, '射手座'), (9, '魔羯座'), (10, '水平座'), (11, '双鱼座')], default=0, verbose_name='性别'),
22 | ),
23 | ]
24 |
--------------------------------------------------------------------------------
/backend/mysite/student/admin.py:
--------------------------------------------------------------------------------
1 | # django的接口,默认已经引入。
2 | from django.contrib import admin
3 |
4 | # 引入我们自己写的数据表(类)
5 | from .models import *
6 |
7 |
8 | # 引用默认的API来自定义后台。
9 | class StudentAdmin(admin.ModelAdmin):
10 | list_display = (
11 | 'id', 'status', 'stu_id', 'name', 'sex', 'constellation', 'birthday', 'hometown', 'byword', 'created_time')
12 | search_fields = ('name', 'stu_id')
13 | # list_filter = ('sex', 'constellation', 'birthday', 'hometown', 'byword')
14 | list_editable = ('status',)
15 | fieldsets = (
16 | (None, {
17 | 'fields': (
18 | 'status',
19 | 'stu_id',
20 | 'name',
21 | 'sex',
22 | 'constellation',
23 | 'birthday',
24 | 'hometown',
25 | 'byword',
26 | )
27 | }),
28 | )
29 |
30 |
31 | # Register your models here.
32 | admin.site.register(Student, StudentAdmin)
33 |
--------------------------------------------------------------------------------
/backend/mysite/student/static/info.css:
--------------------------------------------------------------------------------
1 | * {
2 | padding: 0;
3 | margin: 0;
4 | }
5 |
6 | body {
7 | height: 100%;
8 | background-image: linear-gradient(to right, #fbc2eb, #a6c1ee);
9 | }
10 |
11 | html {
12 | height: 100%;
13 | }
14 |
15 | .base_container {
16 | height: 100%;
17 | }
18 |
19 | .form-header {
20 | margin: 0 auto;
21 | padding: 0 0 25px 0;
22 | font-size: 25px;
23 | text-align: center;
24 | }
25 |
26 | .form_wrapper {
27 | background-color: #fff;
28 | width: 550px;
29 | border-radius: 15px;
30 | padding: 50px 50px;
31 | position: relative;
32 | left: 50%;
33 | top: 50%;
34 | transform: translate(-50%, -50%);
35 | }
36 |
37 | .btn {
38 | text-align: center;
39 | padding: 10px;
40 | width: 100%;
41 | margin-top: 15px;
42 | background-image: linear-gradient(to right, #a6c1ee, #fbc2eb);
43 | color: #fff;
44 | }
45 |
46 | #id_byword {
47 | height: 66px;
48 | }
--------------------------------------------------------------------------------
/backend/mysite/mysite/urls.py:
--------------------------------------------------------------------------------
1 | """mysite URL Configuration
2 |
3 | The `urlpatterns` list routes URLs to views. For more information please see:
4 | https://docs.djangoproject.com/en/4.0/topics/http/urls/
5 | Examples:
6 | Function views
7 | 1. Add an import: from my_app import views
8 | 2. Add a URL to urlpatterns: path('', views.home, name='home')
9 | Class-based views
10 | 1. Add an import: from other_app.views import Home
11 | 2. Add a URL to urlpatterns: path('', Home.as_view(), name='home')
12 | Including another URLconf
13 | 1. Import the include() function: from django.urls import include, path
14 | 2. Add a URL to urlpatterns: path('blog/', include('blog.urls'))
15 | """
16 | from django.contrib import admin
17 | from django.urls import path, include
18 | from . import views
19 |
20 | urlpatterns = [
21 | path('', views.index),
22 | path('admin/', admin.site.urls),
23 | path('', include('student.urls')),
24 | path('api-auth/', include('rest_framework.urls'))
25 | ]
26 |
--------------------------------------------------------------------------------
/backend/mysite/student/migrations/0008_geoinfo.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 4.0 on 2021-12-23 18:41
2 |
3 | from django.db import migrations, models
4 |
5 |
6 | class Migration(migrations.Migration):
7 |
8 | dependencies = [
9 | ('student', '0007_sexinfo'),
10 | ]
11 |
12 | operations = [
13 | migrations.CreateModel(
14 | name='GeoInfo',
15 | fields=[
16 | ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
17 | ('name', models.CharField(max_length=128, verbose_name='姓名')),
18 | ('hometown', models.CharField(max_length=128, verbose_name='家乡')),
19 | ('value', models.CharField(default=0, max_length=128, verbose_name='家乡坐标')),
20 | ('coords', models.CharField(default=0, max_length=128, verbose_name='箭头坐标')),
21 | ],
22 | options={
23 | 'verbose_name': '地图坐标',
24 | 'verbose_name_plural': '地图坐标',
25 | },
26 | ),
27 | ]
28 |
--------------------------------------------------------------------------------
/frontend/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "vision",
3 | "version": "0.1.0",
4 | "private": true,
5 | "scripts": {
6 | "serve": "vue-cli-service serve",
7 | "build": "vue-cli-service build",
8 | "lint": "vue-cli-service lint"
9 | },
10 | "dependencies": {
11 | "axios": "^0.24.0",
12 | "core-js": "^3.6.5",
13 | "jquery": "^3.6.0",
14 | "vue": "^2.6.11",
15 | "vue-router": "^3.2.0",
16 | "vuex": "^3.4.0"
17 | },
18 | "devDependencies": {
19 | "@vue/cli-plugin-babel": "~4.5.0",
20 | "@vue/cli-plugin-eslint": "~4.5.0",
21 | "@vue/cli-plugin-router": "~4.5.0",
22 | "@vue/cli-plugin-vuex": "~4.5.0",
23 | "@vue/cli-service": "~4.5.0",
24 | "@vue/eslint-config-standard": "^5.1.2",
25 | "babel-eslint": "^10.1.0",
26 | "eslint-plugin-import": "^2.20.2",
27 | "eslint-plugin-node": "^11.1.0",
28 | "eslint-plugin-promise": "^4.2.1",
29 | "eslint-plugin-standard": "^4.0.0",
30 | "eslint-plugin-vue": "^6.2.2",
31 | "less": "^3.0.4",
32 | "less-loader": "^5.0.0",
33 | "vue-template-compiler": "^2.6.11"
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2022 小孙同学
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/backend/mysite/student/forms.py:
--------------------------------------------------------------------------------
1 | from django import forms
2 |
3 | from .models import Student
4 |
5 |
6 | class StudentForm(forms.ModelForm):
7 | stu_id = forms.CharField(label='学号', max_length=128)
8 | name = forms.CharField(label='姓名', max_length=128)
9 | sex = forms.ChoiceField(label='性别', choices=Student.SEX_ITEMS)
10 | constellation = forms.ChoiceField(label='星座', choices=Student.STAR_ITEMS)
11 | birthday = forms.DateField(label='生日', widget=forms.widgets.DateTimeInput(attrs={'type': 'date'}))
12 | hometown = forms.CharField(label='家庭住址', max_length=128)
13 | byword = forms.CharField(widget=forms.Textarea, label='人生格言', max_length=128)
14 |
15 | # 学号数字校验
16 | def clean_stu_id(self):
17 | cleaned_data = self.cleaned_data['stu_id']
18 | if not cleaned_data.isdigit():
19 | raise forms.ValidationError('学号必须是数字!')
20 |
21 | return int(cleaned_data)
22 |
23 | class Meta:
24 | model = Student
25 | fields = (
26 | 'stu_id', 'name', 'sex', 'constellation', 'birthday', 'hometown', 'byword'
27 | )
28 |
29 |
30 |
--------------------------------------------------------------------------------
/backend/mysite/student/templates/succeed.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | 提交成功啦!
6 |
7 |
17 |
18 |
19 | 恭喜你,提交成功啦!
20 |
21 |
22 |
23 |
24 | | 姓名 |
25 | 状态 |
26 |
27 | {% for student in students %}
28 |
29 |
30 | | {{ student.name }} |
31 | {{ student.get_status_display }} |
32 |
33 |
34 | {# {{ student.name }} {{ student.get_status_display }}
#}
35 |
36 | {% endfor %}
37 |
38 |
39 |
40 |
--------------------------------------------------------------------------------
/backend/mysite/student/migrations/0005_starinfo_alter_student_constellation.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 4.0 on 2021-12-22 12:29
2 |
3 | from django.db import migrations, models
4 |
5 |
6 | class Migration(migrations.Migration):
7 |
8 | dependencies = [
9 | ('student', '0004_student_byword'),
10 | ]
11 |
12 | operations = [
13 | migrations.CreateModel(
14 | name='StarInfo',
15 | fields=[
16 | ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
17 | ('name', models.CharField(max_length=128, verbose_name='星座名字')),
18 | ],
19 | options={
20 | 'verbose_name': '星座信息',
21 | 'verbose_name_plural': '星座信息',
22 | },
23 | ),
24 | migrations.AlterField(
25 | model_name='student',
26 | name='constellation',
27 | field=models.IntegerField(choices=[(0, '白羊座'), (1, '金牛座'), (2, '双子座'), (3, '巨蟹座'), (4, '狮子座'), (5, '处女座'), (6, '天秤座'), (7, '天蝎座'), (8, '射手座'), (9, '魔羯座'), (10, '水平座'), (11, '双鱼座')], default=0, verbose_name='星座'),
28 | ),
29 | ]
30 |
--------------------------------------------------------------------------------
/backend/mysite/student/migrations/0010_provinceinfo_alter_anhuigeoinfo_options_and_more.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 4.0 on 2021-12-26 09:22
2 |
3 | from django.db import migrations, models
4 |
5 |
6 | class Migration(migrations.Migration):
7 |
8 | dependencies = [
9 | ('student', '0009_anhuigeoinfo'),
10 | ]
11 |
12 | operations = [
13 | migrations.CreateModel(
14 | name='ProvinceInfo',
15 | fields=[
16 | ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
17 | ('name', models.CharField(max_length=128, verbose_name='省份名称')),
18 | ('value', models.IntegerField(default=0, verbose_name='数值')),
19 | ],
20 | options={
21 | 'verbose_name': '学生总数',
22 | 'verbose_name_plural': '学生总数',
23 | },
24 | ),
25 | migrations.AlterModelOptions(
26 | name='anhuigeoinfo',
27 | options={'verbose_name': '省内学生', 'verbose_name_plural': '省内学生'},
28 | ),
29 | migrations.AlterModelOptions(
30 | name='geoinfo',
31 | options={'verbose_name': '省内学生', 'verbose_name_plural': '省内学生'},
32 | ),
33 | ]
34 |
--------------------------------------------------------------------------------
/frontend/src/router/index.js:
--------------------------------------------------------------------------------
1 | import Vue from 'vue'
2 | import VueRouter from 'vue-router'
3 |
4 | import StarPage from '@/views/StarPage1'
5 | import StarPage2 from '@/views/StarPage2'
6 | import SexPage from '@/views/SexPage'
7 | import GeoPage from '@/views/GeoPage1'
8 | import GeoPage2 from '@/views/GeoPage2'
9 | import ProvincePage1 from '@/views/ProvincePage1'
10 | import ProvincePage2 from '@/views/ProvincePage2'
11 |
12 | import StarGroup from '@/views/StarGroup'
13 | import ProvinceGroup from '@/views/ProvinceGroup'
14 |
15 | Vue.use(VueRouter)
16 |
17 | const routes = [
18 | {
19 | path: '/star1',
20 | component: StarPage
21 | },
22 | {
23 | path: '/star2',
24 | component: StarPage2
25 | },
26 | {
27 | path: '/sex',
28 | component: SexPage
29 | },
30 | {
31 | path: '/map1',
32 | component: GeoPage
33 | },
34 | {
35 | path: '/map2',
36 | component: GeoPage2
37 | },
38 | {
39 | path: '/province1',
40 | component: ProvincePage1
41 | },
42 | {
43 | path: '/province2',
44 | component: ProvincePage2
45 | },
46 | {
47 | path: '/stargroup',
48 | component: StarGroup
49 | },
50 | {
51 | path: '/provincegroup',
52 | component: ProvinceGroup
53 | }
54 | ]
55 |
56 | const router = new VueRouter({
57 | routes
58 | })
59 |
60 | export default router
61 |
--------------------------------------------------------------------------------
/backend/mysite/student/templates/info.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
7 |
8 |
9 | 学生信息提交页面
10 |
11 | {% load static %}
12 |
13 |
14 |
15 |
16 |
17 | {% load crispy_forms_tags %}
18 |
19 |
20 |
21 |
22 |
23 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
--------------------------------------------------------------------------------
/backend/mysite/student/serializers.py:
--------------------------------------------------------------------------------
1 | from rest_framework import serializers
2 |
3 | from .models import * # Student, StarInfo, SexInfo, GeoInfo, AnhuiGeoInfo, ProvinceInfo
4 |
5 |
6 | class SexInfoSerializer(serializers.ModelSerializer):
7 | class Meta:
8 | model = SexInfo
9 | fields = ['name', 'value']
10 |
11 |
12 | # 星座信息序列化器
13 | class StarInfoSerializer(serializers.ModelSerializer):
14 | class Meta:
15 | model = StarInfo
16 | fields = ['name', 'value']
17 |
18 |
19 | # 省外数据的序列化器
20 |
21 | class Geo1Serializer(serializers.ModelSerializer):
22 | class Meta:
23 | model = GeoInfo
24 | fields = ['value']
25 |
26 |
27 | class Geo2Serializer(serializers.ModelSerializer):
28 | class Meta:
29 | model = GeoInfo
30 | fields = ['coords']
31 |
32 |
33 | # 省内数据的序列化器
34 |
35 | class Geo3Serializer(serializers.ModelSerializer):
36 | class Meta:
37 | model = AnhuiGeoInfo
38 | fields = ['value']
39 |
40 |
41 | class Geo4Serializer(serializers.ModelSerializer):
42 | class Meta:
43 | model = AnhuiGeoInfo
44 | fields = ['coords']
45 |
46 |
47 | # 省份信息序列化器
48 | class ProvinceInfoSerializer(serializers.ModelSerializer):
49 | class Meta:
50 | model = ProvinceInfo
51 | fields = ['name', 'value']
52 |
--------------------------------------------------------------------------------
/backend/mysite/student/migrations/0001_initial.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 4.0 on 2021-12-21 13:08
2 |
3 | from django.db import migrations, models
4 |
5 |
6 | class Migration(migrations.Migration):
7 |
8 | initial = True
9 |
10 | dependencies = [
11 | ]
12 |
13 | operations = [
14 | migrations.CreateModel(
15 | name='Student',
16 | fields=[
17 | ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
18 | ('stu_id', models.CharField(max_length=10, verbose_name='学号')),
19 | ('name', models.CharField(max_length=128, verbose_name='姓名')),
20 | ('sex', models.IntegerField(choices=[(0, '男'), (1, '女')], default=0, verbose_name='性别')),
21 | ('birthday', models.DateTimeField(verbose_name='生日')),
22 | ('hometown', models.CharField(max_length=128, verbose_name='家庭住址')),
23 | ('status', models.IntegerField(choices=[(0, '申请中'), (1, '已通过'), (2, '已拒绝')], default=0, verbose_name='审核状态')),
24 | ('created_time', models.DateTimeField(auto_now_add=True, verbose_name='创建时间')),
25 | ],
26 | options={
27 | 'verbose_name': '学生信息',
28 | 'verbose_name_plural': '学生信息',
29 | },
30 | ),
31 | ]
32 |
--------------------------------------------------------------------------------
/frontend/public/static/map/province/aomen.json:
--------------------------------------------------------------------------------
1 | {"type":"FeatureCollection","features":[{"id":"820001","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[["@@LADC^umZ@DONWE@DALBBF@H@DFBBTC"],["@@P@LC@AGM@OECMBABBTCD@DDH"]],"encodeOffsets":[[[116285,22746]],[[116303,22746]]]},"properties":{"cp":[113.552965,22.207882],"name":"花地玛堂区","childNum":2}},{"id":"820002","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@MK@CA@AAGDEB@NVFJG"],"encodeOffsets":[[116281,22734]]},"properties":{"cp":[113.549052,22.199175],"name":"花王堂区","childNum":1}},{"id":"820003","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@EGOB@DNLHE@C"],"encodeOffsets":[[116285,22729]]},"properties":{"cp":[113.550252,22.193791],"name":"望德堂区","childNum":1}},{"id":"820004","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@YMVAN@BFCBBDAFHDBBFDHIJJEFDPCHHlYJQ"],"encodeOffsets":[[116313,22707]]},"properties":{"cp":[113.55374,22.188119],"name":"大堂区","childNum":1}},{"id":"820005","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@JICGAECACGEBAAEDBFNXB@"],"encodeOffsets":[[116266,22728]]},"properties":{"cp":[113.54167,22.187778],"name":"风顺堂区","childNum":1}},{"id":"820006","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@ ZNWRquZCBCC@AEA@@ADCDCAACEAGBQ@INEL"],"encodeOffsets":[[116265,22694]]},"properties":{"cp":[113.558783,22.154124],"name":"嘉模堂区","childNum":1}},{"id":"820007","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@MOIAIEI@@GE@AAUCBdCFIFR@HAFBBDDBDCBC@@FB@BDDDA\\M"],"encodeOffsets":[[116316,22676]]},"properties":{"cp":[113.56925,22.136546],"name":"路凼填海区","childNum":1}},{"id":"820008","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@DKMMa_GC_COD@dVDBBF@@HJ@JFJBNPZK"],"encodeOffsets":[[116329,22670]]},"properties":{"cp":[113.559954,22.124049],"name":"圣方济各堂区","childNum":1}}],"UTF8Encoding":true}
--------------------------------------------------------------------------------
/frontend/src/components/Star2.vue:
--------------------------------------------------------------------------------
1 | // 星座信息饼图展示页面
2 |
3 |
6 |
7 |
8 |
78 |
79 |
82 |
--------------------------------------------------------------------------------
/frontend/src/components/Province2.vue:
--------------------------------------------------------------------------------
1 | // 星座信息饼图展示页面
2 |
3 |
6 |
7 |
8 |
78 |
79 |
82 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 |
2 |

3 |
4 |
5 |
6 | Student-Data-Vision
7 |
8 | ✨ 基于 Django + Vue 编写的的学生信息管理及可视化分析项目 ✨
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 | # 项目简介
18 |
19 | 灵感源自生活,技术成就未来。在每年大学新生入学的时候,学校或者新媒体工作者都会对新生数据进行数据分析。
20 |
21 | 如何更加有效地组织、管理,更加全面、系统的分析此类学生信息,并以炫酷的可视化页面展示,是开发本项目的初心。
22 |
23 | # 技术选型
24 |
25 | 本项目基于 `B/S` 架构,采用前后端分离的开发模式。后端使用`Django`,前端使用 `Vue` ,采取`MySQL`进行数据的存储。
26 |
27 | # 项目演示
28 |
29 | 演示视频——>[点我访问](https://www.bilibili.com/video/BV15L4y1E7xY)
30 |
31 |

32 |

33 |
34 |
35 |
36 | # 如何使用
37 |
38 | ## 后端(Django)
39 |
40 | ## 前端(Vue)
41 |
42 |
43 | # 更新日志
44 |
45 | ## 2022/2/16
46 |
47 | - 第一次上传,具备最基础的功能。
48 |
49 | # TODO
50 |
51 | - [ ] 学生信息表分级
52 | - [ ] 设计可视化大屏布局
53 | - [ ] WebSocket 加载实时数据
54 | - [ ] 编写独立的后台管理应用
55 | - [ ] 编写学生信息个人展示界面
56 | - [ ] 编写不同层级的可视化面板
57 |
58 | # 感谢
59 |
60 | - [Django](https://github.com/django/django):一个非常棒的 Web 应用框架
61 | - [Vue.js](https://vuejs.org/):一个渐进式的 JavaScript 框架
62 | - [simpleui](https://github.com/newpanjing/simpleui):一款基于 vue+element-ui 的 django admin 现代化主题
63 |
64 | # 声明
65 |
66 | 本项目是我课内实习的一个作品,`Django`和`Vue`都是现学现卖的,代码很烂,技术很菜。加之本人今年计划跨考计科,本项目只会利用我的空闲时间进行优化和更新,期待我们共同进步!
67 |
--------------------------------------------------------------------------------
/frontend/src/assets/css/global.less:
--------------------------------------------------------------------------------
1 | html,
2 | body,
3 | #app {
4 | width: 100%;
5 | height: 100%;
6 | padding: 0;
7 | margin: 0;
8 | // overflow: hidden; //溢出隐藏
9 | }
10 |
11 | .com-page {
12 | width: 100%;
13 | height: 100%;
14 | // overflow: hidden;
15 | }
16 |
17 | .com-container {
18 | width: 100%;
19 | height: 100%;
20 | // overflow: hidden;
21 |
22 | }
23 |
24 | // star1
25 | #com-chart {
26 | width: 80%;
27 | height: 80%;
28 | // background-color: rgb(0, 0, 0);
29 | // overflow: hidden;
30 | left: 50%;
31 | top: 50%;
32 | transform: translate(-50%, -50%);
33 | }
34 |
35 | // star2
36 | #com-chart2 {
37 | width: 80%;
38 | height: 80%;
39 | // margin-left: 30px;
40 | // background-color: aqua;
41 | // overflow: hidden;
42 | left: 50%;
43 | top: 50%;
44 | transform: translate(-50%, -50%);
45 | }
46 |
47 | // sex
48 | #com-chart3 {
49 | width: 80%;
50 | height: 80%;
51 | // background-color: aqua;
52 | // overflow: hidden;
53 | left: 55%;
54 | top: 30%;
55 | transform: translate(-50%, -50%);
56 | }
57 |
58 | // geo1
59 | #com-chart4 {
60 | width: 100%;
61 | height: 100%;
62 | // background-color: aqua;
63 | // overflow: hidden;
64 | // left: 50%;
65 | // top: 50%;
66 | // transform: translate(-50%, -50%);
67 | }
68 |
69 | //geo2
70 | #com-chart5 {
71 | width: 100%;
72 | height: 100%;
73 | // background-color: aqua;
74 | // overflow: hidden;
75 | // left: 50%;
76 | // top: 50%;
77 | // transform: translate(-50%, -50%);
78 | }
79 |
80 | //Province1
81 | #com-chart6 {
82 | width: 80%;
83 | height: 80%;
84 | // background-color: aqua;
85 | // overflow: hidden;
86 | left: 50%;
87 | top: 50%;
88 | transform: translate(-50%, -50%);
89 | }
90 |
91 | //Province2
92 | #com-chart7 {
93 | width: 80%;
94 | height: 80%;
95 | // background-color: aqua;
96 | // overflow: hidden;
97 | left: 50%;
98 | top: 50%;
99 | transform: translate(-50%, -50%);
100 | }
--------------------------------------------------------------------------------
/frontend/src/components/Star.vue:
--------------------------------------------------------------------------------
1 | // 星座信息饼图展示页面
2 |
3 |
6 |
7 |
8 |
85 |
86 |
89 |
--------------------------------------------------------------------------------
/frontend/src/components/Province1.vue:
--------------------------------------------------------------------------------
1 | // 星座信息饼图展示页面
2 |
3 |
6 |
7 |
8 |
85 |
86 |
89 |
--------------------------------------------------------------------------------
/backend/mysite/student/models.py:
--------------------------------------------------------------------------------
1 | from django.db import models
2 |
3 |
4 | # Create your models here.
5 | # 学生信息表
6 | class Student(models.Model):
7 | SEX_ITEMS = [
8 | (0, '男'),
9 | (1, '女'),
10 | ]
11 | STATUS_ITEMS = [
12 | (0, '申请中'),
13 | (1, '已通过'),
14 | (2, '已拒绝'),
15 | ]
16 | STAR_ITEMS = [
17 | (0, '白羊座'),
18 | (1, '金牛座'),
19 | (2, '双子座'),
20 | (3, '巨蟹座'),
21 | (4, '狮子座'),
22 | (5, '处女座'),
23 | (6, '天秤座'),
24 | (7, '天蝎座'),
25 | (8, '射手座'),
26 | (9, '魔羯座'),
27 | (10, '水平座'),
28 | (11, '双鱼座'),
29 | ]
30 | stu_id = models.CharField(max_length=10, verbose_name="学号")
31 | name = models.CharField(max_length=128, verbose_name="姓名")
32 | sex = models.IntegerField(choices=SEX_ITEMS, verbose_name="性别", default=0)
33 | constellation = models.IntegerField(choices=STAR_ITEMS, verbose_name="星座", default=0)
34 | birthday = models.DateTimeField(verbose_name="生日")
35 | hometown = models.CharField(max_length=128, verbose_name="家庭住址")
36 |
37 | byword = models.TextField(max_length=128, verbose_name="人生格言", blank=True)
38 | status = models.IntegerField(choices=STATUS_ITEMS, default=0, verbose_name="审核状态")
39 | created_time = models.DateTimeField(auto_now_add=True, editable=False, verbose_name="创建时间")
40 |
41 | def __str__(self):
42 | return ''.format(self.name)
43 |
44 | class Meta:
45 | verbose_name = verbose_name_plural = "学生信息"
46 |
47 |
48 | # 星座信息表
49 | class StarInfo(models.Model):
50 | name = models.CharField(max_length=128, verbose_name="星座名字")
51 | value = models.IntegerField(verbose_name="数值", default=0)
52 |
53 | def __str__(self):
54 | return ''.format(self.name)
55 |
56 | class Meta:
57 | verbose_name = verbose_name_plural = "星座信息"
58 |
59 |
60 | # 男女比例表
61 | class SexInfo(models.Model):
62 | name = models.CharField(max_length=128, verbose_name="性别")
63 | value = models.IntegerField(verbose_name="数值", default=0)
64 |
65 | def __str__(self):
66 | return ''.format(self.name)
67 |
68 | class Meta:
69 | verbose_name = verbose_name_plural = "男女比例"
70 |
71 |
72 | # 省外同学地图坐标信息
73 | class GeoInfo(models.Model):
74 | name = models.CharField(max_length=128, verbose_name="姓名")
75 | hometown = models.CharField(max_length=128, verbose_name="家乡")
76 | value = models.CharField(max_length=128, verbose_name="家乡坐标", default=0)
77 | coords = models.CharField(max_length=128, verbose_name="箭头坐标", default=0)
78 |
79 | def __str__(self):
80 | return ''.format(self.name)
81 |
82 | class Meta:
83 | verbose_name = verbose_name_plural = "省内学生"
84 |
85 |
86 | # 省内学生信息表
87 | class AnhuiGeoInfo(models.Model):
88 | name = models.CharField(max_length=128, verbose_name="姓名")
89 | value = models.CharField(max_length=128, verbose_name="家乡坐标", default=0)
90 | coords = models.CharField(max_length=128, verbose_name="箭头坐标", default=0)
91 |
92 | def __str__(self):
93 | return ''.format(self.name)
94 |
95 | class Meta:
96 | verbose_name = verbose_name_plural = "省内学生"
97 |
98 |
99 | # 学生总数
100 | class ProvinceInfo(models.Model):
101 | name = models.CharField(max_length=128, verbose_name="省份名称")
102 | value = models.IntegerField(verbose_name="数值", default=0)
103 |
104 | def __str__(self):
105 | return ''.format(self.name)
106 |
107 | class Meta:
108 | verbose_name = verbose_name_plural = "学生总数"
109 |
--------------------------------------------------------------------------------
/backend/mysite/mysite/settings.py:
--------------------------------------------------------------------------------
1 | """
2 | Django settings for mysite project.
3 |
4 | Generated by 'django-admin startproject' using Django 4.0.
5 |
6 | For more information on this file, see
7 | https://docs.djangoproject.com/en/4.0/topics/settings/
8 |
9 | For the full list of settings and their values, see
10 | https://docs.djangoproject.com/en/4.0/ref/settings/
11 | """
12 |
13 | from pathlib import Path
14 | import os
15 |
16 | # Build paths inside the project like this: BASE_DIR / 'subdir'.
17 | BASE_DIR = Path(__file__).resolve().parent.parent
18 |
19 | # Quick-start development settings - unsuitable for production
20 | # See https://docs.djangoproject.com/en/4.0/howto/deployment/checklist/
21 |
22 | # SECURITY WARNING: keep the secret key used in production secret!
23 | SECRET_KEY = 'django-insecure-s@!upd2m5+oz2q*9x--088&q4o6*&0ghzqq3ijx15a!s#8wfuw'
24 |
25 | # SECURITY WARNING: don't run with debug turned on in production!
26 | DEBUG = True
27 |
28 | ALLOWED_HOSTS = []
29 |
30 | # Application definition
31 |
32 | INSTALLED_APPS = [
33 | 'student', # 学生信息应用
34 | 'simpleui', # 美化后台
35 | 'corsheaders', # 允许跨域请求
36 | 'crispy_forms', # 美化表单
37 | 'rest_framework', # 开发API
38 | 'django.contrib.admin',
39 | 'django.contrib.auth',
40 | 'django.contrib.contenttypes',
41 | 'django.contrib.sessions',
42 | 'django.contrib.messages',
43 | 'django.contrib.staticfiles',
44 | ]
45 |
46 | MIDDLEWARE = [
47 | 'django.middleware.security.SecurityMiddleware',
48 | 'django.contrib.sessions.middleware.SessionMiddleware',
49 | # 一定要注意这个位置
50 | 'corsheaders.middleware.CorsMiddleware',
51 | 'django.middleware.common.CommonMiddleware',
52 | 'django.middleware.csrf.CsrfViewMiddleware',
53 | 'django.contrib.auth.middleware.AuthenticationMiddleware',
54 | 'django.contrib.messages.middleware.MessageMiddleware',
55 | 'django.middleware.clickjacking.XFrameOptionsMiddleware',
56 | ]
57 | # 跨域设置
58 | CORS_ALLOW_CREDENTIALS = True # 允许携带cookie
59 | CORS_ORIGIN_ALLOW_ALL = True # 这句不加会只发一个options请求,post请求不会发出
60 |
61 | ROOT_URLCONF = 'mysite.urls'
62 |
63 | CRISPY_TEMPLATE_PACK = 'bootstrap3'
64 |
65 | TEMPLATES = [
66 | {
67 | 'BACKEND': 'django.template.backends.django.DjangoTemplates',
68 | 'DIRS': [os.path.join(BASE_DIR, 'mysite/templates')],
69 | 'APP_DIRS': True,
70 | 'OPTIONS': {
71 | 'context_processors': [
72 | 'django.template.context_processors.debug',
73 | 'django.template.context_processors.request',
74 | 'django.contrib.auth.context_processors.auth',
75 | 'django.contrib.messages.context_processors.messages',
76 | ],
77 | },
78 | },
79 | ]
80 |
81 | WSGI_APPLICATION = 'mysite.wsgi.application'
82 |
83 | # Database
84 | # https://docs.djangoproject.com/en/4.0/ref/settings/#databases
85 |
86 | DATABASES = {
87 | 'default': {
88 | 'ENGINE': 'django.db.backends.mysql',
89 | 'NAME': 'mysite',
90 | 'USER': 'root',
91 | 'PASSWORD': 'root',
92 | 'HOST': '127.0.0.1',
93 | 'PORT': '3306'
94 | }
95 | }
96 |
97 | # Password validation
98 | # https://docs.djangoproject.com/en/4.0/ref/settings/#auth-password-validators
99 |
100 | AUTH_PASSWORD_VALIDATORS = [
101 | {
102 | 'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator',
103 | },
104 | {
105 | 'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator',
106 | },
107 | {
108 | 'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator',
109 | },
110 | {
111 | 'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator',
112 | },
113 | ]
114 |
115 | # Internationalization
116 | # https://docs.djangoproject.com/en/4.0/topics/i18n/
117 |
118 | LANGUAGE_CODE = 'zh-hans'
119 |
120 | TIME_ZONE = 'Asia/Shanghai'
121 |
122 | USE_I18N = True
123 |
124 | USE_TZ = True
125 |
126 | # Static files (CSS, JavaScript, Images)
127 | # https://docs.djangoproject.com/en/4.0/howto/static-files/
128 |
129 | STATIC_URL = 'static/'
130 |
131 | # Default primary key field type
132 | # https://docs.djangoproject.com/en/4.0/ref/settings/#default-auto-field
133 |
134 | DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField'
135 |
--------------------------------------------------------------------------------
/frontend/public/static/map/china-contour.json:
--------------------------------------------------------------------------------
1 | {"type":"FeatureCollection","features":[{"id":"100000","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[["@@¦ŜiÀºƦƞòïè§ŞCêɕrŧůÇąĻõ·ĉ³œ̅ó@ċȧŧĥĽʉƅſȓÒ˦ŝE}ºƑ[ÍĜȋ AɞÏĤ¨êƺ\\Ɔ¸ĠĎvʄȀоjNðĒĞȠzÐŘΰH¨ȔBĠ "],["@@ƛĴÕƊÉɼģºðʀI̠ÔĚäθؾNJŨxĚĮǂƺòƌĪŐĮXŦţƸZûÐƕƑʳÛDžƝɉlÝƯֹÅŃ^Ó·śŃNjƏďíåɛGɉ¿@ăƑ¥ĘWǬÏĶŁâ"],["@@Óɖ± dƊ½ǒÂň×äı§ĤƩ¶hlçxĬŸĄŞkâÌwøàIJaĞfƠ¥Ŕd®UɎÖ¢aƆúŪtŠųƠjdƺƺÅìnŢ¯äɝĦ]èpĄ¦´LƞĬ´ƤǬ˼Ēɸ¤rºǼìĴPðŀbþ¹ļD¢¹\\ĜÑ̔ùўÊȮǪűÀêZǚŐ¤qȂ\\`ºłĤ\\ºs|zºÿŐãѦvĪĺĺĈłÈ͚FÞºĠUƢ¾ªì°`öøu®Ì¼ãÐUÞ˶¬æɒlʐߨvWʚÖÕÁÜÅŵ_«EÍɪëÏ÷ÅyXo͂ĝĂÛÎf`Þ
¹ÂÿÐGĮÕĞXŪōŸMźÈƺQèĽôe|¿ƸJR¤ĘETėº¯ɀáMĺŝOéÈ¿ÖğǤǷŔ²å]Ĥĝœ¦EP}ûƥé¿İƷTėƫœŕƅƱB»Đ±řü]µȺrĦáŖuÒª«IJπdƺÏɌ]͚ĐǂZɔ¹ÚZצʥĪï|ÇĦMŔ»İĝLjì¥Βba¯¥Ǖǚk˦ӷxūД̵nơԆ|DŽࡰţાíϲäʮW¬®ҌeרūȠkɬɻ̼ãɜRצɩςåȈHϚÎKdzͲOðÏȆƘ¼CϚǚ࢚˼ФÔ¤ƌĞ̪Qʤ´ԜÃƲÀɠmǐnȺĸƠ´ǠNˠŜ¶ƌĆĘźʆȬμƒĞGȖƴƀj`ĢçĶȅŚēĢĖćYÀŎüôQÐÂŎŞdžŞêƖoˆDƞŧǘÛۨĝȘIJªǬ¾äʀƪ¼ÐĔǎ¨Ȕ»͠^ˮÊ˰ȎŜHĦðDÄ|ø˂˜ƮЬҌqjĔ²Äw°dždĞéĸdîàŎjɒĚŌŜWÈ|Ŗ¶îÎFCĊZĀēƄNĤ¶łKĊOjĚj´ĜYp{¦SĚÍ\\TתV÷Šų¬K°ȧļ¨ǵÂcḷ̌ĚǣȄɧ\\ĵŇȣFέ̿ʏƶɷØ̫»ƽū¹Ʊő̝Ȩ§ȞʘĖiɜɶʦ}¨֪ࠜ̀ƇǬ¹ǨE˦ĥªÔDzl¶øZh¤Ɛ E ĈDJì¸̚¸ƎGú´P¬WÄìHsIJ¾wLVnƽCw`h`¥V¦U¤¸}¾Ô[~âxh¢ªHÆÂriĐɘǜhÀoRzNyÀDs~bcfÌ`L¾n|¾T°c¨È¢aÈÄ[|òDȎŸÖdHƮÀì~Æâ¦^¢ķ¶eÐÚEêɡČÅyġLûŇV®ÄÐź~ϰƂŤǒȦÒŬÂezÂvǴZ{ĘFĒĴAΜĐȄEÔ¤ØQĄĄ»ΈZǺ¨ìSŊÄƸwn¼c]ܬì¯DŽ]ȘŏńzƺŷɄeeOĨSfm Ɋ̎ēz©þÐÙÊmgÇsJ¥ƔŊśÎÔsÁtÃßGoÀ xňË_½ä@êíuáĠ[ġ¥gɊ×ûÏWXáǠDZÌsNͽƎÁ§čŐAēeL³àydl¦ĘVçŁpśdžĽĺſÊQíÜçÛġÔsĕ¬Dz¡SíċġHµ ¡EŃļrĉŘóƢFƺ«øxÊkƈdƬÌr|©ÛńRŀøďŊŀàŀU²ŕƀBQ£Ď}L¹Îk@©ĈuǰųǨÚ§ƈnTËÇéƟÊcfčŤ^gēĊĕƯǏx³ǔķÐċJāwİ_ĸȀ^ôWr°oú¬Ɏ~ȰCĐ´Ƕ£fNÎèâ_ÐŮeʆNJǘuȔ\\¤ÒĨA¢Ê͠æÔ ŬGƠƦYêŊàƆXvkmͥœ@čŅĻA¶çÎqC½Ĉ»NăëKďÍQɅřęgßÔÇOÝáWáħ£˯ā¡ÑķĎÛ寰WKɱ_d_}}vyõu¬ïÏҽ@gÏ¿rý±
Cdµ°MFYxw¿CG£ǧ«»ó¡Ɵ¿BÇƻğëܭNJĭôµ}čÓpg±ǫŋRwŕnéÑƕfSŋ®ÍD Ûǖ֍]gr¡µŷzįm³~S«þeo³l{iē¥yZ÷īĹõġMRÇģZmÃ|¡ģTɟijÂÂ`ÀçmFK¥ÚíÁbX³ÌQÒHof{]ept·GŋĜTNJŋB
h¬ƩDo±enq©G`wGçǑKFuNĝwőXtW·Ýďæßa}xVXRãQ`©GM»ďÏd©ÑW_ÏǷr¡
é\\ɹ~ɍuØ©Bš¤ÝĤ½¢Å_Á¿LŅñuT\\rÅIs®y}ywdSDZtCmûvaʋJrƯ⦳PrbbÍzwBGĭTÁk»lYċ²zÇ£^§»d¯íŻ£ćGŵDžƍÓ]íM^o£Ã]ªUóo½~Å|ŋÝ¥ċh¹·CÉDřlgȵë[}ģS}xƃği©ĝɝǡF꼵áƣ©HĕoƫŇqr³Ãg[šÃSő_±ÅFC¥Pq{ñg¿įX
ƝıĉNjûěʼn³F¦oĵhÕP{¯~TÍl¸ÓßYÏàs{ÃVUeĎwk±ʼnVÓ½ŽJūĉ»Jm°fĎdF~ĀeĖO² ĈżĀiÂd^~ăÔH¦\\§|ĄVez¤NP ǹÓRÆƇP[¦´Âghwm}ÐШźhI|VV|p[¦À¶èNä¶ÒCÀ¢^hPfvƾĪ×òúNZÞÒKxpw|ÊEZÂI¨®œİFÜçmĩWĪñtÞʼnËÝ^³uL±|Əlĉ¥čn§ßÅcB× CNǟ_ñŧı¯Y]ăÙĽѷť³ÃARZRlʑýSëÍDěïÿȧ¢ÙġěŗŷęUªhJƁƅn³gF³HàŋÅÃƉÀKť`ċŮÁõYėé÷`Ù_ÏǵR§òoEÅąLœŐœƜVµąłíļĐ·ũ̈«ªdÎÉnb²ĦhņBĖįĦåXćì@L¯´ywƕCéõė ƿäćú y±¨Mf~C¿`à_ÿƌfQnð³ƬŲŎ¥ĠʦĘĒØ¼Â±ŴPè¸ŔLƔÜƺ_TüÃĤBBċÈöA´faM¨{«MúīôÖ°ʊkŲÆM|²@¤u¤Û´ä«̰\\}ēÅM¼Ã]NągoõľHyGă{{çrnÓEƕZGª¹Fj¢ïW
uøC̍ƃhÛÅ\\bÅxì²ƝýNīCȽĿǃŖÕy\\¹kxãČ×G¿Ï¤ÁçFQ¡KtŵΥëÚź«ėn½ĉŀÁ¼zK¶GY§Ë@´śÇµƕñxZ¯u
Ïï{éƵP_K«pÍÁwƏčaEU£uŻāɌŁFŴu»¹İ×ȖħŴw̌ŵ²ǹǠ͛hĭłƕrçü±hǥ®jű¢KOķÅ}`åÂK_Юƫ²ʯÊ^H{ǸÃĆēĤȍzȥݵċF͓ŸI©Õ͈ǫȌȥ¦ŋEÓıŪěřÀåżȟLƏŽąđGǛģLjƧĎOłčȶʋÀBŖÕªÁŐTőŕåqûõi¨hÜ·ñt»¹ýv_[«²K{L¯SªGõ¸gÑpY´«ęƘʑcoċ\\gěŧ«Āý¶ŧ·ÅKsËÉc¢Ù\\ĭƛëbf¹ģSĜkáƉÔĈZ~ïµfzʼnfåÂȝǷÕĕÊĉ{ğč±uƁí]Í»ęX\\Ip¡éĥZEãoP
þy¸k³¡ƽ¿å³BRضWlâþäą`]aģc ĹGµ¶HåÕ¾xĨôȉðX«½đCIŇOK³ÁÄţ¬OAwã»aLʼnËĥW[ÂGIÂNrį~IÐêĘÎG§Ė¥ÝF{ WK}ùaHāÖ{OouHEÅÇqĬuë±KEò£UplÀ÷tMāe£bYÂý¡a±Öcp©®^ö±q
ÇGjųªKy¬ŏ®¤ÉEĀåA¬V{XģĐpě
¼³Ăp·¤īyÚ¡ŅLĻŧqlÀh¬µ»åÇGnùčÙmÆßėuĕeûÒiÁŧSW¥Qûŗ½ùěYÓ±]ÓđīkWó«íěCŇͱčvĭõĉę÷N¹³ĉoTĵËçŁYÙǝŕ¹tȏģ·Ĕĭ|đėÊK½Rē ó]ĀęAxNk©|ām¡diď×YïYWªʼnOeÚtĐ«zđ¹T
āúEáÎÁąÏHcòßÎſ¿Çdğ·ùT×Çūʄ¡XgWÀLJƟĻOj YÇ÷Sğ³kzőȝğ§õ¡VÙæÅöM̳¹pÁaËýý©D©ÜJŹƕģGą¤{Ùū
ÇO²«BƱéAÒƇ׫BhlmtÃPµyÓɉUīí}GBȅŹãĻFŷŽǩoo¿ē±ß}wƋtƺCőØEîǻīƓʑãÍƍDĈ±ÌÜÓĨ£LóɢVȞĆĖMĸĤfÜǗjđĆ»ýͥãğ¶ĞØO¤Ǜn³ő}¦
·zYwašőűMę§ZĨíÛ]éÛUćİȹ¯
dy¹TcÂĕ½A´µê÷wĻþÙ`K¦
¢ÍeĥR¡ã
Ĉu¼dltU¶¶ď\\z}ưŬ{ÚfK¶Ð_ÂÒ¿C©ÖTmu¼ãlŇÕVåĤĵfÝYYįkÒīØſNQĠ³r³øÓrÖͳgÍſGįÅ_±he¡ÅM²Ɠï¥ßīZgmkǭƁć¦UĔť×ëǟ
e˭ʔħǛāĘPªij¶Ņăw§nď£S»şÍļɉŀ}ÛÞ»å£_ıęÏZ÷`
[ùx½}ÑRHYėĺďsÍné½Ya¤Ïm¬ĝgĂsAØÅwďõ¤q}«Dx¿}Uũlê@HÅF¨ÇoJ´Ónȯ×âpÒÅØ Têa²ËXcÌlLìģËŁkŻƑŷÉăP¹æƧÝ¡¦}veèÆ´UvÅ~§½Ġ²Ŵwæč\\D}O÷£[ăá[įŷvRsdĒƄwŎĒo~t¾ÍŶÒtD¦Úiôöz«Ųƭ¸Û±¯ÿm·zR¦Ɵ`ªŊÃh¢rOÔ´£Ym¼èêf¯ŪĽnAĦw\\ưĆ ¦gʉË£¢ιǫßKÙIįóVesbaĕ ǠƺpªqÂďE®tôřkȌwêżĔÂenËÂQƞ´¼ŲƝÎô¶RäQ^Øu¬°_Èôc´¹ò¨P΢hlϦ´Ħ¬oêÇŲÚr^¯°^º{ªBH²Ö¤ɦ§Țvqĸ viļndĜĆfŒxÝgyÞqóSᝳX_ĞçêtrmÚ§z¦c¦¥jnŞi¯´ÓH@ÂċĂį·Ì_þ·¹_wzË£Z¹|ÅWM|O¥ÃWTÕùÔQ¥¥Rã»GeeƃīQ}J[ÒK
¬Ə|oėjġĠÑN¡ð¯EBčnkòəėª²œm˽ŏġǝʅįĭạ̃ūȹ]ΓͧŹəăЕ·ƭęgſ¶ҍć`ĘąŌJÞä¤rÅň¥ÖƝ^ęuůÞiĊÄÀ\\Æs¦ÓRäřÌkÄŷ¶½÷ùCMÝÛĥ°G¬ĩ`£Øąğ¯ß§aëbéüÑOčk£ÍI ïCċÀÕÕĻSŧʼnïŽŗãWÑăû··Qòı}¯ãIéÕÂZ¨īès¶ZÈsæĔƦÚ@îá¾ó@ÙwU±ÉT廣TđWxĉWùׯcĩvėŧ³BM|¹kªħ¥TzNYnÝßpęrñĠĉRÑÈěVVµõ«¯ůĉ¥áºaeõ|uĐh`ܳç@ƋĿa©|z²Ý¼Ĵč²ŸIûI āóK¥}rÝ_Á´éMaňæêSĈ½½KÙóĿeƃÆB·¬ƃV×ĴƳlŒµ`bÔ¨ÐÓ@s¬ƿûws¡åQÑßÁ`ŋĴ{ĪTÚÅTSÄį¤Ç[ǾµMW¢ĭiÕØ¿@Â
pÕ]jéò¿OƇĆƇpêĉâlØwěsǩĵ¸c
bU¹ř¨^±ze
ė·¥Ó@~¯éīB\\āƚǗÀƷŘóQīÈáPǥ@ŗĸIæÅhnszÁCËìñÏ·ąĚÝUm®óZ±đ[Âÿiñ¬Òj°ŁŤ_uµ^°ìÇÊĶĒ¡ÆMğźİĨƥôRāð©[wâ䥩Ô\\°ÝĄ̄ƢăknéǀůĆKĒĬ¶èâz¨u¦¥L~ƄýÎIƖßµĔƱĐċņbÎÕĄæ_ƞZRÖíJ²öLĸÒcºƖÎ\\ñºÛqYѨ`x¥ù^}ÌđYªƅAйn~ź¯f¤áÀzgÇDIÔ´Aňńňĕuĩt[{ù°ŁÏ|Soċxţ[õÔĥkŋÞŭZ˺óYËüċrw ÞkrťË¿XGǣ@Dü·Ē÷Aê[ÄäI®BÕĐÞ_¢āĠpÛÄȉĖġDKÕKÄNôfƫVó¼dzHQµâFùœ³¦{Y¢ĚÜO {Ö¦ÞͨJÜÄƨlU˧ªÍE˨¡ĐĬĬùÎRƠHÕŔ_ƪàÒKäȇĬə²ȕnáûl÷eǛòĞ\\ªÑòÜìc\\üqÕ[ēdžċªbØø|¶ȴZdÆÂońéGŠǚnìÈƲŪȖưòTxÊǪMīĞÖŲÃɎO̚ǰRěò¿ġ~åŊú¬ô¸qĘ[Ĕ¶ÂćnÒPĒÜvúĀÊbÖ{Äî¸~Ŕünp¤ŀ¤ĄYÒ©ÊfºmÔȈ¡DŽ~¤s²ʘÚžȂVƼîèW²æIJXŔþɔÖĚêϜêĮŢɨJ¯ÎrDDĤ`Q¾§~wâJÂñÈOú¤p¨ŪŊMǎÀW|ų ¿¾ɄĦƖAiƒ÷fØĶK¢ȝ˔"]],"encodeOffsets":[[[112750,20508]],[[123335,22980]],[[82455,44869]]]},"properties":{"cp":[116.3683244,39.915085],"name":"中华人民共和国","childNum":3}}],"UTF8Encoding":true}
--------------------------------------------------------------------------------
/frontend/public/static/map/province/taiwan.json:
--------------------------------------------------------------------------------
1 | {"type":"FeatureCollection","features":[{"type":"Feature","id":"710000","properties":{"name":"台湾省","cp":[121.509062,25.044332],"childNum":82},"geometry":{"type":"MultiPolygon","coordinates":[["@@@BBB@@B@@@@@@B@@@@B@@A@@@@@@BB@@B@@AB@@@@@BA@@@@@@BA@@@@BA@@@@@A@@B@@@@@@@@A@@@@@@B@@@@@@@@@@@@@@@@@@@@@@A@@@@@@@@@@@@@A@@@@@@AA@@@@@@@@@@@@@@@@A@@@@@@@@@@A@@@@@@A@@@@@@@@@A@@A@@@BA@@@AA@@@@A@AB@@A@@@A@@@@B@@A@@BA@@B@@A@@@@@@@@B@@@@@@@@@@@B@@@@@BDB"],["@@@@@@@@@@@A@@@@@@@@@@@@@B"],["@@@@@@@@@@@@B@A@@@@@@@@@@@@@"],["@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@B@@@@@A@@@@@@@@@B@@@AA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@A@@@@@@@@B@@@@@@B@@@@@@@"],["@@B@DA@@@@B@@@@@@@@AA@@@A@@@@@A@@@@@@AA@@@A@@@A@@@A@@@@B@@@@@BB@@@@@@@@@BB@@@@B@"],["@@@@B@@@@@@@@@@@@@@@A@@@@@@@@@@@"],["@@@@@@@@@A@@@@@@@@@@@B@@"],["@@DHBDB@DC@KACEA@@ADAF"],["@@BDDBBBDAFE@C@@CAI@@@CF"],["@@@@@B@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@B@@@@@@@@@@@@@@@@@@@@@@@@@@@@A@@@@@@@@@@@@@@@@@@@@@@@@@@B@A@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@A@@@@@@@@@@A@@@@@@@@@@@@@@@@@@@B@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"],["@@@@@@@@@@@@@@@@@@@@@@@@@@"],["@@@B@@@@@@@@@@@@B@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@A@@@@@@@@@@@@@@@@@@@@@@@@@@A@@@@@@@@@@@@@"],["@@@@@@@@@@B@@@@B@@@A@@@@@B@@@@@@@AB@@@@@@@@@@@@@A@@@@@@@@@@@@@@@@@A@@@@@@@"],["@@@FFD@@BABABCCE@CA@ABCF@@"],["@@B@@@@@@@@@@@@@@@@@@@@@AA@@@@@BA@@@@@@@@@@@@@@@B@@@@@@@@@@@@@@@@@"],["@@BBFDD@@@B@@BB@@@@@B@@@B@B@@@@@D@@@B@B@@AB@@@B@B@BA@@@@@B@@B@@@@@@A@@@@B@@@B@@@@@@@@@@@@@@@@@B@@@BABADABABA@A@@B@AA@@@AA@@@AA@@A@@@A@@@@@A@@@A@@@@@A@A@@@@@A@@@A@@@A@@@A@@@A@@@A@@@@@@@AB@@@@@@A@A@@@@A@@@@A@@A@@@@@@@@@@@@@@@@A@@@@@@@@@@@@@A@@AB@@@A@@A@@@BA@@@A@@@A@AAAAC@CAAAC@@BA@@@A@@@@@A@@@@@@B@@AB@B@B@BBFDDDBDB"],["@@@@@B@@@@@@@@@@@@@@@@@@@@@@@@B@@@@@@AA@@@@@"],["@@@@@@B@@@@@@@@@@@@@@@@@@@A@@@@@@@@@@@"],["@@@@B@@@@@@@@@A@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"],["@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"],["@@@@@@@@@@@@@@@@@@@@A@@@@@@@@@@@B@"],["@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"],["@@@@@@@@@@@@@@@@@A@@@@A@@@@B@@B@"],["@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"],["@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"],["@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"],["@@@@@@@@@@@@B@@@@@A@@@@@@@@@@@@@@@"],["@@@@@@@@@@@@@A@@@@@@@B@@@@"],["@@@B@@B@@@@@@@@A@@@@@@@@A@@@@@@@@@"],["@@B@@AB@@A@@@@@@@@B@@@@@@@B@@@A@@A@@@@@@@@@@@@@@@@@@@@@A@@@@@@A@@@@@@@@@@@@@@@@@B@@A@@@@@@@@A@@@A@@@@AA@@@@@@@@@@@@B@@@@@@@@A@@@@@@@@@@B@@@B@@@@@@@BA@@@@BA@@B@BA@@@@@@@@@@@A@@@@@B@@@@@@@@BB@@@@@B@@@@@@B@@@@@@@BB@@@@@@@@@B@@@@A@@@@@@@@A@@@@@@@@@@@@@B@@A@@A@@@@AB@@@@@@@@@@@@@@@@@@@@@@A"],["@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"],["@@@@@@@@@@@A@@@@@B@@@@@@@@@@@@"],["@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"],["@@@@B@@@@@BA@@@@B@@AB@@@B@@A@@@@@@@@@A@@@@@@@@B@@@@@@@@@@A@@@@@@@@@@@@A@@A@@@@A@C@ABA@A@AB@@@@@@@@@@@@@@@@@@A@@@@@A@@@A@@@@@@@@@@@@@@@@B@@@@@@@@@@@@@@@B@@@@@@@@@@@@@@@@@@@BB@@@B@B@@@DB"],["@@@@@@@@@@@@@@@@@@@@@@@@@@@@"],["@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"],["@@@@@@@@@@@@@@@@@@@@@A@@@@@@@@@@@B"],["@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"],["@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"],["@@@@@@B@@@@@@@@@@@A@@@@@@@"],["@@@@@@@@@@@@@@@@@@@@@@@@@@"],["@@@@@@@@@@@A@@@@@@@@@@@B@@"],["@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"],["@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"],["@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@A@@@@@@@B@@@@@"],["@@BB@@D@BA@@ACAA@@CB@D"],["@@@BD@BA@A@@AAABA@@B"],["@@BNHFNHN@@@BGFI@@AAEAECECIEEAGBAH"],["@@@@@BB@BAB@@AAAA@AB@B"],["@@BVFLTZLLHJLPHJJNNPHJFFFB@@BC@AKOW[WaEM@GGIGGGGCGCEAGEEAA@@EF@@"],["@@LTHHFHHHDDDBJADB@@@@@@KMIIIIOQEA@@@@AD"],["@@BD@@F@BCB@ACC@A@ABAB"],["@@@BBBF@@@@@@CAACAAB@B"],["@@@BDBDABC@@CA@@C@AB@B"],["@@nn]Nµoz[¹ňiÚĎUÒGtANCDV±v]ROXEZDhD`J\\N\\NX^°f¼FfHVLRTZVzHDH¦H ALK^[|I`AdFdFpF¸A\\FP^f\\\\XlZhVbLRnXbRhRXHTXHTTBRPdZZ^XVv`ºtzPxV|l~t¸¾|rv\\`b|f`~lVV\\TrVdRhTX\\`fLPJJ^TJFNXHTJFpHZJXLZZlZhZlPZ^`jd\\jLZHjFRFJJFHDPD^BZLfZPJNFhDL@LDjd|bv^xJèRV^PfnVZrdVpV|VhHvDr@bIjShuP]LWHE^KZA\\IJO@aDU|qRKJA`BbAlKbK^WNCt@F\\@LILEBGCMBaBgDSTLMNATBbARGNEHERKHMAMc_oeycgya_sIoC{@oFul¿|D]G§ImUcGWEkOYUMk
w¿ckW[QoCa[giaK[DiL[XiH[CQeg
ƅƙcCiDaAeEIQeYU¹GsEWMYIKKMUWW[M]OkBQCMSq@KHgRsFO@QAIEGGIKKMKMGYKOASICEQyMYycasce[YMSgOgYew{scÇyUaOKMU}AeAUSOSU[{ċmË_µEE«EC{@]@MFMHMDgCE[ISKKOYKSWKIIEYBcFcDaFoKOIGMCWDMH]^j_FQBQMIKWAWFQFSNmW\\_¦@ZJVJVAA¤OMI^M\\_xecvWd_^WPmT^"],["@@LFBBHLBB@DBDB@F@@A@AAA@ABAD@D@DAFEBE@CACCAE@A@@C@CA@EBE@A@CAAECIAC@@AB@B@DCJA@ABC@@B@D@BBD"],["@@BBB@B@BABA@A@@@@B@@@@B@@@@@@B@@AAA@@@@A@@@@@@A@@@AAA@@@@@A@A@@@@B@@A@@@A@@B@@@AAAAA@@@A@@B@@@@@B@@@BB@@D@B@@@B@B@@@@@@ABA@@BA@@B@B"],["@@BBBBF@B@@@BBB@B@BAB@B@BA@@@ACACAAAA@@@E@A@A@@@CB@B@B@@"],["@@@JDHB@BBFHBLDFHBF@HGLIFALAJDDABC@CGKEAKAOACAAAAC@EDKBI@M@IEKAAC@C@A@@CDIBACGAE@A@EBCDEBEACECG@QDEBCBA@A@CAAEE@I@ECICG@IBAB@DBFRHDBDJDBD@FCFCF@FDBDBDF@BDBJ@FCDGFIBABBHDDF@BC@AB@D@BD@HBHDFBBBBABCBEFAD@DDF@D@D"],["@@DDBB@@B@DAD@D@@AB@@C@GACEEE@C@AAA@ADE@@BBB@@GD@D@B@BB@B@BAD@BBBB"],["@@`JPDLFHAFEFAF@BBD@JAHGDIFC@ACCBGFEAGAGA@GBEACC@EBEFAH@DCAECAC@AA@C@EACCCECCB@DCBC@CAEAA@ADDLBDFDBHADKHKPEL@FCBE@GEEICCEAMDIHAFBNFH"],["@@IGEGOGEGECEBECGMAE@AFA@EAECCACBGACACE@MFIBGASCGCGBCF@F@FBFAFEDGBGCCBEFAD@DAD@BC@A@AB@DCBABCAEBAHBLHLDFH@DIBC@IHIBGBC@CD@DFHDHCDABGDAD@BDDFF@JAFAFBBBAF@DBDBDBDADEDK@YEOBIFAH@FBDBBFADAB@BDADABICG@C@AD@BBBDB@B@FADDDDBFBBDCHEH@DBBN@LBFDDHDBDBDADIBGDKDEF@DB@HBDFDFFBHEH@LDFDBVBF@FFLBFCJMFAHBFHDHJBF@FGBGDEF@D@DHF@FCJMLSBW@MHELCFGCKSEOAMDOJMDUAIE"],["@@@F@@BBF@BA@A@AB@B@DA@@DB@BBB@BBBF@FDDBFBDABBBBBBB@JEBA@A@ACAC@EAMICAE@E@EAA@C@CCC@C@CBADBF"],["@@CBAB@DBBBB@BBBBAB@B@@@BBB@BA@C@E@AEAE@"],["@@DBDAB@B@BBAD@BDDD@BAB@@BB@@@D@B@BBDBDADABC@EBA@A@A@@AACBA@C@A@CBCAEACCAC@A@AAAABAB@BC@A@A@AF@D@D"],["@@ADADAB@DDDF@DEBEBAD@@@DDBDD@DABC@C@CAIBEBEBABA@ACC@AD@BBBDBBDABCAIAAE@CAA@@A@C@C@C@CFE@A@@G@EBCBCAE@E@G@AAC@CD@D@FFHFB@FAFAL@LBDDB@DAB@B"],["@@B@@BB@@B@B@B@B@BB@B@DAFCBA@@@@@AB@BBB@BABABA@AA@AAA@@A@@@CAAA@EAC@A@AAA@A@AAA@A@@DCDBDBDBD"],["@@@BB@@B@@@@@B@A@@BA@@BA@@@A@@B@@@@A@@A@A@@@@@@B@@A@@@@A@@@@AB@@@@@@@B@@@@"],["@@@B@BBB@@B@@@BA@A@@@A@A@@B@@A@A@@A@@@A@@@A@A@@@@B@B@B"],["@@`FPBLAFC@AEGAG@K@GCCA@EBC@GCAG@GACA@C@MDIBABADBDDFDFEFCDGHAF@DDDJB"],["@@DBD@B@B@B@BA@@@CAAA@A@@A@@@@@AA@@@@AA@AA@@@@@A@AA@@@ABCA@@@AAAA@AB@B@B@BDBB@BB@D@BBB@B"],["@@CF@B@BBBB@DADBBAB@BEACB@AA@@E@CBA@"],["@@HBHBF@DABA@AAAAA@@@A@AB@@A@AA@A@A@AAA@C@@BA@A@CBAD@@A@@B@B@B@B"],["@@LDH@HABA@CAC@A@AAACAAAAC@C@CAAAC@@AA@BED@DA@CF@BBB@D@BAB@B@D@B@B"],["@@NHBJBJ@FBDJJHBTHHAPKBEAGGIMIMKGEIIICG@GHCFBH"],["@@NIHAzBVDPBL@DADIAGAE@KFKDEBCCAGAC@CE@IBIDGPIXKVGBE@GAIGOMOGAK@]LIXMJODS@MFY\\UNELDXDF@FCHOLCD@JBFJDJ@"],["@@AB@BBBD@JDD@D@@ABA@C@E@CAAAACAC@C@ABAD@DABAB"],["@@RCL@JDFBDADBB@BAF@FAJDL@DA@EBIDE@EACACAEBGCCEACCCE@CDGHG@CAEEAO@EBCDAHGFOFG@GBAD@DBHBHCDAJEDEHAJAHDB"],["@@HED@D@B@BFDHFBD@HAHEBC@EBADAB@BA@CACCCC@A@ADA@E@EAC@G@IDCHCDCBAB@B@B@@B@"],["@@@DBDB@BBDA@ABC@AACAAA@A@CB@D"],["@@HFH@F@BABC@E@EACECCAEBEDCFAFDD"],["@@LFN@JCHI@I@IEGGAMBKBCLCJDL"]],"encodeOffsets":[[[126651,26546]],[[126660,26547]],[[126659,26546]],[[126661,26545]],[[127552,26543]],[[126662,26541]],[[126660,26540]],[[126515,26405]],[[126526,26402]],[[126513,26397]],[[126513,26396]],[[126509,26395]],[[126510,26395]],[[126548,26376]],[[126537,26371]],[[126433,26363]],[[126456,26365]],[[126461,26357]],[[126459,26356]],[[126459,26356]],[[126460,26356]],[[126459,26356]],[[126445,26356]],[[126458,26356]],[[126458,26356]],[[126458,26356]],[[126457,26356]],[[126457,26356]],[[126429,26350]],[[126512,26346]],[[126512,26347]],[[126512,26347]],[[126515,26343]],[[126520,26341]],[[126514,26339]],[[126514,26339]],[[126515,26339]],[[126513,26338]],[[126513,26338]],[[126526,26337]],[[126527,26337]],[[126526,26337]],[[126527,26336]],[[126526,26336]],[[126527,26336]],[[122469,24374]],[[122474,24363]],[[122424,24251]],[[122554,24186]],[[122886,24033]],[[122929,24079]],[[122214,23857]],[[123719,22284]],[[123719,22276]],[[123335,22980]],[[122472,24310]],[[122427,24288]],[[122531,24227]],[[122375,24193]],[[122479,24184]],[[122427,24235]],[[122518,24117]],[[122382,24050]],[[122390,24070]],[[122392,23926]],[[122366,23948]],[[122185,23966]],[[122188,23883]],[[122204,23878]],[[122288,23774]],[[122388,23820]],[[122378,23824]],[[122484,23808]],[[122542,23818]],[[123244,22864]],[[124427,22618]],[[124526,22475]],[[124384,23221]],[[124866,25441]],[[125038,26094]],[[125007,26245]],[[124862,26043]]]}}],"UTF8Encoding":true}
--------------------------------------------------------------------------------
/frontend/src/components/Sex.vue:
--------------------------------------------------------------------------------
1 | // 男女比例
2 |
3 |
6 |
7 |
8 |
272 |
273 |
276 |
--------------------------------------------------------------------------------
/backend/mysite/student/views.py:
--------------------------------------------------------------------------------
1 | from django.http import HttpResponse, HttpResponseRedirect
2 | from django.shortcuts import render
3 | from django.urls import reverse
4 | from rest_framework.viewsets import ModelViewSet
5 |
6 | from .forms import StudentForm
7 | from .models import * # Student, StarInfo, SexInfo, GeoInfo, AnhuiGeo
8 |
9 | from .serializers import * # StarInfoSerializer, SexInfoSerializer, Geo1Serializer, Geo2Serializer, Geo3Serializer, \
10 | # Geo4Serializer # StudentSerializer,
11 |
12 | import requests, json
13 |
14 |
15 | # Create your views here.
16 | # 用户提交信息数据
17 | def info(request):
18 | # 如果请求方法是POST
19 | if request.method == 'POST':
20 | # form存储提交的所有数据
21 | form = StudentForm(request.POST)
22 | # 如果提交的全部正确
23 | if form.is_valid():
24 | # 储存数据
25 | form.save()
26 | # 跳转到成功页面
27 | return HttpResponseRedirect(reverse('student:succeed'))
28 | else:
29 | # 如果数据不符合要求(填写不符合规范)空表单
30 | form = StudentForm()
31 |
32 | context = {
33 | 'form': form
34 | }
35 | return render(request, 'info.html', context=context)
36 |
37 |
38 | # 提交数据成功
39 | def succeed(request):
40 | # 获取student表里的所有对象
41 | students = Student.objects.all()
42 | context = {
43 | 'students': students,
44 | }
45 | return render(request, 'succeed.html', context=context)
46 |
47 |
48 | # 此类用于计算和更新数据
49 | class data_compute():
50 |
51 | # 更新星座数据
52 | def star_update(self):
53 | star_list = ['白羊座', '金牛座', '双子座', '巨蟹座', '狮子座', '处女座', '天秤座', '天蝎座', '射手座', '摩羯座', '水瓶座', '双鱼座']
54 | queryset = Student.objects.all()
55 | # 遍历十二个整形数据,其在数据库中对应的是十二个星座
56 | for star_number in range(12):
57 | # 开始遍历star_number个星座
58 | # 计数
59 | count_value = 0
60 | # 遍历所有对象,统计当前星座的个数
61 | for item in queryset:
62 | if item.constellation == star_number:
63 | count_value += 1
64 | # 如果StarInfo表中该星座行已经创建,说明该星座value变了,需要更新(修改)value数据
65 | if StarInfo.objects.filter(name=star_list[star_number]).exists():
66 | instance = StarInfo.objects.get(name=star_list[star_number])
67 | # print(count_value)
68 | instance.value = count_value
69 | instance.save()
70 | # 如果StarInfo表中该星座行没有创建,那么我们创建该表
71 | else:
72 | StarInfo.objects.create(name=star_list[star_number], value=count_value)
73 | print("星座数据已经更新完毕!")
74 | return None
75 |
76 | # 更新性别数据
77 | def sex_update(self):
78 | sex_list = ['男', '女']
79 | queryset = Student.objects.all()
80 | for sex_number in range(2):
81 | count_value = 0
82 | for item in queryset:
83 | if item.sex == sex_number:
84 | count_value += 1
85 | # 如果StarInfo表中该星座行已经创建,说明该星座value变了,需要更新(修改)value数据
86 | if SexInfo.objects.filter(name=sex_list[sex_number]).exists():
87 | instance = SexInfo.objects.get(name=sex_list[sex_number])
88 | instance.value = count_value
89 | instance.save()
90 | else:
91 | SexInfo.objects.create(name=sex_list[sex_number], value=count_value)
92 | print("性别数据已经更新完毕!")
93 | return None
94 |
95 | # 更新地理数据
96 | def geo_update(self):
97 | queryset = Student.objects.all()
98 | for item in queryset:
99 | address = ''
100 | address = item.hometown
101 | url = 'https://restapi.amap.com/v3/geocode/geo?address=' + str(address)
102 | params = {
103 | 'key': '2fa9633ba7fee11266e2812b7e89595d'
104 | }
105 | response = requests.get(url=url, params=params)
106 | r = response.json()
107 | location_data = '[' + r["geocodes"][0]['location'] + ']'
108 | location = eval(location_data)
109 | coords_list = []
110 | aust = [117.011140, 32.641538]
111 | coords_list.append(location)
112 | coords_list.append(aust)
113 | # 判断是省外的同学
114 | # if item.hometown[:2]!='安徽'
115 | if item.hometown[:3] != '安徽省':
116 | # 如果实例存在则更新数据
117 | if GeoInfo.objects.filter(name=item.name).exists():
118 | instance = GeoInfo.objects.get(name=item.name)
119 | instance.value = location
120 | instance.hometown = item.hometown
121 | instance.coords = coords_list
122 | instance.save()
123 | # 不存在则新建行,存储该数据。
124 | else:
125 | GeoInfo.objects.create(name=item.name, value=location, coords=coords_list)
126 | else:
127 | if AnhuiGeoInfo.objects.filter(name=item.name).exists():
128 | instance = AnhuiGeoInfo.objects.get(name=item.name)
129 | instance.value = location
130 | instance.coords = coords_list
131 | instance.save()
132 | # 不存在则新建行,存储该数据。
133 | else:
134 | AnhuiGeoInfo.objects.create(name=item.name, value=location, coords=coords_list)
135 | print("地理数据已经更新完毕!")
136 | return None
137 |
138 | # 更新星座数据
139 | def province_update(self):
140 | # 查询学生的信息
141 | queryset = Student.objects.all()
142 |
143 | # 定义存储全国省份的列表
144 | province_list_2 = ['河北', '山西', '辽宁', '吉林', '江苏', '浙江', '安徽', '福建', '江西', '山东', '河南', '湖北', '湖南', '广东', '海南',
145 | '四川', '贵州', '云南', '陕西', '甘肃', '青海', '台湾', '广西', '西藏', '宁夏', '新疆', '北京', '天津', '上海', '重庆',
146 | '香港', '澳门']
147 | province_list_3 = ['黑龙江', '内蒙古']
148 |
149 | # 遍历两个字的省份
150 | for province_item in province_list_2:
151 | # 初始化此省份学生个数为0
152 | count_value = 0
153 | # 遍历学生数据
154 | for stu_item in queryset:
155 | # 如果改省份的名字等于学生家乡的前两个字,则记录改值
156 | if province_item == stu_item.hometown[0:2]:
157 | # 该省份学生数 +1
158 | count_value += 1
159 | # 如果此省份信息已经在数据表中记录,则更新当前数据
160 | if ProvinceInfo.objects.filter(name=stu_item.hometown[0:2]).exists():
161 | instance = ProvinceInfo.objects.get(name=stu_item.hometown[0:2])
162 | # print(count_value)
163 | instance.value = count_value
164 | instance.save()
165 | # 如果此省份信息没有在数据表中记录,则创建该表
166 | else:
167 | ProvinceInfo.objects.create(name=stu_item.hometown[0:2], value=count_value)
168 |
169 | # 同理 遍历三个字的所有省份数据,将列表和切片更改写就好了
170 | for province_item in province_list_3:
171 | # 初始化此省份学生个数为0
172 | count_value = 0
173 | # 遍历学生数据
174 | for stu_item in queryset:
175 | # 如果改省份的名字等于学生家乡的前两个字,则记录改值
176 | if province_item == stu_item.hometown[0:3]:
177 | # 该省份学生数 +1
178 | count_value += 1
179 | # 如果此省份信息已经在数据表中记录,则更新当前数据
180 | if ProvinceInfo.objects.filter(name=stu_item.hometown[0:3]).exists():
181 | instance = ProvinceInfo.objects.get(name=stu_item.hometown[0:3])
182 | # print(count_value)
183 | instance.value = count_value
184 | instance.save()
185 | # 如果此省份信息没有在数据表中记录,则创建该表
186 | else:
187 | ProvinceInfo.objects.create(name=stu_item.hometown[0:3], value=count_value)
188 | print("省份数据已经更新完毕!")
189 | return None
190 |
191 |
192 | # 此方法用作更新数据,当学生信息表中的数据有变化时,更新相应的数据分析的数据。
193 | def update(request):
194 | data_instance = data_compute()
195 | data_instance.star_update()
196 | data_instance.sex_update()
197 | data_instance.geo_update()
198 | data_instance.province_update()
199 | return HttpResponse('数据更新成功!
')
200 |
201 |
202 | # 星座信息序列化器
203 | class StarInfoViewSet(ModelViewSet):
204 | queryset = StarInfo.objects.all()
205 | serializer_class = StarInfoSerializer
206 |
207 |
208 | class SexInfoViewSet(ModelViewSet):
209 | queryset = SexInfo.objects.all()
210 | serializer_class = SexInfoSerializer
211 |
212 |
213 | class Geo1ViewSet(ModelViewSet):
214 | queryset = GeoInfo.objects.all()
215 | serializer_class = Geo1Serializer
216 |
217 |
218 | class Geo2ViewSet(ModelViewSet):
219 | queryset = GeoInfo.objects.all()
220 | serializer_class = Geo2Serializer
221 |
222 |
223 | class Geo3ViewSet(ModelViewSet):
224 | queryset = AnhuiGeoInfo.objects.all()
225 | serializer_class = Geo3Serializer
226 |
227 |
228 | class Geo4ViewSet(ModelViewSet):
229 | queryset = AnhuiGeoInfo.objects.all()
230 | serializer_class = Geo4Serializer
231 |
232 |
233 | class ProvinceInfoViewSet(ModelViewSet):
234 | queryset = ProvinceInfo.objects.all()
235 | serializer_class = ProvinceInfoSerializer
236 |
--------------------------------------------------------------------------------
/frontend/public/static/map/province/tianjin.json:
--------------------------------------------------------------------------------
1 | {"type":"FeatureCollection","features":[{"id":"120101","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@BhB`R@DA@CD@DCFCHBLDF@DABKFIJGQG@COEQM@@OASB"],"encodeOffsets":[[119992,40041]]},"properties":{"cp":[117.195907,39.118327],"name":"和平区","childNum":1}},{"id":"120102","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@XFFIE@BGGA@KVBN_]CCCLgMGE@CD@AGB@AEGMEACB@BA@BFWFACKA@DA@@DA@C@CCCDGIAKMBWLGFERWT]bADCNE@DDIDEFBHTHBD@DLMPJj@ARX@"],"encodeOffsets":[[120075,40099]]},"properties":{"cp":[117.226568,39.122125],"name":"河东区","childNum":1}},{"id":"120103","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@TAPB@@RNPF@DRHPSXSFQHEXKE@CMIFUQA@DC@CCA@CDE@CEE@FOc@@D{@ch]IGFCFE`A\\"],"encodeOffsets":[[119992,40041]]},"properties":{"cp":[117.217536,39.101897],"name":"河西区","childNum":1}},{"id":"120104","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@C@@DCBQ@AcAmBOFaDEHEgKID]ZQTINCJEdkhHDRNCB@FD@BAFDFHB@JIDANFDECCZCBA\\B@Hd@LB@CAU"],"encodeOffsets":[[120007,40074]]},"properties":{"cp":[117.164143,39.120474],"name":"南开区","childNum":1}},{"id":"120105","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@FBBAJBFDJK\\NFEFBLKBBBATP`]QOLB@AHBBEJ@DDDE@QW@BQi@OIKN@CACQECG@CFCJCCCMCGAEDCFBT@DSTQN@BFDBDCJBJAHKAIFDDXDAB"],"encodeOffsets":[[119993,40130]]},"properties":{"cp":[117.201569,39.156632],"name":"河北区","childNum":1}},{"id":"120106","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@JELBBGAIDIACEC@ARMTSKAc@@G[AABYDDDCFMECBIJC@CPHZ@LHNFFNHBCDAZBB@DEJE"],"encodeOffsets":[[119980,40125]]},"properties":{"cp":[117.163301,39.175066],"name":"红桥区","childNum":1}},{"id":"120110","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@CK@QOCEAEK@KAAKAKEoRECIYK{\\Af@BMb@@WAGBC@GV@KYBUkB@@OD@AEUE@IQDAGSJEDFD@CIDAAKDE@KECOKKEABMVMRGBSGE@KDCDADDN@FCHCBGAIGUKUEcB]JULINIZGD[AU@QDMDGFQR_NODiBcDBLHJDCDDF@@CB@@CLBBDXEAEB@@ADAFBHNBFA@BHC@@DHF
NKhDD^DM`UA@LHBAHF@EJWE@RCFCCI@AFGA@BKARP_^ZXZL\\JfHNHEdEAAFBBQCAFPHRGtMBEB@NB^Cb@lECFHDPD@DNBJCFE@CEG@GTCPHBF`@JFBCHJJKRCP@JGTIAQGIDAPAVH@GCEKEEBAAVEBDADPFBBCFBBHE@WHClQPCFBTARE"],"encodeOffsets":[[120391,40118]]},"properties":{"cp":[117.313967,39.087764],"name":"东丽区","childNum":1}},{"id":"120111","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@CGECABC@@EDAQMGClgD]DM^c^YHCF@VrwJBBINBHAFAHBDAN@LDDGCCA@AC@AACBAAEFKA@KDCCJCJDFGF@DCBGDQJERFHGMCLEAAGAFGMMAWE@BHQLKIBAJECCCAAGQW[DAAjS@AIYXKGGT@NBFEBABOJBDMFADGG@BGH@@AACFKGCG@FMWMDABCBAACLCIGCAE@[P¥\\]N¯MNORU^]XKF`_XIIAIkDDZF@@FMDJLmTSDaHgDBJE@@DOBDH[HFJCBCGCBIMKH[L@AAAADUBACECGHWKCHTHBHaJDLF@JNF@FNLAH\\FABPD@EF@@HELCHVF@GXBB@DJBI\\PB@BN@BHK@GBAJ\\F@AACLABBAB@DFHB@FFJCDL@BA@@DF@JEBKHB@CjHBENDH@HSFBDKEAFG\\H@DE@AF@HHBANH@BQ@CBGNFT@`LFABIN@ALDBCFRHFB`D`ANANCG[DM"],"encodeOffsets":[[119940,40092]]},"properties":{"cp":[117.012247,39.139446],"name":"西青区","childNum":1}},{"id":"120112","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@ZAZEVKXSPGVEnDHCJYJMVKNEPCdAZHRJJHHBDADG@ECMBCDCLCF@THHANQPWD@DBXRJ@HAJERSJAJBDCEOCAKYBQCA@GBCDSGAGBIHSNA@KCQMCF]INaCuOSGU{zm_yENH@HDELBD@BG@AHH@CHEBCNIAAPABEFMAS@HHWLJZ@BiTBB\\CRXBHDBDDIFABLJRKAGF@BXNNEHHBBBKFNDGHQEIFCRAHCDE@EHICIDDDLCB@ELBFABBD@BBDB@DDCHKCM@CBGAEBGBMAAJIAMP|@@Cd@EPF@DFF@DCB@DDD@@CRBEVNJ@D"],"encodeOffsets":[[120108,40016]]},"properties":{"cp":[117.382549,38.989577],"name":"津南区","childNum":1}},{"id":"120113","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@PQFFJICABACCDAKGJGLHRMVMMERKHH`WBFFCRFJHHIBOK_MC@QLCDIBAMA@COCGCDEkFa@]DMAA@AFsNQHOGBERDAABEFBFcMGeG[IQGGCmgABAAKLEAEF[MILECKA@BA@CABAWCCCIFEFYACBADICIIGM@KMDgDO@UCWIDECABKM@AJEB_KS@MEAH@DARG@BMGA@GBEF@@C[GEHFBCLEAGTG@MCAFgGA@@DGAALIFE@@CB@@ACKIDIGQJ@DHD@@GAAH@FDPbB@BDEJ@BBAFBNBHDBCDBDHBEJFBBDCFANA@AFTFFARPBNLABARA@DD@BB@HFA@PXBBLDACRKEAJF@GPD@AN@BjHCGZFJUN@BA^F@FIAAFNDCF@B\\LONADtJTAFBDCPBDGPETBADNDFFDFCD@LHBBKJFALIA@DB@@BNFBGHBBEN@@DHD@FFBDAH@AHBBCLDBF@@HFBBGJ@BBAFfLLABCH@ADLFJENAHKLAFBDEH@AHBDJB@DB@B@AADEFCLBNCDMDER@BKGA@ADEZDBELH"],"encodeOffsets":[[120140,40274]]},"properties":{"cp":[117.13482,39.225555],"name":"北辰区","childNum":1}},{"id":"120114","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@DKEC^QZS^QwVMAAB@CCI@@CB@H@JCBCFEDBCFF@D@H@FALIXMBIECM@ADE@OABEPA@CBCD@HEDIGEC@AC@KJ@DCH@@DFADEDAFBFALGBMFABKGAAA@CAALEJOFAFIFEB@JKDEJBDCCAEAFI@IDIDINECABGBQBCFC@AOKIHED@EKG@JDFOH@EIEDEFOC@BCEACAACAEI@AAHUXC@GD@AMDED@BEF@BBHAKADID@BGCIBEIIGCAFOAGAEF@BHBALQ@CFCNMDKAEDCFBBC@@CIAACBGG@CFEAKBGLMBIFKEBCG@ADKBeKBEAAI@AHEA@GE@CADKAABGG@CBEA@EGC@CM@AFGAAHME@AA@@CJBBKIEALGA@KDCCEEEMCBCSAOFCHOACDEASBsIBCPM[K@ADEMCBEJB@E]EABM@IVYEDHiG@ABMC@HOE@BILFDQCBAKWA@OEB@GAAC@@CQBABKBAMQOEBSEBEB@BMDEACEAFIGAACDCCAAGAMBEAAI@CF@AaACO@EBGHB@@GC@CRICE@CBAAAKBBD@B[EBIHAL@AGM@@AOAJ[IA@CAAHWM@AHJ@G^G@AF@DA@@FEBBFcJqAEDECFFABBRCHBFEDDNAHA@@`@@CHG@AT`D@AH@@PBBCJDBFABGB@@BBAB@BIFBBDJ@@FE@DHKD@JA@@FGCCDE@AZFDM\\JBCZCRKA@FGA@JHB@FBBXFBCFB@BB@CRJ@DJ@HCTF@ADB@AHEAIFKACH@CA@CLA@FBAFB@@DH@CFE@ADIEKA@FAABIB@BCG@@CC@BAOMCJGG[C@BABG\\AAAD@FL@@DJBADHB@BA@ABOCCDC@@BC@ADB@ADA@AFL@@A\\D@FFBBEB@CLB@ELB@@BAB@DBB@DEA@DD@AFCACDBHJDALF@AFFBBCPB@DB@ABBBBBD@@DDBFB@DHBCHDBLEJNMF@DKCIFCFQCBAA@@AEBAA@@EA@DOICDGD@BB@ALDA@BYLKA@BBGGA@AMHEABCC@GNLE@NC@@DAAAFEAAJKBBBF@CB@BF@AFH@@BN@ADZF@DD@@DF@DCFBEBF@@JB@EDCPA@@FI@@BF@@DDCCTH@C@TD@BB@G^FAGPECBGG@@BSAEDALG@AJA@AHC@ABC@@FEAAHB@@DB@BDF@AHHFA@DBABD@D@CBBBCBXH@DB@AFH@EHCACFCBCFA@CFDACL@BB@AFB@BCDBBA@BBBBCFBADE@B@@BCBBBD@ABE@ABAA@BLD@BHDBEGA@AD@CABEL@CJHBEHDBEJBBPDFCBEJDDBH@@FADHBMNIHFDEFFD@AJFADBBBAF@D@AHDBRDBD@RCBBJV@@BD@BDPBFEBBCDTHL@DAHBBCDBABTDCJJBGJNBAND@ADFBHE@DED@H@@@FH@X@BCBBBCB@DFZ@DMA@CFA@GMCADGAGBCNMAAIA@KXGCODOJMD@LJJC@C@KC@BCFAFDRDBAD@CD^F@DF@BFFA@FJB@DbEPEbElMTIZGAAFA@CJ@BE@@@FHA@EJA@CHBADBGPA@BG@AFBBVGHFL@BBABD@"],"encodeOffsets":[[119960,40574]]},"properties":{"cp":[117.057959,39.376925],"name":"武清区","childNum":1}},{"id":"120115","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@GBAAE@AFC@CFBNC@@HWDGVBBJ@BFBDDBFBADD@EPCFJF@FPGCE@ILH@FFCJGPL@BEDADARAHDBMFCJCJ@JEJFBDBCDIACFILA@EFEJEBIPKFBB@DBBHBALEBANKHEBEACBCFEB@CG@CDI@@LBDD@HFCJGFC@AD@DOBAFPBF@BCN@FDAJWNKJEBG@C@E@DECAEFADIDG@ADJ@DDA@BBUNx]RYT]RFDCLJBADDBGDBDHBFJJ@TBBHB@@DH@AFKBCB@HE@@BEA@D@@ADBHC@@AA@@DCB@DB@@FJ@@FD@@HH@E\\F@ADB@ARBBBFED@BD@@BCA@HD@AJE@@ACAAHDB@BH@AHCB@EAAADGB@BE@BBK@FLEBDDADA@BDNB@DJCBBIR@DBBDBFALDX@DHL@DJFA@BH@HHKJAB@DC@GFOHED@BCBAZE@ADE@AFGACEEDA@@AGAAVJ@IVB@@DB@@DHGJB@JpFBCFBEPPBBCNFBGHBPC@EHBFFRDRA^GD@JCFDJGHBLGFECCBGHBBCFBDCFB@EFGD@@BF@@DPALEDCECDEDABED@HCHJH@FDDEFDHENCLBDDDA@ERABEN@JEDDBACEJ@AINMRBJGAIDCZEJCLAFRTJHAHJHFD@@AEKBAFBRJGF@BPAFBHEDBFHBAFO@@NFH@BEFGHAD@BFBBJID@BFDBDEB@J@AGDCL@FBNIBBFJD@HKDCNDF@DAFGFCdE@A@AICBCJC@C@AGAEFC@@MIBAABC@CKA@CBANACAGC@ARBJG@GLGHCX@LENBNE@EDAFBHHD@DCDIIMLCBGN@@AIEBANEGKLEJDDAAGIKHKCIBECIECSF@GBKGCIDC@FKAAGCBOC@OB@MKGC@CHCAAEFUB@HDLPJDBCAIFGDARDHGBC@EIKDGB@N@PHJHBLHBNARQXGFG@GIGK@IDEFEAAC@EHILCP@JCDGCEOFCBGABCKCBSEEK@ADIGO@AEOCEDDBqNAAH]MKiIAW@@CA@GA@DIMA@CGAAD_EEH@FIA@HIAAHUEDOHAFIOSKGSEcDAEI@@CBCOEC@CDCFEBKEFIMEGEA@@BIA@ERFBDQCABADQDCCAHMJBDEMEADGAUCCC@CDA@CCCICGO@BDJG@CADGK@CCGFICCBKEEDGBCAAEKDAABGFE@ACABCAAeA@HM@GBYD@BE@@NABGB@CCAW@@ACAEF_BYECII@CG"],"encodeOffsets":[[120145,40295]]},"properties":{"cp":[117.308094,39.716965],"name":"宝坻区","childNum":1}},{"id":"120116","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@@LCFBLCBDJC@CEIFHTCBJRF@FXPC@@lAAVLZU@@HADBH@Xa@ANe@[BL|J\\FBpQLFLBBB@LFLFBPD@RDLpMpGBPNREHE@@dVF@BJB@BD@@DFDLBDGHGDA^c\\@@cFD@@jEBJZFLhrePFBEJGAENE@IVC@@RBLV@DPT@zJLHPFVDNECC@SACjQJBJCACIDMQhQD@tCD]LBHDBH@GLHNB@DQHBAFDHE@@DEBDFFAD@@BF@BBAB@BNFBEHCXDT@JGAGVEBEDCDB@BF@@DRC@BZ@PAP@BCFAJ@@B@BTC@DB@JEAAB@FB@ACAB@@CC@BCHOF@BADAAADCHBH@HECEB@BCHBDBBCFDBAACBAD@BBPGJF@@ABDB@BD@ABBDDAFCBC@CB@CCAKNECG@EF@@EzQBiAC@Ey@BUI@±]GaQaý¥Y_YeK]EaDqPmHcD{DKQBMMaKEUC_BOASY_YAYDXSIaa¹JgCeOQ[@RUbK¶MPGJMA¯CUSQÓgOKMWEa³OqIGFG@EBEACIGCFK]EE@@DFD@B@BG@BHCFC@@EEAIHEACBC@BFCBQCaDFKACEBECADE@SSKMIKHQKHEJ@[UGCoO@d[CFSMIAIE@AH[A@DOA@AQKOEEBARGNI@G@BSgE@AOACJSKMVC@IXF@hJAFmKCHB@PVVFAHHB@JC@CH@BABD@ABMFC@@BSB@BAAAHG@JL@BBBWABHHB@N@BMBMAEEESMA@EA@@CCE@FC@AEQ@@GCAA@AJC@BEK@AAABSGA@@FEA@BCBC@@EC@@DK@LHBD@HCDBFCBABB@F@@FB@@DFJ@HB@BLADK@HBDBCBG@@DH@@F@DCJIB@JK@AJFBCLBHH@DCBJFF@PATBHB@ABDTbB@DaCAAE@@CAACAOF@HADE@@BICAFBHEBhTBPDBJCFCªvEFeVTROJVT`OFH®_\\OF@DBJHKDBDABADCB¶n`|yHVPTvbDM^JDERNLDB@TMJGHAHBCTAD@HDBARLZDBFPCDIAGBUVOFGB"],"encodeOffsets":[[120348,39943]]},"properties":{"cp":[117.654173,39.032846],"name":"滨海新区","childNum":1}},{"id":"120117","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@ABCJKD@RNDL`APGJIGQEEDAE_XGGQLNFUNQNKGIHLHCBDDABDBIJEEORFFAFDJAHC@CJLBDHJ@DJZF`AFEDB@BX@DB@DHABA@MF@@AZCHAN@@GfBBBADDB@BEFAHBBLCBFDBHAFCLFDAJDHEDDL@CHDBH@CI@AHPJDDD@DCB@DDDVDHBBCNFCFIAGNDBCDCRABDBCREAQ@FJB@AB@HFNFEJLFFADEDCD@PFAD@DJ@BFdCTFLHPTEJGBCPVFBGJB@GJB@EFG`FBCHB@DNBCJB@@HDB@@BXjJNLGZ@DBBrMACFANDBFP@JHBCL@FFATLDADHBDAPEAC@EBIFIJGNJJ@JBJJHJHFSZA@BND@@LVB@BJ@AFDBBDEDILjTABlEHHTBvWVAPDHCDFL@LHHB`MFALDNC^M^GJIEKABEGACC@IMA@AOB@EACIGAAEBAECCBDAAAAADAAEFCBDB@ACB@AAAABEBAD@AG@ADFAEB@A@GKSCCgG@AEJA@AFO@ECCQEEEOBGYG@BqGBKXBFKCYJKOIKNEASCeA_ECSBGFENEF@HDZ@FCBE`TEFB@EFHFFEECBCFDFADBDEUWCOGBAIECLG@CEIFA@CF@CGBEGACRA@GMHKG@CAAG^KDCsC@gRNRJCBDIDIAiRBD@TDDMFUCOEKGyIS@COU@AK@QD@JUF@FMHBFIEAfOgqEKIYFA@i@EC@d[@]dCBGHCHKAEC@CC@@AIA@AUE@cF@FGMQAOgFVSBEAODkRGD@XGFAADEAAOEBCACUFBBFALFDF@HUGOBCBHJBRSJIHO@QDILGIADIE_@AEOGSD@HFH@DEFID"],"encodeOffsets":[[120221,40183]]},"properties":{"cp":[117.82828,39.328886],"name":"宁河区","childNum":1}},{"id":"120118","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@AHC@@FCA@DHB@JS@@DA@@H]BCTKfG@BHK@@FEAADJD@RJhNNI@@FQBBDCBQA@BBLMIBNFJADHHEBuK@IA@AKU@UDDHKI@HAGAAC]@CDCA@MSAHPGBOEMEIA@EC@@DA@MBAASB@BCB@TE@@BBBBDAHCBDFABFNGBBFKBBFC@BDB@FPC@BPCPMACEoBE@AAC@@DcB_D@ECB@A@BA@B@@DC@@CA@@IE@AAG@BDK@EBABQA@JE@@HC@ABA@@BB@ADOA@DIAACA@NxQB@FIBHXHABFKBFLIDLPDTF@DNC@CAGB@FA@BJDXmBA[@@D@@NL@BHB@H\\BTD@HRB@JF@FL@FHDNDABJDCDTD@DTA@@LF@BB@XGBADE@@B@B@DJXJ@XEDFHAFHCBBDBDJBBHTCAIGBAAGBEA@EC@BCB@@BBAC@@AB@@CD@@DB@@DJ@DDF@DAF@@CLABBF@@AB@BBJ@@IBBDBB@ACJBJDR@@HD@@GfBAFXBCLH@GTPFjKAGSGDGXLHGFDBDVABCBB@B\\KLGJNDADHDAEI\\GCGPA@CF@AIhCbGTCnSIKNC@EE@CYlCBJJJ`W~W\\M^WV]^_°VIEG_PUSPISQfUFE©uEDIDCAAOgSFAAGBEJD@AF@BC@GPEDBBB@DF@BBbD@CaACSBAA@AGBS@OEEAICDG@AGDKEABIL@@IJADI@C@EG@@CH@DACAGAL@@OA@@GEI@CA@@EE@A@BADAAEDC@GACOKB@BMEB@ESEAABECAWBAECBBCC@CIBCS@@IWD"],"encodeOffsets":[[119909,39513]]},"properties":{"cp":[116.925304,38.935671],"name":"静海区","childNum":1}},{"id":"120119","type":"Feature","geometry":{"type":"Polygon","coordinates":[],"encodeOffsets":[]},"properties":{"cp":[117.407449,40.045342],"name":"蓟州区","childNum":0}}],"UTF8Encoding":true}
--------------------------------------------------------------------------------
/frontend/public/static/map/province/shanghai.json:
--------------------------------------------------------------------------------
1 | {"type":"FeatureCollection","features":[{"id":"310101","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@AHV@BDCPEPLENFHCJHFBNCAGBGXWFIBGCGMUKKCCcGCDGBALCPIAAPGR"],"encodeOffsets":[[124373,31970]]},"properties":{"cp":[121.490317,31.222771],"name":"黄浦区","childNum":1}},{"id":"310104","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@CEAMMAA@C@AFA@@BC@ABC@@BD@@BH@@BB@EHDDCBECADGEEAEBFNET]CMRELQjOEGRFBAHDBAHH@@B@BDA`H@F@BC@AB@FD@DD@@@CH@DDAFDD^LEPF@DFTDPHHQBOJBDOBKHADCOGCEAE@EFOBMAEUW@GBEHILMBE@KGM"],"encodeOffsets":[[124381,31859]]},"properties":{"cp":[121.43752,31.179973],"name":"徐汇区","childNum":1}},{"id":"310105","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@@AACE@FO]KCCBECCG@@D@@CCmBSAcKG@EBAEGC@DC@QE@CA@@BEBMTNFAFDBA`D@BDA@AA@FFBBLD@@@IBDBABDB@@DBADB@CHA@@DC@C@@@BBABFDH@AHD@ACDA@FD@BCA@@CJCNWJ@BCHAFEF@XCV@DFH@VFBBCFD@HEFFFBB@@IDAJFBABIFK"],"encodeOffsets":[[124354,31964]]},"properties":{"cp":[121.4222,31.218123],"name":"长宁区","childNum":1}},{"id":"310106","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@AB@PCJBNG@ABBDBB@DNBAJJ@@FB@@H@@@DF@ENB@BDD@BAT@BENDFDPB@AF@A]G@BOCKCEBA@G@KBEDCLMVQ@EACDECABCDKECGDMEKFFODOACU@BGOGUCELAJABIECBBNFHJBTLHB@BADDD@FB@@DC@BHOVUJCFIG"],"encodeOffsets":[[124340,32022]]},"properties":{"cp":[121.448224,31.229003],"name":"静安区","childNum":1}},{"id":"310107","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@DB@DHBBCDBB@A@DF@@DFDDHGBDDALZCB@@EBA@ACQ@@DGBEFBB@FD@J@BFMBCCCDID@AODAEIDBDEBABBB@DC@AF@@AFGACBADBB@@NFADD@@BB@B@BAB@@@BBDA@HBB@AJ@@AD@@BB@AFHBDCJFHBGQAAJA@ALCBBF@@AB@@BD@@@JABDABD@@BHBBBNACEJA@ADAAA@B@ADAAAJBIQB@FCBBD@AGJ@@EJA@EHADDAB@BFANNDEVIPUAGD@@CA@@ECCBC@AGASKIAEGACA@EAEEA@EFC@DEAAUEG@CEU@WDE@EFGBADI@MV"],"encodeOffsets":[[124267,31987]]},"properties":{"cp":[121.392499,31.241701],"name":"普陀区","childNum":1}},{"id":"310109","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@@OHWVFBABIKK@MJCJGBKV[C@@I[AOEODCACCCLADDBCFBD@FURQT@J@F@HABDFDLAPH@BTVCLBBE"],"encodeOffsets":[[124402,32064]]},"properties":{"cp":[121.491832,31.26097],"name":"虹口区","childNum":1}},{"id":"310110","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@@JD@U\\ALIHID@NLLAJABUEGX@PVA@ZDDADGFX`ZKDHFAFHpSNGDCDGDM@cBGL[BKAGEGMOcY[GWA"],"encodeOffsets":[[124433,31997]]},"properties":{"cp":[121.522797,31.270755],"name":"杨浦区","childNum":1}},{"id":"310112","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@@EBAD@@A@E_GCB@A@AG@BGCABGEAHQPFRiFKNQ^DFSEMFAFBHFBCFDDACCFGA@@AG@@AC@@AD@BAD@@AB@BED@B@F@B@FBBNDFLCDBCBFB@DFG@CBBABDB@CDBAFCB@DABD@B@DB@BD@@B@BB@B@@FJ@DKLFB@DMDBBABBCFDB@@HB@BBABBDCBGNBDAB@@BPDBAF@@AB@@AB@@CDB@BF@DGB@@CD@FDADF@BADDDCBBDCAAC@BCFEAAB@FECABC@ADBBEB@@EGCABAB@@CAA@CAIABAAA@@ECDGD@BCBBD@BBHBFALABAFBD@@CGA@BC@BCEAA@A@@AEA@@AAA@G@DCG@CCBAAA@ADBDAEAC@ACE@BCC@BG@ACBBAEAAA@B@CECDEAEBAB@BDB@DBD@BBD@FDBGBBFCAABCBDBCEC@UBACA@AAA@ABB@CCCE@AA@ADCD@@BF@@FB@@BDB@CDB@ED@DFB@ABB@HDAADCBE@CCACC@CACIABA@@@BD@@AD@DICABCECFA@AMEO@@CC@ABA@@ABA@GCACBADCDA@@BAAAB@BICADE@@BEAABC@GHC@E@@FD@@BA@CFC@@BC@AASEKG@ACAIZBFGDYCIAKGKAU@OCGAKIMIMCOEeCWOBQHI@C@CBB\\HBPTBHJHABECM@ADBB@J@F@D@B@FBDAD@NBBBN@T@DBBADFCFDDGTDJFAFNB@DB@EFFBADD@@DFDDCDBADERCDAB@DELGAADMCEPHB@AB@@BHF@@GNQV@DEJCDC@ADD@@BCFABADA@@FCB@DCD@DABA@EJEF@BEJCLGJABCHAB@BABCFCB@BED@BA@@BABADGFAAA@@CAAKGCAKAUTC@CDDBADIHDFCF@@CDBDCHDBAHGDBDCDABCAABAFKACBDDABBF@@@BHBBDDBC@BDFFFBBDD@@AH@HB@EFC@ABC@FFCFBB@LCFBBAEGFEDABGJMJCL@XGNFH@PDBB@FHDBAAA@@D@D@@CB@DGA@BCCA@@CABACAJA@@C@AKEA@EBBB@ACC@B_CABEMENSFA@AB@@DRFD@@CHDBFFAH@dLTBjA"],"encodeOffsets":[[124327,31940]]},"properties":{"cp":[121.375972,31.111658],"name":"闵行区","childNum":1}},{"id":"310113","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@@JE@@BOAECMCAFS@ABC@ACA@FME@@C@@@GA@@EI@BIMA@CCA@CBAH@AMDI@OBACEEB@ABACCGB@FIB@FI@BHC@AAEDA@JRIABBCB@B@ABBCB@BIBDFMBAAGA@AC@BAACIB@@C@@AA@@BE@AAKD@BIBBBHRC@ICCCCDGABEA@@AC@@BI@@BAA@GCBAAA@ABBBCDAAEJFDB@P\\J@@FB@@DGA@FD@@DAAADCF@@ABBBCDDB@DF@CLCAEFEB@DG@@HD@DB@BB@@FHD@BADA@CFCFABDB@BED@BCDEFFBABB@ADG@GNCBFHAFA@@DCAIB@DB@@FBBEF^JBAH@AFD@A@@DA@@BFDABD@@JB@@BA@AD@DB@@FCJ@FA@C@ABAAABENDB@BCDCFG@ADDBEDDDABA@ADB@ADF@BD@BEACD@BCBJF@BABA@BBCFE@ABCLABBBAFEB@A@BCDEBADD@CBBBBAADBBD@B@BBADFADDDA@ED@ACB@FF@DFBBCB@@AC@@GF@B@AFD@@DB@@AD@@BD@\\PfK^I|]BAEGBE\\Q`W|i\\UdSXUBD@DFAEG\\UQQQY@QJONIVIEGEBCGYLW_HEBCCC@YUBAFKAUD"],"encodeOffsets":[[124384,32068]]},"properties":{"cp":[121.489934,31.398896],"name":"宝山区","childNum":1}},{"id":"310114","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@A@A@@AC@BCME@@AABCDAHBBE@@BED@@CAABAFAACJCBFPC@BJCDCDDNAAEI@C@@EAAFEHA@CR@BDB@FA@@DAKYCBACGHCCCE@@CEB@A@CAADGA@CCAADGB@DB@ADC@@ECBBDC@BGG@CCIC@EAAOCG@OEUHK@IDINAHCBEFFHABEAKDA@EAED@EAD@BED@FGAG@@BC@@AC@@DA@@CCBEA@DGAKFOB@CG@@BAA@CGCBAEA@CA@@DEA@FCFB@ABAAABAC@AAACFGEBCABCCABCCABCAB@@CC@ADGDEEC@EDCA@BA@BDA@ACEFECABC@@BB@BDC@AJIJCAADC@CGEB@@AB@BDF@JDD@DHBABD@B@@BCHE@@BC@@DCA@DC@@DDBADA@EDFBIPCFIIBCMAE@AJ@B@FAB@DAJDB@DDB@FD@@BCBBBB@@DABAB@DCBBBAHBB@FMCKB@HF@EHIACBE@BFCBBLAH@DD@@CD@D@BFNBCDGBAFTHBEBB@DB@@AJD@ANFABBBD@ABD@@ANDBDCD@BABA@ABLDCFDBF@ABC@ABDB@BFDADJDDCCDBDCDAAABBB@BC@ABA@ABC@@HA@C@@DJ@@DFB@BD@HB@AD@ABBDFA@HA@@CA@BDABOBMFAFB@ADBDAB\\LDAHBBADBHAPFJFAFBFFD@BJHRD@FHFNHDACCLADBH@DDFABHCB@BHJF@AJ@@FAFDB@AEFE@CBIHB@AC@@AA@DEHD@BD@ADB@BDB@AKD@@DBA@@@AD@DBBDBBDBD@@FDDBA@CDAHDBBHDADB@FA@BD@DCD@BFFCJD@DA@FBBDFADC@A@BFABEAABADKBAF@DEAAB@BA@AIEDA@ADCFB@AACE@BCA@BCB@BACCFCCABCH@DEDC@ACAFMBABBBAD@B@@EDI@EA@@CBCB@@AA@@IC@BAEC@AB@@CB@C@BEG@AB]IFEAA@EA@@CJADB@CB@BEEGDAHMH@BCA@BAEAFEDC@AFC@ACABALQGC@ECCE@@GH@@CFAFEDBDKE@@CCADCAABA@@DEBCBB@CC@@EHB@CA@@EI@GMEMICFIBBBABAAA"],"encodeOffsets":[[124249,32046]]},"properties":{"cp":[121.250333,31.383524],"name":"嘉定区","childNum":1}},{"id":"310115","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[["@@bM²WLCļÑNI^_ÈïsJQ¶±`e`Z¡LDCsEWOWs@GBI\\wsYg|QNUBģFqAZHZB@@JHBAJFRA@BB@HABB@@J@HBDBLAJC@@BD@ABA@B@AD@FB@@BA@@BA@G@@FC@AB@DA@ABCAC@@DEA@DD@BDEF@FQJE@CAGJA@ABCAEDBDGHADWR_TYJI@G@SD@AA@@AA@IDGB@A@BQBmAA@CBOAGFELC@AAaDACS@C@@AIAABKA@BEBFDADDBCJC@@BC@@A@@ABJBBD@DDDDB@DAFCDBBGCA@BAA@CEC@@FCA@DCA@AA@@EE@@AC@CD@BBBF@DD@DAA@BBB@BDBAB@VFDADACADBBEDAAAHECC@AAC@CAA@ACA@ABBFCFFD@D@ABBFBABDA@BAHD@ADF@BDD@FBCBCA@BBBABDDH@CDH@B@BB@@FB@BB@B@FBADD@@AHB@DC@EAABKBEBGAAAC@AAADC@CHFD@@BBABJBDBB@DB@@BABAHD@FA@AFCA@BADDBEFA@BBEFADD@BBCDAACDCCABE@BCECC@@DA@CHE@@ACA@DA@@BA@@BE@ABOC@AA@CBMAAHCDAAAB@AGA@@CADEAAABCACNA@KECLC@E@@EA@A@@A@AC@@AAAA@A@C@BA@CDABEAAADCABAAA@DEH@CEADACAKDHN@LAFKNGJAF@D@DBFNLHLANEP@FBFJJJDdHDDLLNVDHAHEJWXAF@FJFHDtDXHhZNPFHBHALK\\AH@dCNCHCDMHoTUJMJIP@RRZRR"],["@@PDNAvOFGBKCeEQGEI@IBMNY\\GJELATBJ"],["@@HRHJNBX@XCRGfEFGBM@eYuGIgCIAK@KDMPIREVCXARBP"]],"encodeOffsets":[[[124438,32149]],[[124808,31991]],[[124870,31965]]]},"properties":{"cp":[121.567706,31.245944],"name":"浦东新区","childNum":3}},{"id":"310116","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[["@@DBBAGCBD"],["@@HADA@AGCKHBBF@"],["@@FACAAD"],["@@DB@EB@@CB@@GEQ@IEKAM@ATE@EHADF@GDCFFPD^BBED@@BD@@DPBB@@CDB@BLC@ADB@BF@@CF@@DB@BDCDA@@DCACBC@AB@HDBRTHGBCHBDB@AF@B@NACQ@@@AC@@CC@CIEE@CFCFHDBHABDN@BED@BDNA@HAF@FCBADDLD@DAAC@AB@@ANC@ANC@TDBL@DGJC^BDBDBJ@^F\\VHGPB@CD@BAF@DKDBBCA@BAC@FK@E@BD@@BNABCF@@AFB@AD@BADB@GA@@AF@BCFBDKB@@BDBB@BEDBBDF@@CFB@HD@@F@@@HA@BBA@BDC@BJADBBLB@AA@@ED@DIHA@BB@BDDBBCBA@@@BF@@CB@ABFBBCFB@BD@FCF@DBBAD@BAD@BABBBAHDJ@ABDDABDBHCBDJIBOFE@IDKJAFCBAJELAAEBCBKAA@GD@AIBEAIDOK@@EDEAABA@A@BB@@@B@B@AAD@@ADA@EJ@@CB@H@BLDBFA@@B@@GEB@EB@@CB@DETAAADA@GH@BHLAPA@ABBD@JU@ABBFCB@£«ugWOCOCgBDaAE`@HCBBFCBAJA@AFDFAFFD@FDFCFBBA@BBAFBDA@CDAAA@STCBWLAAABBBCBAACB@AABBBIFAPCHCFBBCB@HA@CAABGPIBO@ICCEDMGAILADACCBCA@CECEAKCADCBADAAKAEC@HEBCAEDQBACEAAB@BGCYDEJCB@BBFN@B@@JDbHRJL@D@FA@@CCB@DABBDEFACSDA@AAA@DDBLFHAB@BABCAIDADABCEKCABC@CDABBBC@@B@BA@BBcO[@MGDCC@DK_KFMGBCFGADEA@AGCA@@DAD@AFB@BCB@DGOCCLKR]JADEAMMABBCA@CB@BABCAACB@CEAB@CAAGBDFGFHFGBBDFHF@BDB@ABBFDADFF@DHD@DFFADDGDDDADDABDA@DDCDFFBDEBFFDCDBCBDDEBBDB@@@CDCDI@GB@BBFAB]DAHCDDH@DDBHB@DHABDB@@FG@CABJBl@FEFCFBB@LB@J@@GPDA@DD@AD@D@@CCA@BCA@CB@A@@AF@BGFAADDB@ARF"]],"encodeOffsets":[[[124321,31442]],[[124337,31429]],[[124341,31419]],[[123933,31687]]]},"properties":{"cp":[121.330736,30.724697],"name":"金山区","childNum":4}},{"id":"310117","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@@DLB@BFTHAFB@DABHFELFBBAH@DIHB@GB@@CB@BEDAB@LAPB@DFBADD@@BBBN@@DRB@BADALHABlH@@\\ABAFQPOLDBDBDCJBBJFA@FCJC@@DCAABDDBDKHB@CDBDEBCEINHDABFB@DDDD@F@@ABCAA@EB@@CH@B@BCBABD@DLBBCB@R@ADD@BAJ@BBBB@BA@@NG@AFELC@AB@@CBA@KJAAA@CAC@CLD@ABBBGJDBBDCFBBDCFDADBBDCABB@@BA@HHDBABFFDCBBDCB@BABB@AFEBBBED@FEDDBED@BALB@CD@DEHBBGDBBCB@BFB@@LC@@FJA@AJB@@B@@FB@@HH@@BJ@CJDDADDBB@B@BCJD@DB@AB@FC@@FC@@D@FDA@X\\ILF@CAA@ABBJ@DEXFPBI_CM@CF@NFF@BBB@BAADBLFBJABHKB@@L@BHXCAGBAF@@BB@@BCFBDDBD@BB^ENNEFEAEHCC@DBB@BB@AH@BFCD@B@ABDB@@FAF@ABXFnNHKB@BA@CDC@CDA@EB@BCBADE@AC@BCD@DCFI@CRUHM@@GE@AA@@BGAFONDBCHBFK@CBAHODICACDEC@CC@BCEAFEA@@CMABEIESCCHECEDBCAA@WAMAA@MBCAC@E@A@C@E@IAABCN@FDBAIGAGOSGAA[DAD@J@XIJ@PDDI@ODK@UD@BCAAGADSG@CAA@AABAAAA@@BECBC@IFCBC@CIG@A@AGDCABACCBAA@@@G@GCCB@AABC@ABC@ABCAE@EDC@@AEAADEABAA@@DE@@A@@ABADCAACA@@AGBCJC@@FB@@BMCBCAID@ACB@AAB@@G@@@EC@@GEA@DE@ACCAAFA@CA@AA@CLEAADE@@BB@@HCAABC@@BEA@BE@ADMB@AC@@A@FELD@ABB@ADCACLE@ABC@@DOAGH[U]EI@CACA]AIDCHK@CA@SMD@BMD@BA@@BBDCBC@CKBCDA@EBE@GMBACC@AFM@ACGBCAEGED@DFFDJD@@DD@@B@@DRMBA@E@@BCAGAADGHQSCA@GBAD@DADB@CB@DCACA@@CE@@DE@@ACA@BKD@ACA@DA@OA@CC@@AC@AF]AOCEECD@HCEGB@FSF@BBNFL@JFR@HA@@DA@@FCA"],"encodeOffsets":[[123933,31687]]},"properties":{"cp":[121.223543,31.03047],"name":"松江区","childNum":1}},{"id":"310118","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@@GCIBA@@FADHD@BCDBJIBID@ACA@@AD@BAFDFEBDB@ACB@@ADBFCD@FFHCBCD@@DA@DBBADDBADDBAADHFDEBB@BBDBABBBAA@DE@EFB@CB@@DFBABHD@DBB@AH@@DPALEHB@CFBDA@DB@@CD@AAEAEEACD@CAACGA@A@@AEBACCDALBBEBADBBADCACHCBGCADGACDC@@DECEJGBCCADCD@VSLBDBLHBB@DB@BBFCDEBA@AB@@AFC@ADADEBA@ABADGBAHIDKJOmMWEBAE@EB@@CABAA@C@ED@ABGA@@AAA@CDDFGFBFEMM]FAAC@CAACDE@AA@@AE@ABBHWDAGK@@@LAAGIBEAAKBCABA@AAE@MEE@@DDNJ`OAWECFI@AA@BBB@DKE[J@WCB@E@CD@@ED@@EBAA@@CICADA@A@CABCCCDII@@AG@@GA@@EA@@@IA@BIB@ED@@KA@AEA@ADCAAHGACFC@@DKAABC@AFCCEFC@AFAAEF@BAAABA@CDAACDEEBACAGGB@@AA@BACDAABCECCDAADGAACAHIAABAC@@EDEB@HBBBLIB@DA@@BAD@FKBEH@@MB@@AAAAAI@ABC@BCQ@A@ADKA@CACABADA@G@@DA@@FBBAD@BE@C@CC@CEABAGCJMDFFAACDCA@LGACCCBADB@CD@DI@EEBAIIACDCACAPKROBEBA@[G@AkGBBKBC@AQA@CM@AA@AC@BCEA@COAKBA@CBAFA@@DA@@HGACJG@ABEAFKGEBA@CEAGBEUKA@CQE@BCABCEBAHE@@BB@A@@DDB@ADB@DC@C@@BCCB@OC@HM@AHC@AHF@CHBF@BC@@DB@ADBB@BNB@BB@@FDB@DC@A@CRA@CFBBAFGAADDB@HA@@DB@@D@@ADBBEJDBM@ADg@ABFFABGBCNGBC@CACBAADAAEFACK[AAAJK@AC@GBEDG@ACOFOEAD@JQ@@FBdCDEL@FCD@H@JHXBPHABDEJ@BEDCACHCFAHA@@EG@QB@BBDE@@DE@AAE@@CG@ABADA@ABCAABCDBLD@DHNJDD@HDHHHJFdDPCTD\\JnEMPDvBJHADHBBD@BD@@EHBFCBEDB@AD@HREB@FHD@DHBBGD@H@ABDBL@@AB@@AD@@CFA@BAFFD@BBB@CB@@FHDADB@@DEAADJB@DCHEAABBB@BFBAFEFADJDABIAADFB@DAB@B@BDBABCB@BE@@DD@Kz@DD@@HD@@DC@ADA@A@AFFB@HBA@BAB@FC@@AIBDBDABD@NA@BBBBABBRA@@@dFFDDHEBBHDNFFABDBDADCB@@AB@BCFO@ABCHCD@BBC@@@FDPRF@FA@DB@@AHAACFCHA@DFAACD@BBDAAABAD@BBD@@CDALBFB"],"encodeOffsets":[[124062,32028]]},"properties":{"cp":[121.113021,31.151209],"name":"青浦区","childNum":1}},{"id":"310120","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@LBBAJB@BD@T@BDbCBBD@FKHEPBDAB@nBRA@A@BHAJCB@@BB@@BTCH@J@ZI`SXQBCHGACFCDBBAB@HIDBF@NGDA@EFEACC@@CFB@CD@DBBAB@@CBAD@@EH@B@@AB@@AA@@EBCA@B@BAC@@AD@BIAKAC@G@IA@BA@GAAB@EQBIGA@IA@GYBYrĥDEU¡_[g¤A@EDAA@BIVC@AA@BOBKBAGG@@HCBBBSBCFA@@DA@@FFA@HA@@@EBCAAKG@A@@DI@@FCB@BC@BBA@A@@@A@@A@BABBBCF@FL@CPBJAFBJC@@HBBALADBFKBIFABEDIBCL@JEFAPKJHFBFADED@JADFD@AB@BBABBBB@DBH@CTHBBBADC@@VCL@PCJTfD^JNJLJHBPDV@LBLHJBZDHCAEJYDB@BLHTFBBD@@AD@DEB@@AC@@EF@D@HGD@BAFB@AF@BCJD@ABABB@AB@DCBCDADB@HAB@BB@BAD@@DP@NF"],"encodeOffsets":[[124489,31743]]},"properties":{"cp":[121.458472,30.912345],"name":"奉贤区","childNum":1}},{"id":"310151","type":"Feature","geometry":{"type":"Polygon","coordinates":[],"encodeOffsets":[]},"properties":{"cp":[121.397516,31.626946],"name":"崇明区","childNum":0}}],"UTF8Encoding":true}
--------------------------------------------------------------------------------
/frontend/public/static/map/province/xianggang.json:
--------------------------------------------------------------------------------
1 | {"type":"FeatureCollection","features":[{"id":"810001","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[["@@D@bKBoCWKACBGCI@CJSVGFIBKCM@ABAF@LFHPFJJPFVB"],["@@ABD@@AA@"],["@@AAEAAB@DDBFC"]],"encodeOffsets":[[[116895,22829]],[[116861,22818]],[[116860,22817]]]},"properties":{"cp":[114.154334,22.281931],"name":"中西区","childNum":3}},{"id":"810002","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@BMHBBGD@BAHBD@HKDEF@FHDEDECCGCIAAQWCUBSBDXApREHD"],"encodeOffsets":[[116927,22822]]},"properties":{"cp":[114.18299,22.276345],"name":"湾仔区","childNum":1}},{"id":"810003","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@rWAGBEJKRO@ACCBEAIAEGEACKPA@MDICIDOBKDGAIBIABRNDHFEHADEGE@CFGLC@GAABC@AHECABAN|TTI"],"encodeOffsets":[[116967,22827]]},"properties":{"cp":[114.225965,22.279779],"name":"东区","childNum":1}},{"id":"810004","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[["@@JBJAHBLCPAJCJDPCLOJM@IBAFBBA@CE@AAE@AAFIBQBADAFECCBEA@GFCAYBABIRC@QEGEACBEHMACECQACFE`A@GCK@AFFHADMJBBF@BB@FBHCFI@KLEBCAGWAAQDGCGJQHOPOHS`KLN@LDJAHETUDIJ@HDxCZD"],["@@ACCBFB"],["@@D@@ACCCB@CC@CFBDJA"],["@@BA@AG@@B@BF@"],["@@DABAGCADADBBDA"],["@@BAEBD@"]],"encodeOffsets":[[[116946,22787]],[[116886,22776]],[[116934,22767]],[[117006,22758]],[[116932,22748]],[[116970,22738]]]},"properties":{"cp":[114.160023,22.245811],"name":"南区","childNum":6}},{"id":"810005","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@AIBINQNIHU]IsRC@AvFBHFDCLDV@"],"encodeOffsets":[[116920,22860]]},"properties":{"cp":[114.173347,22.311632],"name":"油尖旺区","childNum":1}},{"id":"810006","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@H[@EEGU@KCCDGEEABQi@AHCF@B^P@BABOFCFBFF@FDNADADHJDjB"],"encodeOffsets":[[116919,22881]]},"properties":{"cp":[114.163349,22.333775],"name":"深水埗区","childNum":1}},{"id":"810007","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@DEBEFC@CJKD@DCHDLDBMEG@CFCLICETSDQSJeMGVKHGJIR@HFJBFG^FDF@"],"encodeOffsets":[[116925,22883]]},"properties":{"cp":[114.193047,22.312373],"name":"九龙城区","childNum":1}},{"id":"810008","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@AC@IH_BAYCEDIAGDICGCCDC@IL@DEDAFCFNDVD@BADBBHCFDJA^D"],"encodeOffsets":[[116970,22892]]},"properties":{"cp":[114.203985,22.336112],"name":"黄大仙区","childNum":1}},{"id":"810009","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@F@HWF@DABD@IHBB@GOAENMBE@AEAGOBCFE@CqXCRSTDFKJED@DFHANFCJBFCZD"],"encodeOffsets":[[116974,22868]]},"properties":{"cp":[114.214083,22.320679],"name":"观塘区","childNum":1}},{"id":"810010","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@AEDQ@WQACIKIGCQCABAHC@]I@ADC@ECICCKEGA@NuASIHyO@IEQW@CÙF~bNJFL@D@FLBBNPJJFIDAHEDBDHBDDBBTCB@AHDB^@@JHHF@DDLFJFDBHCD@PPD@L@RLLBDHVBNAHBBABGhB"],"encodeOffsets":[[116914,22950]]},"properties":{"cp":[114.121234,22.368458],"name":"荃湾区","childNum":1}},{"id":"810011","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[["@@AC@G]@CABGA@SDAACCGAACFCBGJCIEOIAMKAEHGFgFgPS@E@MEGEEGCAO@E@SLUNCH@DDH@H@JEHAJCHQFAB\\`ZHTCFKBAHFFJFJBBZ@FC^CND@AEINGXA@OL@@U@@HN@BEE@@KTA@G"],["@@BAFADAAC@AACDACGEBBHAFGFBDD@"],["@@B@B@@CA@AD"],["@@BAB@CCA@ABDD"],["@@D@CGABAFD@"],["@@@ACICABJFD"],["@@DA@ACCC@ADBFBBBC"],["@@@A@@ABB@"]],"encodeOffsets":[[[116810,22924]],[[116618,22917]],[[116612,22891]],[[116626,22888]],[[116629,22880]],[[116725,22874]],[[116708,22866]],[[116720,22861]]]},"properties":{"cp":[113.976308,22.393896],"name":"屯门区","childNum":8}},{"id":"810012","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@BMDIEK@CDCAMHG@C@MCG@YBAZHZDLIJA[gAGBEHMTO@EAIKAQKK@C@OOC@GDCAIEKECCE@EE@HSB@LF@AFM@@G@@VK@@PWBMHFJ@BMC]DEDY@AAEIEIGEABELSDVHNRJPHJLHXHFBP^ZVBRB@\\CJIDEH@DDAJHDFF@DGL@FFB^CRED@JFDPJHPBHED@HFFF"],"encodeOffsets":[[116828,23059]]},"properties":{"cp":[114.032528,22.44132],"name":"元朗区","childNum":1}},{"id":"810013","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[["@@A@@HIEK@EA@BDH@BBBD@BBBAB@MN@DH@@BEFBDFBDA@C@@VABBDAJ@B@D@D@@CC@ECGB@ACACCA@IFEBAC@CFABEHGF@BACGGB"],["@@DC@CEDAFB@BA"],["@@AABB"],["@@@AC@DB"],["@@AABB"],["@@BAAAEABDDB"],["@@@A@CEDBBD@"],["@@@AABB@"],["@@DA@CIE@JFB"],["@@@@@@@@"],["@@DCD@BNDBDIAE@I@EE@ABABOHAJDDFABC"],["@@@A@B"],["@@B@B@ECAFB@BA"],["@@AA@BB@"],["@@@@A@B@"],["@@A@B@@@"],["@@@A@B"],["@@BCAB@B"],["@@@A@B"],["@@@FBCDBDABBBBBABCB@ABDBBDB@DH@JABBDNEBE@CD@FCKKG@AEC@EBA@ACIEA@EDBB@DB@ED"],["@@A@B@"],["@@D@BCG@ADBBBA"],["@@@@@@"],["@@BAAB"],["@@A@B@"],["@@@@AABB"],["@@QCKMECAKH@FDD@FFDABAFBBHJBPZBDJ@BCD@BBHA@DF@HAAAEEDA@EF@DGF@BC@CGE@GFBLABBADBBDAH@D@@AEIBAFF@ADBDAGGAEA@EIBCLBBA@CDBBCHBBABCTKLFZHRJH@DASMQGGIOEGAGBaNM@eEK@EDKLGBCFEBAAAGGGEEEIIGAEIDU@GBK@IDUAIAEEEGCIEBEAAHM@AABC@EKCWOMEIBKJYCYGAB@ZDH@N@DGHBNCFFNEN@JBFMJBDNDFHFBHEDALDFAFD@KFAFDBFH@FHDBF@DFHAHDLABAFBBDFF@BAAA@@D@DD@@HH@LLDCJFFCJ@BABEFABBJAB@DADDH@BBB@FBDCPBFEJBFC@AFADC@IDA"]],"encodeOffsets":[[[117049,23071]],[[117017,23092]],[[117013,23092]],[[117010,23091]],[[117004,23090]],[[117009,23086]],[[117081,23081]],[[117014,23081]],[[117057,23081]],[[117015,23077]],[[117062,23071]],[[117020,23075]],[[117024,23072]],[[117021,23072]],[[117029,23071]],[[117037,23071]],[[116974,23071]],[[116957,23067]],[[117036,23065]],[[117043,23049]],[[117033,23064]],[[117035,23059]],[[117043,23052]],[[117049,23053]],[[117040,23048]],[[117054,23039]],[[116975,23082]]]},"properties":{"cp":[114.147404,22.496143],"name":"北区","childNum":27}},{"id":"810014","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[["@@HGNA@ACGC@G@OFADCL@FDDJDBA@M"],["@@@EACUMIMGGGCE@@CACIEMCMISGG@CESIGKGEQGG@CBABALQTCDABC@GCK@EBCACAAKBAHABAB@HA@AE@@ENADBDLFBFABACGEEICG@ICQB@B@J@@GBAAEEAODERKMIGMAAUAAAUA@ACAAA[ASAAHABGAMBUAAA@D@FSPIRBJ\\hNFXPLD@FADBBN@BGFBFAHPDFHD\\BJCL@HAV@JCBFJHFJFFHHBHDBHGHALKFCL@fFN@bMLATHHJRHTN"],["@@CIEAEJBBBDBBBBHAFBEG"],["@@@CFABAAGCC@ECCEACB@HAJAB@FEDJJDBHABA@CAC"],["@@BAEBBBBA"],["@@^DLCFBBBBJFJNLH@DHN@NXJFFHPHDABABKDAFDDABGAEBCDBFFALDDBFDBDADIBIFOCCICAAAI@CDG@KJ@HEBBDJCBALDBFBBBDB@HBHHALEDE@IEG@EGA@EDIBYEGAIEEICADMFOLA@KEE@OHKHYDAC@KCECAS@CCAEBGGOK@CACIYCEAGEBLCH@JGJ@FBXCHDL@P"],["@@AEA@ABB@@FB@BA"],["@@@CABBB"],["@@BAAAABBB"],["@@BACDBA"],["@@@A@B"],["@@@DHBAEC@A@"],["@@AA@BB@"],["@@BB@CAA@D"]],"encodeOffsets":[[[117183,23086]],[[117087,23049]],[[117113,23039]],[[117114,23018]],[[117122,23021]],[[116998,22974]],[[117082,23017]],[[117084,23018]],[[117081,23013]],[[117180,23003]],[[117039,23001]],[[116966,22997]],[[117006,22983]],[[116968,22976]]]},"properties":{"cp":[114.171713,22.44573],"name":"大埔区","childNum":14}},{"id":"810015","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[["@@B@@@C@BB@A"],["@@FIJBFCF@JDF@DDBEDBDEHACGDK@EFEFK@EGAI@CDILEBEAIG@C@EECCKBCJEFGFAJGAGDKEGDG@GCCC@CBCFC@AIGAACFEEACC@CEAGB@EC@@AID@KBC@CACCGE@ABALGLBFA@GGEAE@GJAFBFIFCJHN@JOFGFG@@DBHABCFKAAEDCACI@GBGAAFI@GJEBE@ECAEBICCCU@KJI@IGKIBAAHcDEFENAFADE@CDGDET@BCBEJGDKAIKEEEGAACBCF@DA@MHI@CACCAE@AGE@OLEHGBAA@CECCGEAEBITGDANHRGLCDG@QSEG@DEDADHPFB@BEJIJBFHPA@GA@JACCBEBGVE@ABG`@JBDB@ADBFPBPJLLBJRDAJHFFBZDFLN@HPAHBFDDT@DBDF@LBDZCLGPGF@LFB@PKNEBCJDFFBJFHAZCJ@FHB"],["@@A@@@B@"],["@@@@@@"],["@@AABB"],["@@BAC@@DBA"],["@@BAA@ABB@"],["@@@AABB@"],["@@@AABB@"],["@@B@BACEC@@DDD"],["@@A@B@"],["@@@AADBA"],["@@DC@CA@ADA@ADD@"],["@@DBFADBLC@MDEBIA@@GJAHGCCBEAA@CCA@CAEKBEBGACBEDEJAFHHAB@LABBDA@@AA@CBBB@DD@@DCDCB@JBBHA"],["@@@AAAAD@@D@"],["@@@A@B@@"],["@@HE@C@ICAA@AHAHCEEFBF@BD@FA"],["@@BACA@CC@@DFD"],["@@@AA@BB"],["@@BCFE@ACCDQCACB@FCBCLGHFFBHFDB@DE@AEBBE"],["@@@ACAAFFA"],["@@BA@@CBB@"],["@@B@C@BB@A"],["@@@AABB@"],["@@@AA@@DBB@C"],["@@ACABDB"],["@@BAAB"],["@@@@@@"],["@@BACA@BBB"],["@@A@BB@A"],["@@FADIFEAICAACC@ABI@CFBDCD@BCHFFLB"],["@@CEBEBACA@AA@KD@JBHH@@BF@BE"],["@@@@A@B@"],["@@@CE@BFB@BA"],["@@AB@FDC@AAA"],["@@DHFEDAFGACBCMBEJ@D"],["@@BADABAB@BCKBCFDB"],["@@B@B@C@"],["@@A@@BB@@A"],["@@D@C@@@"],["@@BAAB"],["@@@AA@BB"],["@@BAAB@@"],["@@@AADBA"],["@@@@@@"],["@@@A@B"],["@@AA@DBA"],["@@@A@B"],["@@@A@B"],["@@@AABB@"],["@@BAEBBBBA"],["@@@@@@"],["@@A@B@"],["@@BC@AAAEDBDD@"],["@@B@@AAB"],["@@BACKAAC@@JDDBBB@"],["@@AA@B@@B@"],["@@BCA@@D"],["@@@@@@"],["@@@A@B"],["@@@EAABAE@AAA@@JF@@FBBBA@C"],["@@@CCB@BD@"],["@@AA@GAAEAAE@@E@AJFLDDFADFF@@EEC"],["@@AFDBJBAADCDEACFEGA@EEB@FEDAH"],["@@JDB@ACDC@AA@ACB@@ADA@EC@@EAEC@E@AECAABBFIBED@F@DFHFDDAFF"]],"encodeOffsets":[[[117146,22985]],[[117119,22980]],[[117154,22972]],[[117153,22970]],[[117139,22942]],[[117137,22939]],[[117137,22938]],[[117033,22925]],[[117063,22925]],[[117066,22923]],[[117031,22921]],[[117064,22919]],[[117029,22917]],[[117054,22915]],[[117038,22915]],[[117048,22915]],[[117075,22911]],[[117036,22912]],[[117039,22911]],[[117043,22905]],[[117051,22909]],[[117044,22906]],[[117050,22906]],[[117074,22902]],[[117143,22898]],[[117036,22899]],[[117076,22898]],[[117116,22882]],[[117120,22880]],[[117102,22876]],[[117073,22876]],[[117119,22871]],[[117126,22873]],[[117085,22870]],[[117121,22865]],[[117041,22863]],[[117123,22866]],[[117118,22860]],[[117118,22859]],[[117118,22859]],[[117069,22860]],[[117077,22857]],[[117116,22856]],[[117068,22845]],[[117059,22840]],[[117059,22838]],[[117061,22837]],[[117066,22837]],[[117066,22837]],[[117061,22835]],[[117070,22834]],[[117061,22834]],[[117068,22833]],[[117064,22810]],[[117100,22804]],[[117100,22803]],[[117118,22799]],[[117120,22799]],[[117028,22798]],[[117095,22795]],[[117103,22791]],[[117097,22787]],[[117105,22856]],[[117111,22850]],[[117039,22789]]]},"properties":{"cp":[114.264813,22.314203],"name":"西贡区","childNum":65}},{"id":"810016","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@PGJAVDFD@HDBJBPA@OCKDGAYHM@IDGAKBIQCAIKKOIMACEBC_CIBECGDAABC@AUCKCG@ICeAICAAGHAL@FFJCP@FDHADLBFDLJDJRB@XCRBFHBBBDB@BVBBBXBHPNJ"],"encodeOffsets":[[116956,22970]]},"properties":{"cp":[114.195126,22.379715],"name":"沙田区","childNum":1}},{"id":"810017","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@AECBMBECGA@CDEPEBA]QDGBGj@@cUADF@F@DCFIFSJQTQBaASPEBGzTJvB@MHBLFDDDJ@FCD@@ZJHBBIJBBCCI@GDKEI@EBKHG"],"encodeOffsets":[[116892,22877]]},"properties":{"cp":[114.13918,22.363908],"name":"葵青区","childNum":1}},{"id":"810018","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[["@@AIIGQCQ@GE@G@ICCGAAABCBA@GBGCA@ADOAGO@KBMLC@ACAEFARSDEACSGCEACLIL@DEPCBACEAECCE@AACEIECCKCMGI@KJGJEJ@FDLIBSGUAOOSEAABE@ECG_CSBUPAHGBICEOUMGCKBC@GCGGMCABDRGDAF@HBFEHAP@JJJH@BNRFDDBHEBICAH@DPHF@DAFFFNLBRFBHNNBD@HEJJVED@DBDZD@DEPFBAFCBAI[@CFGF@~dÚE"],["@@DC@AKE@ABADDF@BCFCAAIEG@CBAB@DABAFGDBBXF"],["@@BAAAC@ADDBBA"],["@@BCAAIBA@BDBDJB@CAA"],["@@BCCGGCGBABBHFDL@"],["@@J@FC@AAKFGCIC@EDADAD@B@BCBAAEHI@AF@BB@@DT@"],["@@CEMI@ABEHHFBHBHAFDFBF@BCLBDC@AGIK@OMDKJM@CAAC@YP@AHKAGAACBGHEGC@GBMDCD@HBDFDDDBXCFBNAHEBA@@IEAGCK@CNBDLHHD@BEBDFGD@DVJBBBBBCF@BECGACLGBEAADEDADFF@DE@E"],["@@@CEA@DDDBA"],["@@FEFBD@DEC@@CCAACGF@AE@CCBAC@CCCCCBBBG@AHH@DHH@DFADABE@CD@BD@DF@BABBDDBH@DBDB@E@AEAFABAKCAA@EDA"],["@@D@ACAACD@B@BDA"],["@@BAC@BB"],["@@B@BBBA@EACGAEFA@GDBHJJFA@CB@BCAA@C"],["@@D@BCBEAECCGC@BIB@CAA@FA@@PTD"],["@@DE@KG@CBAHBDDABFB@"],["@@BB@CAB"],["@@BHBB@CAEA@"],["@@BADBDABAD@BAAABAAAABABAA@CA@ADAAAB@DABCACCC@BRHCBC"],["@@@A@ACA@DDB"],["@@DAAC@@CD@BB@"],["@@ABBA"],["@@BAC@BB"],["@@AAA@BDBA"],["@@A@B@"],["@@BBBAAAABCAA@FB"],["@@@BD@DDCDBDDBDAB@FCAAE@@EBABEE@CAI@AACAGF@DFDF@DA"],["@@@A@A@D"],["@@BACA@BBB"],["@@B@@AEABBBB"],["@@DFPFBFF@BCFCFICCDEBIQA@DA@EC@ECCEAE@FJIBABD@@DCAABBJDF"]],"encodeOffsets":[[[116799,22849]],[[116787,22826]],[[116803,22822]],[[116823,22817]],[[116799,22797]],[[116780,22791]],[[116882,22747]],[[116881,22757]],[[116774,22741]],[[116575,22748]],[[116686,22746]],[[116733,22725]],[[117001,22721]],[[117036,22720]],[[117038,22719]],[[117053,22714]],[[116651,22714]],[[117053,22714]],[[116664,22710]],[[116665,22706]],[[116984,22706]],[[116645,22704]],[[116647,22703]],[[116640,22702]],[[116646,22692]],[[116656,22693]],[[116663,22685]],[[116998,22691]],[[117001,22702]]]},"properties":{"cp":[113.946059,22.286371],"name":"离岛区","childNum":29}}],"UTF8Encoding":true}
--------------------------------------------------------------------------------
/frontend/public/static/map/province/ningxia.json:
--------------------------------------------------------------------------------
1 | {"type":"FeatureCollection","features":[{"id":"640100","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@@CFGUKGQCMBSH[¯JSEGmUQBLYgSeHECWBUJgBGV[DAPHHBrDDAG]DG@[FBCV[VPGA[GYMYWu{sUoOWECCE_FgFDMAk¹FÅ`KY}WkMEGCJOTGJSLONW^OJja^[\\EFcTUJaDaZYLS^GJaRg^BLM@CDKAIBSBUH@H@BUJCHGF@DGLBDFB@BIFFFBDI@BFE@@BJTCD@BJBADHBzB\\FD@FCTBBBXVHRID@xIBaBA`EBw@MLADBFJDTV@B]TIP@FABQJUKA@M`GDCD@BH@BDADIB@JEFDD@DQLKFEDKVCPIJMHSFAFCFBD@HHXHHTJFH@LS^CJBHiHABGHSFDPCBKCOBIDMJIDOAEAAAMOGIGBArED]JFF@DAD[FAAEGC@WDADJJADGH@DNDADMD@DNFBDADIAAAWUICCCCKAEWUEAkRMBEHAG@GGOsLEGW}s`HRVj^xBDEJ`aJEFGJGDGLJLXFTHNBDQZ]\\K`GJIHAPIJCLBFFLV^@DGXENBVDNGJBFJHT@PL@DINCPKNCRJJ@NPPAJENBLXPJJBV@TCPIT@PFNBBVFBBDHBHADKHABAJCJOLARELAH@NDHJLNJJFFDBFCNBFFFNJV\\BBAJQ\\@FBDTLHJJDBBDL@JCNCFCDADFRFHBDKJGHAL@HDBVDFFPFLLR@BBAHBDLNDFFHVPNFFHDLTFXRHLDLLHBHN@jKZ@NAFAXUJ@PITIRI\\C^ADCBMDILGFEDANCxAJALEV@BKLCJ@`PPFJIHQBCH@VDFAZMJGLABOH@LBPLZBBAEI@CBGHGJAVBHHXENEfDRFBGKSAKnEAK@iHE^GF@JFNEP@FKMODQBEhNLPZ@NC^OALGLKXEjEr@@[EOKIbChM`GHGAgPKZY[ŅUco]oįÏ@ENOBEZEH@BCVGHCRQ^aRKYv[ZIVAhGPCRIvMfQRAZSVUbQVGKPC"],"encodeOffsets":[[109389,39080]]},"properties":{"cp":[106.278179,38.46637],"name":"银川市","childNum":1}},{"id":"640200","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@J{AQWËIO¥ue_]gkEKCCQWEKWYcq{MUěYZOLBhGH_HgNaDLJFP@\\q@iFWFKLKHB]PMDY@KOgMAFCRNPELO@MFIEE@]HGF@jBLmFBLLTAHQEeCMFWFGGUAIBGHAH@DFJABYAOKKAG@APKBIHYNEBUCG@ADGRIJOE_OI@KDALU@KFIBwBQFQRCFANAD{FQJSJOJI@WVEBMBY@iLM@@@GB[CKLOVCNANHNNLZRFBZRRZNN\\NLBPATLDJ@JJTFFLBHNLNDJBLABGHGFEHFHJH@@IFFN@RJZLNDVJLPLHJL^JNFJLR\\bVP\\FNIHMRORERAHAzENGJALFNHZHPHDDBJLTDLCPKVAR@JDfCLAVGVC`BFHJLHJ@ND\\ANDJA^LfH\\FLAVDNBJBPCV@`CPEbCRGBA\\GjGHBJHBF@LJF@LBDDBALFBDFCFR@NPJBFFPFDDBDHDFFDHLNHDJHJRRXDFJHzSPKJCjEV@LBXRpTVCLBTLNDD@DIDELAV@TALIFIP[@CIO@ELQPO@GIW@SH_COUaCM@IJGFKAICK@MLKXKXQHYHa^uLkJQXUVMlMFCDAFAFBHAF@VGFBHIHABEBIDCPBLKDCLB"],"encodeOffsets":[[109535,39993]]},"properties":{"cp":[106.376173,39.01333],"name":"石嘴山市","childNum":1}},{"id":"640300","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@IHKHCHIFEbI_FIAC]wUiGQt_X~FHtKHP@HBHFGNAlQFBXVBFDLDDJDXVBBJBBCACME@CNCBCMC@CHGBCIIBCXCD@FHBB\\EBC@CEE^IFCBqHAHJNPBBFBPBJCNIJCPALDDACOTEHGBAjGAGDIT]@KEGSIGGGW@GACDEBETENGJIDOLUFCLERK@CCCFE@IJABCACG@@ADCHCN_B@VLRIBA@EJO^S@ASUICAEBCNKx@FAB_bAJA@wJCGQWUAASAEDC@[EyAGABCIA@ADCIS@AF@AEJ@ACEEJE@AEAACHK@CHEDGVI@A@GVGTAJALBDCN@AKh]bQHIT]ZKbYbCVIdSFE\\[b]iPIX]PMTKHIPSDIFHlN~XLZÆ_ºEBlCNEEhF`DDXFpPtV|XvNZHZB\\HUOU\\ADE@\\CHH^CBqCGAOGCBU\\AHIhAVDXGFTfZhKRAnVFHIT°G\\ATDNHRVLEH@DQZIVER@bMQ°Q`CDLFBJALBRGJAN@DDPNDHLHFAJGTGB@FHDBF@HCPDTCJDHDBNDJLLJLDBHAHIhETADBLFD@DCRODGXQ^GFIJOPK`IbEVK`AN@XGXKFEDGPUPKLEDOBC^UPOVaFCLAjENCFCDE@EJEBAo
KYBCNK~ORR`Ff@HELMf]uÜkVMJCLID]SqG]KSggK@KDGNEDEJC@KCGDBLEBGCIG@ABCJELBF@@A@EM@YMg@{GoMIKG]DYCWCMGOMMYQOCI@mII@EBUNIBgCEKJ[zIJAA[CCgHEAomCCQK@CDGGEGCOGeBCCGA[HhsXEtNHIBGEICOCECSESEKIGESIK[UkYGC]IMMCG@SBm@ISESSg@MBCDWAIIOAKFI@GHWL[FKLILEBCJCBEDB@EDC@AFABCAAHEACDEBB@EDABKDAACBEACBA@C@CAAE@SFGBOGUCEC@C@EJGXM^URIFEJB@EFCBCE@FCD@BCBGDA@GFAACDA@EFAACDAACDEBEACDCEABEB@@AGEFCCEBAAABCEADCGCBCAE@EIE@CCCEKECC@AC@CG@BGIMKRIFADCAEFADCFEF@@CBBBABAAGFEACEHEBM@@KACEHAHDD@@AGCBKHGJE@AMFGAKDgNEAIKME@DCFA@@DC@GJCBADGBADC@CDCD@BGFCFGBADKFEFGDORUGK@UCE@KCI@KCCAGCAAEAECGACBQE@COKEACFGDGLE@IFG@IAGCCCC@SHEFGAQPGBCDIQ@ABIDCBGDGAQC@ADGFE@QFICIJQFIGDAHCBGJCCCCAIDM@UFKBODAD@HINWTKDEDGDADKDABM@SJKCAA@GKECA@CZMB@DBNADMDCUA@K@CHCBEAAE@K@CAGEACBGGAIHKLUPWCG@]XGFCCIJEBIJCFEFGDS@UNADCDEBCA@BGDCAE@@@DAEAD@DCFE@AEEC@CL@AEA@CCMEABECC@CJQDE@CKKCGIGGIDENGEIASA@KHGJCJDFCFIBKACFBHACCAMJ@NDJABIAQAKDQGGDGHGNAAKKISECGACFALAHEDCBUESIGTK@GFOFEBCAACDGEFA@GCCCBAHIFM@EJMFQFGDAFMLANQHS@EAEBC@CDEBOFGACBGNI@KHEHCBCKOECQJE@IADE@C@AHIAECEEODKGMBKFKMB[GCDEAEBOBSJCDACGG@K@EDEBMDGGAGCGCGAIDGLCFBBH@FCHDUVBDCBCDGBGFQPGPGFC@ACAIFG@GNOHMFEECAECIBELGFBHIPCDDNALIFINANCHKFEBIECCEFK@CCBIFAABC@CFGHEACDABEHLHBBHNFD@JEDELG@AAAGBECAAFEBCHE@ECAKFDE@AEAGECBAAJE\\K@ACAFGAC@GAE@GGENAJBACBCBCPIBEC@AC@CDCAEE@ECEFA@AABIE@CA@CFC@GAGEE@CEB@EAADACCDCAA@A@CBG@ECC@KCEAGK@AAJOCKD@@GFEDADEJABCBAAAEAKFECA@a^@@ACCAAIKNCHG@IL@FCBG@EKAAEBMDC@@A@EEEDICCG@YJA@AIAAG@EAABCAAIEBIHAC@GIEGEKAEEJK@AD@DCBEBCLWC@KDAC@AGACFA@CDAACBECEB[KAC@GBIHOCOHKDK@CG@@AC_SC]MKBEAEFSDEACBEBKRCBAA@I@ASGACEDI@MISDMBE@ICHG@CACEEO@QCyQ]KUBEBMTCHOBKAOGABCNUJIDCC@C@GMKC@EDQFIB]EEACG@M@UBGC@IJUBYCWOEA]RCVGNLZAJgjYLAZW\\A`y|SlHd[VU\\cXD`E\\qd[CMJOEIF@H\\XILBX_TCTKHI@AJJB@HiZAREBK@CA@I@A]QGAECEBCFEBC@IELQ^[@IIIKEDGIMOQIEKECCBKACCCSCCA@GGE[GECCO@OCOIEEACBCN@NCJKJODKAOEKGM@OAOBGJC@WQECA@ILBBDHGPCNAZ@JDHJBJD@HEXBH\\^ABGLQJOND@HEDBJAHCFETCAHBFLJJDJ@BJDFBBF@HFRJDDJDHHPDLJDD@FDDALBDADDHBBB@NHD@FDF@MNÔ]rED}@MJspIF]H[NOXKbAJFFBH@RCFEB@PADCDmAGAkPWBIA[@IBKHCLMJSDHDT@LBDBBDFB^ARDf`LFLJZZfTJLFDB@HGBCGAAA@ADCBIHCHGHUFK@OGEACAGEGACLEBEDC^WJI@IZBX@LDL@FD`BNDNJADE@CHBDBDFADBDDADKHECCBAFBFADB@DCD@@BABOJDHF@@BEFMHCAGHBDABDDGDBLED@DCB@BCD@HAHQZGH@BjNNBZHLLLBJFDNBBŌUPHPRDJBF@HGHKHKLWLU@aRWDIDoZKHADDFDRDBDBhG^@DBAHSb@BPPNFpJD@LGDCB@FDL@DBFJAZLB@ABEBBDEABDE@FFE@@DEB@DGFABA@BDIECDE@ABC@AFPDJAR@NHHALEH@HFLBLNBLDJBFDBNLNFFRFDF@FCL@FFBDFDVFLADBBBIJGFMTOHYBMHEJDBDAB@@BsrILEN@DDPJHZAHHCNAJBHFH@JALEDSFIJCB_@KDEDEBW@OCM@SHILEDE@@ABK@EAIIOKGGMKMEMAMAAAAkBABFHRN@DKRCLMH@DDDBD@JCDJPFXBb@fVTFFCXABMEUAcHW@QUGD_HGBICQDUBQDG@UKWIM@Y@qHGCUCKCS@OAaIUIEIgEgAFHHX@LrHDNDL@JAREdCNGL@tPTFNJhJNHRHXVN`DPFJFJXXLLDHFTC\\EREJCNAjBNBFXlX\\P`PVBNCHCDMXUXS\\_`YdQpG\\BPAJDPDrFRAHBPLXDH^^LFLDXJZNRNBLTf"],"encodeOffsets":[[108394,39184]]},"properties":{"cp":[106.199409,37.986165],"name":"吴忠市","childNum":1}},{"id":"640400","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[["@@AKGACBBDABD@BDDDDA"],["@@AGBAC@EJBHHG"],["@@@@A@OLBPAHBBB@JKHC@AEIBI"],["@@NABFjVRPVNXNJLDNBDED@BCVCFI@O@CJGLEJIFIAIFAFCLEDGFAHK`WLKNI\\EH@LDTZPJXDXAPADBFHHDJ@TIJOLWYUKEGIDEL@LHHDJ@JCPBPFH@JCFKBMBCJEDBRNVXRHPLJ^LRRVRLCPALBJBJDDr@tEX@JC^Q^MZCR@E^AbMlQ`UlIPBHFHNDDBBHCLBFHH\\C`GHJBJJJ\\@fLFAJEVIDBBHBFJ@DALO^OH@NLLDJB^@bN`HPFZDFDFPFHpffTFBF@\\CJBDFBJNjBBJGFANBJHF@NCHBBBAVBNDNHRPX@BA@KKEAC@@RCXADEB@FBFJDLFPBBBJLDPVADDDJHHLFF@LFH@HA\\IR@PHDDAFNCHELBJFB@RSXUHAJFHGFDDAF@FCBMLMH@BDF@CFBHDHDBPS`GFCBCCIFG@CCGAKGIKCKKAC@CEK@AHAHEDG@GGCCICDE@ALKBAIBKAC@IGGBAHCXFHCLQB@FHFCJABCCEACBELEDEAECAI@MHODCBCCBUACC@CECAB@AA@DEBKEBAAA@HIDANIBKAGDI@CCAINIDCNKPIFCHCCGDAAOCAABKNOLSBGFEH@FIHADGDADIFBDHLBHCLKTGJKDAHLHCD@DBHFFJAFDD@FELBFCHDH@DJEF@PEDBBCHFF@@IDI@AD@DABCDCBEDJF@@DBDCH@JDF@DFFD@B@DGBAB]DEFBBFF@FKD@LGD@HCD@BLDTHHB@HEEAAC@GDMAIDGLCDBBRD@LGHDDHNBBB@AHAADABHDHGFSNQBG@ID@BEDAJB@CDCLGBFDDTINJ@AFIFC@DFAJMRIBABABBDCDB@BD@DED@DCBRBDD@PKBPHBBAJCFGBEDABCHCDABHDDADLDDDDCFB@CJGFXFDLQD[AB@CD@DEDBFC@@ADBDBDF@HADBAC@CJIFIBQFEFCDED@DDDAFE@CJMF@DDJBBA@CHGFKHCFACIEGDECIACFGD@BDDGBAFBCK@CDFDG@JBJDBHLFB@AAMAG@AESHEHDHPHHDAHEIG@GAABMABA@A@AAE@PMP@DU@B@FDC@FDABC@GCGDC@IDAEAGB@@DB@BM@DGAEBBBAAEMCCACC@GACBCFABBJ@CEE@@C@@AK@WECQC@GAEAM@GFCDCRAFENBAGCABOCGGGQEGKAAEDA@AKIEEK@]ACC@EDAF@JDD@FCDEDACEBGCA@BHADA@CCCDABAAHUBKFGFCJCDBTCFPDDFBHAH@FFHKBGDC@CGQGFEACEMGMDCDGDGI@CAAEBBO@IG@IHIDE@MESSA@CDIAEDA@BCECDCDI@EQIE@AA@CFGJCLATCB@BHBBHEDE@EDEAEEDCBCFE@GG@CF@BCJ[@ABBABBJD@DCAOBCTU@CJGDEDATJBADCJSEE@CBARABE@CCCICA@EFCBKAGBEDGAAEDCFBD@BSDAHBBAEABAHBBA@KECHKGB@ABKAEEAMNCAACCOBE@AWBA@DJ@HCDQJE@C@EE@CBGCSB[CKCAGBMJGBMCMBCKCBCJEDK@EAAC@ELQAAEDEEFC@EEKKKIEIBEFALABECCAED@DC@AAA@CHGAAAA@EFIE@B@JCBEAMIC@AFE@AABICWDEKGAADEJDD@DKAEGAIDE@GCAAEFAECBAFA@GDYTiVIJAJA@CCE@ABHH@BEBKCAIEG@AFK@AKF@GEBEGI@CBELCB@IAAI@CBCDOFKPCDADCX@HCBC@EECK@ICAAB@PADE@AHABG@CA@E@EFE@CAAGGC@KDO@EHK@GHCBS@KDKAWDE@AABK@QAACHEVK@IEK@GBSAECBC@AKEDC@ECA[EMCU]EEIMEAE@MG@YBGFG@ACC@CBCLDB@BQFGBETGCIGEAGDELGJIBCAI@OBAFCDCJ]AGDCJEBCA@EAKDMHG@A@IWEQCIACFKCKDABEMEMO@AFMLADCCG@EVIFEBKDGAUJCNDH@LDD@BECSESJAIIAGBGHGR]BOHEBA@ACCKSEUBAFADICG@KJIBECEBAPMAAG@KKIBACCQEGFOAAIGIMECEECCQEK@@CCAQKACEAADE@CAAAKEEKGECKGEC@IHC@GGWCKGULI@ECAEDKLQBKACIEACKIK@CBEFANABGDUAKHGNEDGBADDN@HMJGLIAIBCDAFEDIFGF@FBDBHOTITMBK@EBKLCTGHIHAHDHLHBH@FKHG\\@FANCRS@QFC@CCOAM@KBEDCHEXC@@CCACAAD@PADIDECCOEMQG[[SKK@DGAECEAKEGBCAEC@CDE@ECACHMAEI@CBCHANGN@FFFBDABMD@FFH@FABY@KXDFBHMRDJ@HEJ@F@BGBADD@BAHF@BCDE@GHDJBFCRCNAB@JDDLBHAH@BBH@DJBBLDDB@FADGHCDQBICEGBGCOCCC@ABCVCBAA@EAAE@CBEBCAA@@CYCSCSAEBAD@JKJADBBH@DFATCDG@CACEC@OLGDQBIDC@EBUA]JU@[FQBMFGFCDC@KCM@GCBGAIUBIHGSAOCMCCGCGYIOEAC@KJAdALFJADAD@NANCDSIADFHFF@DG@CJADFJEHAJELMIMCEECBOREHMH@BEF@DB@J@DD@DGFDBABGFODI@GBKJBHCBIACFBDHBJ@DD@HHNADGDCACEAGGEQF@FFPAFEDG@IAEEE@KNABE@CB@BADFPHH@BAHBDDBBD@DEJGDMBIJYEABBP@DAJJHHDJCDBBFHHDNFHJJF@BCAGAAFKBUBEH@LCFBHLLJFJDBBDFPAFEFKCEFC@GEAICAEBMPEBK@CBEHI@EAGGWHAB@PABI@C@AC@KAAC@EBADAJAFABG@@AIAIEEBCEG@CCMAECACG@@CEAOGaEMECC@CBCACSBICMDI@@CFMDG@GCKGCEGC@CFCPNVBJCJILEBWDQKC@KJE@WGKGC@GHE@IACFCBSBGFAFG`ADABGDEAKII@@PDJDXAFSLMCEBIPCtALCBEAIIA@ABANADC@IASQGGO]EEEBABKTBDVX@BKEE@CBBFDF@DEVGNAD^TLMHABBBDBLCLGHKHMHICGBKDMLCEKAQHORKZAHFFFDF@FADBENAZCFQNAFBDDDBFFFF^ANDNCjFFD@AB@BH@@PBDEFBFBBABDDAFDDBHFAFBDANFDAJ@ELCB@DFLJJFABHLJH@DBDCDLDEBD@RBDJ@FFLIDBT\\HFFBLVJ@DABBB@FIBHH@FBBCDABDJHH@DABCFEBBFCDBDABDB@FEDBHABBBDFAPfBB@FENPCBJDLNPCFQLGF@LKFBFENGPBFAF"],["@@AIAAABCHI@EB@F@F@BCBGJAFCBEAGCCEMAAA@EOK@EFI@CMIC@ABBHAFOJAADGAOACQAKCEAACBCKCCACAABELABC@EGO@AC@IA@A@IFQBCCGGE@EAMCCCO@KGCDAD@JELAT@HBJDHJF`DB@FGH@HBNHLJJ@PBFFL@NFHHJBFCRHDDBBF@FBJ@D@NHF@HANDLJFBPCFDFBTBFCBECEIMAMFIEGFI@A"]],"encodeOffsets":[[[109061,36594]],[[108620,36306]],[[108619,36271]],[[108021,37060]],[[108600,36305]]]},"properties":{"cp":[106.285241,36.004561],"name":"固原市","childNum":5}},{"id":"640500","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@BECCOGQ@cLG@KEE@KEGGCICCUBCOKMOAKEICAIHGDW@QD@FBLLB@@AOWGQCMAMBUAAGAMDE@IGMAEBIHAAMiAICEIA[DE@EAeSoeEGEOECYCOE_GaM]@IAKCMKG@]PKPCBI@AEAGCAUJIFEBeK[@IIAIGI_H[DGGAEDKAGCAMCEGAGJOVkR_NkBaF]Q@YD]N]RIDW@sFq@CCAIAIBKDOQKQUKQI]OKQGUWQMCAIFADANELIDG@OEOAIDI@GCKGK@CFHJLFZVKXIPSJI@GCEGCAOBWBWCOISYKCG@[FMJKL_XGLEBCHKFEDEBBJEJIJKFIH@D@PEJUDADC@CFMAKCMIWUMQOiUAEMBGJ@LEAABBJ@FEHEBADIFKDGFEZBHHHHPENGJ@HDDJJL@DDFR@LGNIJOJCFCFAPABQFU@EFMD@PABEBCDADDFG@ADC@EDAFCDBBABEBAF@DELB@X@FD@DFHINWBA@In@LFX@HCBIFGFAFED]G@IAAABIJAFBFLX@JBFCDELBLDFAJCNGPYVIJMHCHQNINC@OEECIKCAC@EDMBGAKECHEAA@CFAFEACBEFA@EAEVQDHNTJF@JHH@DBELDLAFIHGPBBHFAFONUCKXE@@B@V@BO@CBAFE@CDGACBADFFAHFJBTFJEJa`M\\@JAHBDFJFDRdTJJCP@BDAJ@DBB^@^EFB@JHJ@DBBNCP@NCRMH@RBTRHVHBHD@FI^@LCN@JCLIAOHQNKFIJCF@LGDCB@FBBF@BHeTBBBHAL@HADGB]VWVEEC@ADFFIFEEE@OOCDALGEEDUJGCGDAEEAECBEC@BC@AYLFLGBBDHCBHC\\IZTEEF@BDB@HADBJGDBDGDCRBFEHIDCDE^@ZODUAOBS@ODGBMB_LGFOFOBQJOJKEG@MMEKAAK@EDCDaNF^SHYAEHAACGA@YCEAGBUR@~ANEHEDaF]TCFHR@DAFINEDIHMDBBAB@BDBCFDD@HBDGAEH@FGNCHIB@DIHYLAB@LADIHADBfEFBDADOJ_LKLABMBO@IJCACCKCEAAFCBAFGLUJSOOAMEEKICIIMECGWMW@YGKBGEIDI@IAIJA@AAACICUBECGAMBIFCNKHGJGDShAD@PHTLPDHADFDJBHAFF@JKLBHHFPBZQH@H@JLNFBXLJNFH@N@\\VDBPCDDBHFHAXG@UIMBIFSFODIDM\\AHBFHHDFDJBTBDPJBFQH[BGDCDSDGBQEQ@GDE@KNEBqB_FUGKAGCKJGBEDADSDGICAI@EGOGOAMDgEMBQJGVOTC@KCsKIEQEIIUCGIKCiD
KYAUP@N`\\hNJ@PIJ@bLPPNHjA`HFdR~VAFHĤHâHþRîNJBv`X@lLĈNbN¢xjdDDRFJ@VD~\\nLVLNLbPTD^B`JbDbPhNR@L@^F`BZF`APDHBXC\\CfQpEHBhApBh@¨H^@JDLJhBhFFJVJbJPBT@LDVDHDrGZ@N@XJVLH@RCVARCJDHA`GHCRVX@dGVBNFBADWEEUS@eAaEWIODC@IACCC@CNGDKLQ@CQMEGBAlABBBBBNFNLNHNLHJPBJ@FAL@BF@FCJKTGN@PDX@FAFCLC`@DAJITEFCBK@IEGAGBIDMGGYBIGCO@CFMJKtq@AA@CBCAFINGZAPGNSHEJIAACAKBUEECACEEK@EDE@ECEQMEMKCAAECIAKKMKAGEG@KFGBMGQ@IBOCBED@BAF@DCJFACB@BAHE@CFA@CF@EEF@ACFBACFABAA@KBYEICAK@ECA@CDKHC@oIMEOO@ATaBGCA]@gHCACACQCEBCTMhSJCXCbQV@XKDCTOHG@GEOOQOGŋVAACMIEKAKKYGMAiM@AHGRYBG@GDC@ADA@CFCAKHCCCBAACHGDBNGFE@AE@CGPIBA@AC@CDA@BCAEBEDAFDLGBCCCCAEBCEDIF@BCMIMC_AECK@KCW@YA@JIJ]XCDAFKFBDFHBHBDHF@PELGVGHGDAJCD@BBBHBADGHA@ECIKeSYYKIKEe_QC]BEAACCAKAS@GCTCNIDKLGJA\\@JBXAlOHBnBDCBC@OFADE@QAGEEBILaPW\\M^GJEtoNI~@FC^qÓNME@ECC@MGA@AACGBCACBKCC@ECCKIOCGGICCCQIGEE@AACEAII@ICKIAEBGSDEFGDIBCAGFC@PMRIHKBA[]AGFW@GICIACG@IBYDMHOCGAAJKB@FDXRD@HIPAPBN@LHPFLBPCLIDI@MDMDAFBJFDP@PDPFD\\HHF@HDBTDDDBDALDDLFJFPRJNCHLFJJ@J]\\KRJFD@FADEFAFDLBPNJD@B@JDBL@FABQjY@GIABIJ@LGDS`SAWJK[W@GJEPFNI\\DrcF[C_dWV[\\UGcTkz{B_X[BYZKhiBIKYHMDU^QFBXPZDVAJID@AH@V@NDHFB^FJAREFCD@NL@H@DDDJCVIDMBAPHLBPADGNSFAVA^LzRRDP@FFBD@DGHJDF@NATCNJJ@FCBDTH@B@JDBNSFAFABCBO@ECC@EA@@KDEDCL@FEFABCBEHC@CNEM@QEM@@ABAJCHIAECAAIO@EEKFQASFCBADSPWJ@ADCACAGEIDGEGEDIJC@INKFEHC@CBA@BEEA@ETY@QXGNFN@JCJM@EJCJEDICAAEIE@A"],"encodeOffsets":[[108965,37396]]},"properties":{"cp":[105.189568,37.514951],"name":"中卫市","childNum":1}}],"UTF8Encoding":true}
--------------------------------------------------------------------------------
/frontend/public/static/theme/vintage.js:
--------------------------------------------------------------------------------
1 | (function (root, factory) {
2 | if (typeof define === 'function' && define.amd) {
3 | // AMD. Register as an anonymous module.
4 | define(['exports', 'echarts'], factory);
5 | } else if (typeof exports === 'object' && typeof exports.nodeName !== 'string') {
6 | // CommonJS
7 | factory(exports, require('echarts'));
8 | } else {
9 | // Browser globals
10 | factory({}, root.echarts);
11 | }
12 | }(this, function (exports, echarts) {
13 | var log = function (msg) {
14 | if (typeof console !== 'undefined') {
15 | console && console.error && console.error(msg);
16 | }
17 | };
18 | if (!echarts) {
19 | log('ECharts is not Loaded');
20 | return;
21 | }
22 | echarts.registerTheme('vintage', {
23 | "color": [
24 | '#0ba82c',
25 | '#2c6eff',
26 | '#16f2d9',
27 | '#fe211e',
28 | '#fa6900',
29 | "#eedd78",
30 | "#73a373",
31 | "#73b9bc",
32 | "#7289ab",
33 | "#91ca8c",
34 | "#f49f42"
35 | ],
36 | "backgroundColor": "#ffffff",
37 | "textStyle": {},
38 | "title": {
39 | "textStyle": {
40 | "color": "#333333"
41 | },
42 | "subtextStyle": {
43 | "color": "#aaa"
44 | }
45 | },
46 | "line": {
47 | "itemStyle": {
48 | "normal": {
49 | "borderWidth": "4"
50 | }
51 | },
52 | "lineStyle": {
53 | "normal": {
54 | "width": "3"
55 | }
56 | },
57 | "symbolSize": "0",
58 | "symbol": "circle",
59 | "smooth": true
60 | },
61 | "radar": {
62 | "itemStyle": {
63 | "normal": {
64 | "borderWidth": 1
65 | }
66 | },
67 | "lineStyle": {
68 | "normal": {
69 | "width": 2
70 | }
71 | },
72 | "symbolSize": 4,
73 | "symbol": "emptyCircle",
74 | "smooth": false
75 | },
76 | "bar": {
77 | "itemStyle": {
78 | "normal": {
79 | "barBorderWidth": 0,
80 | "barBorderColor": "#ccc"
81 | },
82 | "emphasis": {
83 | "barBorderWidth": 0,
84 | "barBorderColor": "#ccc"
85 | }
86 | }
87 | },
88 | "pie": {
89 | "itemStyle": {
90 | "normal": {
91 | "borderWidth": 0,
92 | "borderColor": "#ccc"
93 | },
94 | "emphasis": {
95 | "borderWidth": 0,
96 | "borderColor": "#ccc"
97 | }
98 | }
99 | },
100 | "scatter": {
101 | "itemStyle": {
102 | "normal": {
103 | "borderWidth": 0,
104 | "borderColor": "#ccc"
105 | },
106 | "emphasis": {
107 | "borderWidth": 0,
108 | "borderColor": "#ccc"
109 | }
110 | }
111 | },
112 | "boxplot": {
113 | "itemStyle": {
114 | "normal": {
115 | "borderWidth": 0,
116 | "borderColor": "#ccc"
117 | },
118 | "emphasis": {
119 | "borderWidth": 0,
120 | "borderColor": "#ccc"
121 | }
122 | }
123 | },
124 | "parallel": {
125 | "itemStyle": {
126 | "normal": {
127 | "borderWidth": 0,
128 | "borderColor": "#ccc"
129 | },
130 | "emphasis": {
131 | "borderWidth": 0,
132 | "borderColor": "#ccc"
133 | }
134 | }
135 | },
136 | "sankey": {
137 | "itemStyle": {
138 | "normal": {
139 | "borderWidth": 0,
140 | "borderColor": "#ccc"
141 | },
142 | "emphasis": {
143 | "borderWidth": 0,
144 | "borderColor": "#ccc"
145 | }
146 | }
147 | },
148 | "funnel": {
149 | "itemStyle": {
150 | "normal": {
151 | "borderWidth": 0,
152 | "borderColor": "#ccc"
153 | },
154 | "emphasis": {
155 | "borderWidth": 0,
156 | "borderColor": "#ccc"
157 | }
158 | }
159 | },
160 | "gauge": {
161 | "itemStyle": {
162 | "normal": {
163 | "borderWidth": 0,
164 | "borderColor": "#ccc"
165 | },
166 | "emphasis": {
167 | "borderWidth": 0,
168 | "borderColor": "#ccc"
169 | }
170 | }
171 | },
172 | "candlestick": {
173 | "itemStyle": {
174 | "normal": {
175 | "color": "#c23531",
176 | "color0": "#314656",
177 | "borderColor": "#c23531",
178 | "borderColor0": "#314656",
179 | "borderWidth": 1
180 | }
181 | }
182 | },
183 | "graph": {
184 | "itemStyle": {
185 | "normal": {
186 | "borderWidth": 0,
187 | "borderColor": "#ccc"
188 | }
189 | },
190 | "lineStyle": {
191 | "normal": {
192 | "width": 1,
193 | "color": "#aaa"
194 | }
195 | },
196 | "symbolSize": 4,
197 | "symbol": "emptyCircle",
198 | "smooth": false,
199 | "color": [
200 | "#d87c7c",
201 | "#919e8b",
202 | "#d7ab82",
203 | "#6e7074",
204 | "#61a0a8",
205 | "#efa18d",
206 | "#787464",
207 | "#cc7e63",
208 | "#724e58",
209 | "#4b565b"
210 | ],
211 | "label": {
212 | "normal": {
213 | "textStyle": {
214 | "color": "#eee"
215 | }
216 | }
217 | }
218 | },
219 | "map": {
220 | "itemStyle": {
221 | "normal": {
222 | "areaColor": "#eeeeee",
223 | "borderColor": "#444444",
224 | "borderWidth": 0.5
225 | },
226 | "emphasis": {
227 | "areaColor": "rgba(255,215,0,0.8)",
228 | "borderColor": "#444444",
229 | "borderWidth": 1
230 | }
231 | },
232 | "label": {
233 | "normal": {
234 | "textStyle": {
235 | "color": "#000000"
236 | }
237 | },
238 | "emphasis": {
239 | "textStyle": {
240 | "color": "rgb(100,0,0)"
241 | }
242 | }
243 | }
244 | },
245 | "geo": {
246 | "itemStyle": {
247 | "normal": {
248 | "areaColor": "#eeeeee",
249 | "borderColor": "#444444",
250 | "borderWidth": 0.5
251 | },
252 | "emphasis": {
253 | "areaColor": "rgba(255,215,0,0.8)",
254 | "borderColor": "#444444",
255 | "borderWidth": 1
256 | }
257 | },
258 | "label": {
259 | "normal": {
260 | "textStyle": {
261 | "color": "#000000"
262 | }
263 | },
264 | "emphasis": {
265 | "textStyle": {
266 | "color": "rgb(100,0,0)"
267 | }
268 | }
269 | }
270 | },
271 | "categoryAxis": {
272 | "axisLine": {
273 | "show": true,
274 | "lineStyle": {
275 | "color": "#333"
276 | }
277 | },
278 | "axisTick": {
279 | "show": true,
280 | "lineStyle": {
281 | "color": "#333"
282 | }
283 | },
284 | "axisLabel": {
285 | "show": true,
286 | "textStyle": {
287 | "color": "#999"
288 | }
289 | },
290 | "splitLine": {
291 | "show": false,
292 | "lineStyle": {
293 | "color": [
294 | "#ccc"
295 | ]
296 | }
297 | },
298 | "splitArea": {
299 | "show": false,
300 | "areaStyle": {
301 | "color": [
302 | "rgba(250,250,250,0.3)",
303 | "rgba(200,200,200,0.3)"
304 | ]
305 | }
306 | }
307 | },
308 | "valueAxis": {
309 | "axisLine": {
310 | "show": true,
311 | "lineStyle": {
312 | "color": "#666666"
313 | }
314 | },
315 | "axisTick": {
316 | "show": false,
317 | "lineStyle": {
318 | "color": "#333"
319 | }
320 | },
321 | "axisLabel": {
322 | "show": true,
323 | "textStyle": {
324 | "color": "#aaaaaa"
325 | }
326 | },
327 | "splitLine": {
328 | "show": false,
329 | "lineStyle": {
330 | "color": [
331 | "#e6e6e6"
332 | ]
333 | }
334 | },
335 | "splitArea": {
336 | "show": false,
337 | "areaStyle": {
338 | "color": [
339 | "rgba(250,250,250,0.05)",
340 | "rgba(200,200,200,0.02)"
341 | ]
342 | }
343 | }
344 | },
345 | "logAxis": {
346 | "axisLine": {
347 | "show": true,
348 | "lineStyle": {
349 | "color": "#333"
350 | }
351 | },
352 | "axisTick": {
353 | "show": true,
354 | "lineStyle": {
355 | "color": "#333"
356 | }
357 | },
358 | "axisLabel": {
359 | "show": true,
360 | "textStyle": {
361 | "color": "#333"
362 | }
363 | },
364 | "splitLine": {
365 | "show": true,
366 | "lineStyle": {
367 | "color": [
368 | "#ccc"
369 | ]
370 | }
371 | },
372 | "splitArea": {
373 | "show": false,
374 | "areaStyle": {
375 | "color": [
376 | "rgba(250,250,250,0.3)",
377 | "rgba(200,200,200,0.3)"
378 | ]
379 | }
380 | }
381 | },
382 | "timeAxis": {
383 | "axisLine": {
384 | "show": true,
385 | "lineStyle": {
386 | "color": "#333"
387 | }
388 | },
389 | "axisTick": {
390 | "show": true,
391 | "lineStyle": {
392 | "color": "#333"
393 | }
394 | },
395 | "axisLabel": {
396 | "show": true,
397 | "textStyle": {
398 | "color": "#333"
399 | }
400 | },
401 | "splitLine": {
402 | "show": true,
403 | "lineStyle": {
404 | "color": [
405 | "#ccc"
406 | ]
407 | }
408 | },
409 | "splitArea": {
410 | "show": false,
411 | "areaStyle": {
412 | "color": [
413 | "rgba(250,250,250,0.3)",
414 | "rgba(200,200,200,0.3)"
415 | ]
416 | }
417 | }
418 | },
419 | "toolbox": {
420 | "iconStyle": {
421 | "normal": {
422 | "borderColor": "#999999"
423 | },
424 | "emphasis": {
425 | "borderColor": "#666666"
426 | }
427 | }
428 | },
429 | "legend": {
430 | "textStyle": {
431 | "color": "#333333"
432 | }
433 | },
434 | "tooltip": {
435 | "axisPointer": {
436 | "lineStyle": {
437 | "color": "#cccccc",
438 | "width": 1
439 | },
440 | "crossStyle": {
441 | "color": "#cccccc",
442 | "width": 1
443 | }
444 | }
445 | },
446 | "timeline": {
447 | "lineStyle": {
448 | "color": "#293c55",
449 | "width": 1
450 | },
451 | "itemStyle": {
452 | "normal": {
453 | "color": "#293c55",
454 | "borderWidth": 1
455 | },
456 | "emphasis": {
457 | "color": "#a9334c"
458 | }
459 | },
460 | "controlStyle": {
461 | "normal": {
462 | "color": "#293c55",
463 | "borderColor": "#293c55",
464 | "borderWidth": 0.5
465 | },
466 | "emphasis": {
467 | "color": "#293c55",
468 | "borderColor": "#293c55",
469 | "borderWidth": 0.5
470 | }
471 | },
472 | "checkpointStyle": {
473 | "color": "#e43c59",
474 | "borderColor": "rgba(194,53,49,0.5)"
475 | },
476 | "label": {
477 | "normal": {
478 | "textStyle": {
479 | "color": "#293c55"
480 | }
481 | },
482 | "emphasis": {
483 | "textStyle": {
484 | "color": "#293c55"
485 | }
486 | }
487 | }
488 | },
489 | "visualMap": {
490 | "color": [
491 | "#bf444c",
492 | "#d88273",
493 | "#f6efa6"
494 | ]
495 | },
496 | "dataZoom": {
497 | "backgroundColor": "rgba(47,69,84,0)",
498 | "dataBackgroundColor": "rgba(47,69,84,0.3)",
499 | "fillerColor": "rgba(167,183,204,0.4)",
500 | "handleColor": "#a7b7cc",
501 | "handleSize": "100%",
502 | "textStyle": {
503 | "color": "#333333"
504 | }
505 | },
506 | "markPoint": {
507 | "label": {
508 | "normal": {
509 | "textStyle": {
510 | "color": "#eee"
511 | }
512 | },
513 | "emphasis": {
514 | "textStyle": {
515 | "color": "#eee"
516 | }
517 | }
518 | }
519 | }
520 | });
521 | }));
522 |
--------------------------------------------------------------------------------
/frontend/public/static/theme/chalk.js:
--------------------------------------------------------------------------------
1 | (function (root, factory) {
2 | if (typeof define === 'function' && define.amd) {
3 | // AMD. Register as an anonymous module.
4 | define(['exports', 'echarts'], factory);
5 | } else if (typeof exports === 'object' && typeof exports.nodeName !== 'string') {
6 | // CommonJS
7 | factory(exports, require('echarts'));
8 | } else {
9 | // Browser globals
10 | factory({}, root.echarts);
11 | }
12 | }(this, function (exports, echarts) {
13 | var log = function (msg) {
14 | if (typeof console !== 'undefined') {
15 | console && console.error && console.error(msg);
16 | }
17 | };
18 | if (!echarts) {
19 | log('ECharts is not Loaded');
20 | return;
21 | }
22 | echarts.registerTheme('chalk', {
23 | "color": [
24 | '#0ba82c',
25 | '#2c6eff',
26 | '#16f2d9',
27 | '#fe211e',
28 | '#fa6900',
29 | "#eedd78",
30 | "#73a373",
31 | "#73b9bc",
32 | "#7289ab",
33 | "#91ca8c",
34 | "#f49f42"
35 | ],
36 | "backgroundColor": "#222733",
37 | "textStyle": {},
38 | "title": {
39 | "textStyle": {
40 | "color": "#ffffff"
41 | },
42 | "subtextStyle": {
43 | "color": "#dddddd"
44 | }
45 | },
46 | "line": {
47 | "itemStyle": {
48 | "normal": {
49 | "borderWidth": "4"
50 | }
51 | },
52 | "lineStyle": {
53 | "normal": {
54 | "width": "3"
55 | }
56 | },
57 | "symbolSize": "0",
58 | "symbol": "circle",
59 | "smooth": true
60 | },
61 | "radar": {
62 | "itemStyle": {
63 | "normal": {
64 | "borderWidth": "4"
65 | }
66 | },
67 | "lineStyle": {
68 | "normal": {
69 | "width": "3"
70 | }
71 | },
72 | "symbolSize": "0",
73 | "symbol": "circle",
74 | "smooth": true
75 | },
76 | "bar": {
77 | "itemStyle": {
78 | "normal": {
79 | "barBorderWidth": 0,
80 | "barBorderColor": "#ccc"
81 | },
82 | "emphasis": {
83 | "barBorderWidth": 0,
84 | "barBorderColor": "#ccc"
85 | }
86 | }
87 | },
88 | "pie": {
89 | "itemStyle": {
90 | "normal": {
91 | "borderWidth": 0,
92 | "borderColor": "#ccc"
93 | },
94 | "emphasis": {
95 | "borderWidth": 0,
96 | "borderColor": "#ccc"
97 | }
98 | }
99 | },
100 | "scatter": {
101 | "itemStyle": {
102 | "normal": {
103 | "borderWidth": 0,
104 | "borderColor": "#ccc"
105 | },
106 | "emphasis": {
107 | "borderWidth": 0,
108 | "borderColor": "#ccc"
109 | }
110 | }
111 | },
112 | "boxplot": {
113 | "itemStyle": {
114 | "normal": {
115 | "borderWidth": 0,
116 | "borderColor": "#ccc"
117 | },
118 | "emphasis": {
119 | "borderWidth": 0,
120 | "borderColor": "#ccc"
121 | }
122 | }
123 | },
124 | "parallel": {
125 | "itemStyle": {
126 | "normal": {
127 | "borderWidth": 0,
128 | "borderColor": "#ccc"
129 | },
130 | "emphasis": {
131 | "borderWidth": 0,
132 | "borderColor": "#ccc"
133 | }
134 | }
135 | },
136 | "sankey": {
137 | "itemStyle": {
138 | "normal": {
139 | "borderWidth": 0,
140 | "borderColor": "#ccc"
141 | },
142 | "emphasis": {
143 | "borderWidth": 0,
144 | "borderColor": "#ccc"
145 | }
146 | }
147 | },
148 | "funnel": {
149 | "itemStyle": {
150 | "normal": {
151 | "borderWidth": 0,
152 | "borderColor": "#ccc"
153 | },
154 | "emphasis": {
155 | "borderWidth": 0,
156 | "borderColor": "#ccc"
157 | }
158 | }
159 | },
160 | "gauge": {
161 | "itemStyle": {
162 | "normal": {
163 | "borderWidth": 0,
164 | "borderColor": "#ccc"
165 | },
166 | "emphasis": {
167 | "borderWidth": 0,
168 | "borderColor": "#ccc"
169 | }
170 | }
171 | },
172 | "candlestick": {
173 | "itemStyle": {
174 | "normal": {
175 | "color": "#fc97af",
176 | "color0": "transparent",
177 | "borderColor": "#fc97af",
178 | "borderColor0": "#87f7cf",
179 | "borderWidth": "2"
180 | }
181 | }
182 | },
183 | "graph": {
184 | "itemStyle": {
185 | "normal": {
186 | "borderWidth": 0,
187 | "borderColor": "#ccc"
188 | }
189 | },
190 | "lineStyle": {
191 | "normal": {
192 | "width": "1",
193 | "color": "#ffffff"
194 | }
195 | },
196 | "symbolSize": "0",
197 | "symbol": "circle",
198 | "smooth": true,
199 | "color": [
200 | "#759aa0",
201 | "#dd6b66",
202 | "#e69d87",
203 | "#8dc1a9",
204 | "#ea7e53",
205 | "#eedd78",
206 | "#73a373",
207 | "#73b9bc",
208 | "#7289ab",
209 | "#91ca8c",
210 | "#f49f42"
211 | ],
212 | "label": {
213 | "normal": {
214 | "textStyle": {
215 | "color": "#293441"
216 | }
217 | }
218 | }
219 | },
220 | "map": {
221 | "itemStyle": {
222 | "normal": {
223 | "areaColor": "#f3f3f3",
224 | "borderColor": "#999999",
225 | "borderWidth": 0.5
226 | },
227 | "emphasis": {
228 | "areaColor": "rgba(255,178,72,1)",
229 | "borderColor": "#eb8146",
230 | "borderWidth": 1
231 | }
232 | },
233 | "label": {
234 | "normal": {
235 | "textStyle": {
236 | "color": "#893448"
237 | }
238 | },
239 | "emphasis": {
240 | "textStyle": {
241 | "color": "rgb(137,52,72)"
242 | }
243 | }
244 | }
245 | },
246 | "geo": {
247 | "itemStyle": {
248 | "normal": {
249 | "areaColor": "#f3f3f3",
250 | "borderColor": "#999999",
251 | "borderWidth": 0.5
252 | },
253 | "emphasis": {
254 | "areaColor": "rgba(255,178,72,1)",
255 | "borderColor": "#eb8146",
256 | "borderWidth": 1
257 | }
258 | },
259 | "label": {
260 | "normal": {
261 | "textStyle": {
262 | "color": "#893448"
263 | }
264 | },
265 | "emphasis": {
266 | "textStyle": {
267 | "color": "rgb(137,52,72)"
268 | }
269 | }
270 | }
271 | },
272 | "categoryAxis": {
273 | "axisLine": {
274 | "show": true,
275 | "lineStyle": {
276 | "color": "#666666"
277 | }
278 | },
279 | "axisTick": {
280 | "show": false,
281 | "lineStyle": {
282 | "color": "#333"
283 | }
284 | },
285 | "axisLabel": {
286 | "show": true,
287 | "textStyle": {
288 | "color": "#aaaaaa"
289 | }
290 | },
291 | "splitLine": {
292 | "show": false,
293 | "lineStyle": {
294 | "color": [
295 | "#e6e6e6"
296 | ]
297 | }
298 | },
299 | "splitArea": {
300 | "show": false,
301 | "areaStyle": {
302 | "color": [
303 | "rgba(250,250,250,0.05)",
304 | "rgba(200,200,200,0.02)"
305 | ]
306 | }
307 | }
308 | },
309 | "valueAxis": {
310 | "axisLine": {
311 | "show": true,
312 | "lineStyle": {
313 | "color": "#666666"
314 | }
315 | },
316 | "axisTick": {
317 | "show": false,
318 | "lineStyle": {
319 | "color": "#333"
320 | }
321 | },
322 | "axisLabel": {
323 | "show": true,
324 | "textStyle": {
325 | "color": "#aaaaaa"
326 | }
327 | },
328 | "splitLine": {
329 | "show": false,
330 | "lineStyle": {
331 | "color": [
332 | "#e6e6e6"
333 | ]
334 | }
335 | },
336 | "splitArea": {
337 | "show": false,
338 | "areaStyle": {
339 | "color": [
340 | "rgba(250,250,250,0.05)",
341 | "rgba(200,200,200,0.02)"
342 | ]
343 | }
344 | }
345 | },
346 | "logAxis": {
347 | "axisLine": {
348 | "show": true,
349 | "lineStyle": {
350 | "color": "#666666"
351 | }
352 | },
353 | "axisTick": {
354 | "show": false,
355 | "lineStyle": {
356 | "color": "#333"
357 | }
358 | },
359 | "axisLabel": {
360 | "show": true,
361 | "textStyle": {
362 | "color": "#aaaaaa"
363 | }
364 | },
365 | "splitLine": {
366 | "show": false,
367 | "lineStyle": {
368 | "color": [
369 | "#e6e6e6"
370 | ]
371 | }
372 | },
373 | "splitArea": {
374 | "show": false,
375 | "areaStyle": {
376 | "color": [
377 | "rgba(250,250,250,0.05)",
378 | "rgba(200,200,200,0.02)"
379 | ]
380 | }
381 | }
382 | },
383 | "timeAxis": {
384 | "axisLine": {
385 | "show": true,
386 | "lineStyle": {
387 | "color": "#666666"
388 | }
389 | },
390 | "axisTick": {
391 | "show": false,
392 | "lineStyle": {
393 | "color": "#333"
394 | }
395 | },
396 | "axisLabel": {
397 | "show": true,
398 | "textStyle": {
399 | "color": "#aaaaaa"
400 | }
401 | },
402 | "splitLine": {
403 | "show": false,
404 | "lineStyle": {
405 | "color": [
406 | "#e6e6e6"
407 | ]
408 | }
409 | },
410 | "splitArea": {
411 | "show": false,
412 | "areaStyle": {
413 | "color": [
414 | "rgba(250,250,250,0.05)",
415 | "rgba(200,200,200,0.02)"
416 | ]
417 | }
418 | }
419 | },
420 | "toolbox": {
421 | "iconStyle": {
422 | "normal": {
423 | "borderColor": "#999999"
424 | },
425 | "emphasis": {
426 | "borderColor": "#666666"
427 | }
428 | }
429 | },
430 | "legend": {
431 | "textStyle": {
432 | "color": "#999999"
433 | }
434 | },
435 | "tooltip": {
436 | "axisPointer": {
437 | "lineStyle": {
438 | "color": "#cccccc",
439 | "width": 1
440 | },
441 | "crossStyle": {
442 | "color": "#cccccc",
443 | "width": 1
444 | }
445 | }
446 | },
447 | "timeline": {
448 | "lineStyle": {
449 | "color": "#87f7cf",
450 | "width": 1
451 | },
452 | "itemStyle": {
453 | "normal": {
454 | "color": "#87f7cf",
455 | "borderWidth": 1
456 | },
457 | "emphasis": {
458 | "color": "#f7f494"
459 | }
460 | },
461 | "controlStyle": {
462 | "normal": {
463 | "color": "#87f7cf",
464 | "borderColor": "#87f7cf",
465 | "borderWidth": 0.5
466 | },
467 | "emphasis": {
468 | "color": "#87f7cf",
469 | "borderColor": "#87f7cf",
470 | "borderWidth": 0.5
471 | }
472 | },
473 | "checkpointStyle": {
474 | "color": "#fc97af",
475 | "borderColor": "rgba(252,151,175,0.3)"
476 | },
477 | "label": {
478 | "normal": {
479 | "textStyle": {
480 | "color": "#87f7cf"
481 | }
482 | },
483 | "emphasis": {
484 | "textStyle": {
485 | "color": "#87f7cf"
486 | }
487 | }
488 | }
489 | },
490 | "visualMap": {
491 | "color": [
492 | "#fc97af",
493 | "#87f7cf"
494 | ]
495 | },
496 | "dataZoom": {
497 | "backgroundColor": "rgba(255,255,255,0)",
498 | "dataBackgroundColor": "rgba(114,204,255,1)",
499 | "fillerColor": "rgba(114,204,255,0.2)",
500 | "handleColor": "#72ccff",
501 | "handleSize": "100%",
502 | "textStyle": {
503 | "color": "#333333"
504 | }
505 | },
506 | "markPoint": {
507 | "label": {
508 | "normal": {
509 | "textStyle": {
510 | "color": "#293441"
511 | }
512 | },
513 | "emphasis": {
514 | "textStyle": {
515 | "color": "#293441"
516 | }
517 | }
518 | }
519 | }
520 | });
521 | }));
522 |
--------------------------------------------------------------------------------
/frontend/public/static/map/province/beijing.json:
--------------------------------------------------------------------------------
1 | {"type":"FeatureCollection","features":[{"id":"110101","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@DB@DP@NCHB@XD@AED@BKB@@CD@@AV@@EJ@@EAB@KB@AA@AP@CDJ@@CD@@EACB@FBD@BAACCCAG@QI@CB@A@@@BE@B_BWLBN@@CE@@AB@@KH@@AD@@AC@@CIB@AC@DWCKi@MAE@@CD@@@@EB@@AA@@CC@BGC@@AG@CBM@@AI@@HC@@BC@@DE@@DKCIBFB@HfBAvCB@PG@BHA@@BB@ATJ@@BF@AJC@AXCB@bMA@H"],"encodeOffsets":[[119181,40920]]},"properties":{"cp":[116.418757,39.917544],"name":"东城区","childNum":1}},{"id":"110102","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@}EAB@HI@@DCBOAOBIC@NB@BLB@AFF@AB@LX@@DC@BJCBBHAF@VAbE@@BA@CDJDLABA@BDADBFBHADBAF@HHBBC@IJ@VHAhT@BJZ@@GGA@CCABCA@AMNB@aDABWD@BIE@@AI@BSA@@AB@AGH@@ODABueA"],"encodeOffsets":[[119174,40829]]},"properties":{"cp":[116.366794,39.915309],"name":"西城区","childNum":1}},{"id":"110105","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[["@@@B@@@HCCA@BDBHAHA@A@BBC\\IA@KA@AJA@GpARB@AFD@BGB@BAD]`D@FF@ALB@AH@BDIB@@ID@BKB@@CC@FYB@@AA@BWB@@@BKCEA@@BOABCFEE@BIC@@AGDC@AH"],["@@@JI^sxHZBHBADGD@FBDD@DIVFDBBFA@@BA@AJF@AFDB@DLBdLJ@@AJ@NCD@@DFBBAD@@AD@BFB@ABBDBDC@@DCB@JHBADBBABJDADDB@B@HFAFGTC@AD@DCZ@HEJIHCVBJAJELKJEJJBA@CBCBBDAAAA@DECC@AIC@ADE`MFCHID@JEB@IFJ@BECCp[HAZAHANGEGNGJFLMBKG@AEKA@ABELB@CBAAEDQB_DMMHKBCIFI@CG@BCAKGBACLQSDBAA@BECAF@@IC@BGCABAD@@AC@BCDAEKEAG@DC@IZ@BQI@@GIQBAD@BCFGAAD@[US@BGF@KKAKBEE@@KAA@BMB@EOBHHSAAFGD@FE@@CC@SBS@EDCCAGAAEDE@ABC@@ALEACE@@CE@@DK@AFUBAEE@BGC@@CMED@BAE@@AGAABCA@FC@AD@CE@@CG@AGQEC@IJKAAFQL@AABQCADBFDBGFACG@@FM@@BI@@BN@BJFBBBA@BDDCD@BD@DD@AAB@@DF@AHJB@BB@ADF@FCBBBCDABFDA@DD@@BD@BFABGACD@BA@@AGF@AC@MH@AA@@CCD@DA@@BA@@JD@@DA@DLCXD@@BJA@DD@@BC@@BG@@LA@@BF@@DM@KAAXA`F@@A@@@BDAJ@@RBHDDBDABC@EAA@BD@FC@@DI@DCO@@BBBA@@LBA@FI@@FU@@BC@@DA@ALC@BFC@@WGAMDO@@CCABFB@ADDB@DHB@HY@"]],"encodeOffsets":[[[119390,41009]],[[119175,40933]]]},"properties":{"cp":[116.486409,39.921489],"name":"朝阳区","childNum":2}},{"id":"110106","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@@KBAE@BEA@AKA@@MJDPAPBDA@CJ@@GBA~F@GEAJALD@CF@@CD@@AD@@GJ@@BN@DAH@@BD@AHD@@DB@@BA@@F@@C@@DF@NBhABBB@@CC@@IB@@AB@@CDC@DB@@BNGD@@BHE@BB@@ADCJ@AEC@@AC@@CCBAECBADAAEDE@BCA@@AIABGE@@CA@BBC@@CACC@CDACB@AAEAAIM@@EG@@EA@IFAIHC@CBA@AA@BGE@EB@AAB@BC@AKB@JDDEBCB@@DF@DC@AB@@CA@@CJ@@QCA@BK@@IA@@CqA@CB@BGB]MAA`KA@AKBALO@@AE@@LCHF@CLS@AJSBBBK@AIWACEG@@EAG@OG@MW@CG@CDCBCDDBADC@IZBBA@EAAFJDCDICCH[CSIC@AFCDE@@EIABFALDF@DAJONCNEBUBA@BCCAY@@IDEKIEABICA@CEAACAA@[AOKB@DG@EBACG@BDC@BDKBO@ACCOGKABCECBAAKA@BE@ADAABA@AC@CCCDCCABBDA@AAG@EEC@@AG@AFA@@GA@AHCBBDCDBBB@BA@FA@@AC@@BFLD@BA@AB@BBD@@BBA@BH@B@C@@BFBGBBDE@ABI@AB@AA@AB@HE@CBAEABM@BEGACB@EAFAAC@BAACI@AFACA@BHCLBBADBD@DA@@B@DADANBHDBADC@F@ARB@@FGFAA@EA@CHA@CAAB@DAFKDEDMBMHDF@DHDDARDANEJHFPDRIHBJDLADB@DBDNBPHLBLFTFNBFAFD@FD@PCHDBCBBDEBBRGVAHDH@LGDEBCDBDACHF@DCH@@JH@@FJ@@LB@FABBDAAD@BH@@DB@BBB@DALDP@@AD@BD@@SBAFFHB@AADH@BBEBFDJBBBZ@"],"encodeOffsets":[[119118,40855]]},"properties":{"cp":[116.286968,39.863642],"name":"丰台区","childNum":1}},{"id":"110107","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@HIDCACBAHBJFBADODCNJBD@JJEFC@GCCBEAEBCDCF@@ELEHABGHCHIFCBCDA@CF@@EE@BIA@BA@AC@A@@AFCC@AC@@FAAAOA@CA@@KD@DCND@AD@R@HAJ@@BBDRABDJB@AAADCG@@A@AH@@eN@C@@CC@@BO@KCCBA@AAA@@CG@@ABCCBAAEBA@@KI@@EG@@IG@CDE@DGCBCAADCFKHG@KCUBMHAACFAACDKPKFABALKFEHENCDGBMDAB@HEJICADED@BGJDLB@B@JDEFBBEH@DDABDD@DL@BCB@BGDETJHbDNDFANJ"],"encodeOffsets":[[118940,40954]]},"properties":{"cp":[116.195445,39.914601],"name":"石景山区","childNum":1}},{"id":"110108","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@AC@EHCBCGAYAwGt
HYBGAOS@@ABeUGI@@JADGA@GBECAGBEACACB@AABKBICDCB@@AF@Ba@UBEAGDAAID@@Cq@AAIAECFA@@A@@AG@BC@BGAEEAB@T{AYB@fG@@B@BH@CDBB@BIAACQBAC@AI@GBQ@C@@BMCCDC@@LB@@DPBBBEB@@BDD@ED@BB@D@@BABB@AJF@@FE@@DCBADEDGJGDAHGBKF@FE@CDADBFAFDD@HEDIF@IACMICDCPABIEGAABBDCDGJDB@DDBLDVDBFDDCB@DC@ADEDA@CBAFIDADC@GDEAGFCDQHI@KAC@@BMDQAIDE@ECUAGDC@GH@FADGN@DCDHN@FKHAD@FADGFCA@BCBEHCHCB@BDJFB@DDDLFBHNDBFDBBNHAFDDDDDJA@@HBFBDEB@BCDAHDFAHC^DDCF@BNh@bF@DCDH@AHCFANNDLF@HFF@F@BPCB@DHRBBMDG@KHEFAFFB@dMZ@A]A@@EE@DIEG@CHCNBJEDBBDCFBDJA@ABAACBA@C@CFA@CIABCDB@EPBBCAANYVHZmFDFCHB@CJDPMDBBAHFLBDGF@AJJ@AHF@BCDBADLBL@@FP@D@ACB@BAJ@FA@DBABGICBAEA@BAAABCA@GIADKD@@CJ@@EFBBAH@JAD@"],"encodeOffsets":[[119185,41003]]},"properties":{"cp":[116.310316,39.956074],"name":"海淀区","childNum":1}},{"id":"110109","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@GCODC@@EECEBMASEKEKAOGMAAC@CCAKBICGAQJOCGEFIBMQCCBGC@CCEG@IBGA@AIAGDCEE@CCMAAB@HAHMBgSCB@B@FIHFPBFAJLFDDFLOB[KBC@@QABDBDC@MGMAEBCHEBG@_HCBGNBBPNLLRHAFDLINI@OESAI@CBOA[HWCIEEICCOIMAGCIAIFCBEAQVOFO@GLKDGBICe@CBEHKCCCWGACcOSACCO@C@GCK@OEEGMEAIECM@GCYCKMG@IGQ@ECIECGIIG]MGCEBA@AKIEOIEEIUAQ@CFGBIDEBOF@FCBKDGDIAGLSDE@CLADJFNV@HAJLDBLE@QJMBAFBFHDBFDBFHFDADSPEDCFGDC@EDGBADMH@FEFELQFE@CBGBEDMFADKBGFIBCCE@C@CAEB@DEFDH@DDHEDAFDJBHB@DHABFDDFHFNFD@BCH@EPBDEFEBAHFHDDJJDHBJDBF@BBP@THDFHBHHBD@BBBRJD@BFH@@DJLADLDDFTLVDH@BCB@FDLDBDDBBFCLDBBFF@HFF@BCFBBBDDDBBADGFAF@LBDHAFDHAFDA@NJHV@NEJDDADAH@DBJCL@DBCHFH@DTJFC@AbBHDFBF@FCFDD@FE@ADCLDTC@DABK@KFJ@LDLAPIJDLALFBBHDDDDBHJBF@DGFADHL@FBDFBJCFDFBJVLDHAHD@QFCXSBCHG`@LEB@NIBDCFXELBBBFCLDF@LIFABBHCFEh@FEFDLABBFELAFEDAFGHCNQD@DGDA@CBCEACEB@NCD@AAJG@DBFD@HB@AAE@GCCDGHGBEAABA@CBCLFF@@DFBPDLADBDANEFBDANC@CJATPFEHJLAHDD@DADGFGDA@ADBHEBC@EBCLG@EGMDC@CHMBC@EHGD@HCVBFDF@JCRBNC@AD@LBJ@JCDCD@DCHEFBHCD@BCJCBEDAB@FCBCD@@CDACCAEUCKCCA@CQKEBMCaCIGFSHC@ADA@ACKC@ACCB@CFGAAFEICA@A@CKHI@AFCBCJDFI@GBANCHADCFMFGLEBKBALENO"],"encodeOffsets":[[118956,40847]]},"properties":{"cp":[116.105381,39.937183],"name":"门头沟区","childNum":1}},{"id":"110111","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@NGNAFCLCBE@CBADBB@DGB@@FBBHE@EA@BQE@D@BCCAAGBMBC@C@AB@@CACBCAADKAGB@BDBEJ@BDABD@BBBE@FDAHBAFN@BABFDAF@@GBAB@@BBAJ@BAF@ACHAEA@AD@A@G@@AAB@AC@AAA@@BABC@EK@AD@@BB@@EABA@AADCACDABGB@@HB@BEH@@BD@FFH@BBB@ACBADDDCDDD@@BABBBBCF@@ALBBBDADFBAHLDPBDP@LAACD@ACH@BDFAH@@CLABP@\\BBBDFB@DDBAJFBLJCF@JZ@DBADB@ZABCDMPKBI@CEGDIAG@K@GDEAEBCAEDQCIBGAIGCAEEAACFI@EDCACBCEGBCCGIGECACGGBADACG@ECKS[@AHCBCIIDKKU@GCIH]AMBCAK@KFMBCBCAEHEAMGKYAAHA@@DE@@JCB@E@F@EA@@FAE@@@FA@@EC@@FE@@CE@@DK@@DOA@II@@@MCI@@BKABDCBCE@IA@@CA@@GC@@AA@@HA@CGAAGBAEA@G@EA@DQB@HIAEEO@@JIHBGED@E¿EGB@DCBC@AAEBBFA@DNA@@DIAIDC@AGB@@AG@AICAEA@BI@GABNE@CFA@BHA@@HGA@DKAADCA@GA@@QB@@ECEDEBAE@@EA@ABI@ACA@@GGB@CG@@EC@@FE@@DG@AFA@@JAACDE@@FI@@HE@ANCA@DCB@FKBAB@DKBCBE@CDAKCA@AAEFCAGNACCB@AEEIDACEB@CAG@DA@AGBAAABBBC@@BCAEBKABIBB@CBA@KK@DAA@AAD@CGGB@ESB@CA@@AK@AHGCKN@AE@@CC@@CGB@AAMC@CC[@@KGACGG@BKB@BCC@HABEIABAD@C@BED@@CFDFA@CC@@AFACCODK@SDBADA@AE@BD[BKAQHAAIDIBDCAAFCCC@@EFAFE@EACDCA@AACC@@@@B@@@DAB@BEDB@ADEDADEXGFB@BBCFABD@@DC@@AID@ACBCAADE@DABGEBD@E@@AC@DBC@D@A@AF@HA@FBID@BD@EJBBC@BAC@@BIDCCCBC@BBM@GBEDFB@D@BDBFAAB@H@@BDEBD@A@@DEA@BABBH@DABIL@LGJQFIFGLAABCAABCCGMGACG@@BG@CCG@A@AHIBEABCCCBAC@MBEHGBKEIAOBCCBAMCGCCIEBGAODBFBDKFCH@@EHODEJKJA@KCKG@C@CEEAABCMGKC@ABC@ACCE@BFEV@JDHJHHFAD@JCBDBADADDFADBDKB@DIBCJEFSBAAAEA@MBEDICAD@DBBBHDDBDRN@BIFBB@FDBAB@DFBDDABBBF@@BDBCBB@DBBBEDDDADCBGHE@FHBFCLALAHBFEFBFHF@FE@GFGBW@EEGHE@CBKHE@GDKDGL@FCFBLGDGCCHLDFLTHRGLBdRFJHDPEDB@CFADCFCJIDAB@NJlHB@DDHBPAHB@BJHDFJDAJFFR@VBFJJFFPLJ@BABDFNHH^JJDHJFFDR@JHH@LNZDHDN@FDBJNFFHPFL@HDD@P@DDTBdPBDXHDDLDFGDAf@JDHALCHKP@PERUFBDAJEJBHDNBPJDDFJJFXD\\GPBDAJ@TBPFJ@JMCKBEQGKKOMAAHMDA`GH@FADGFANBNHD@ACACRB@@AD\\LPAEKCCKEBIAEEOJG@IF@bRDBNABG@GBANBDDF@DFHCJB@BHBJAH@"],"encodeOffsets":[[118840,40803]]},"properties":{"cp":[116.139157,39.735535],"name":"房山区","childNum":1}},{"id":"110112","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@DDH@DJ@JJB@BLB@GH@@AD@@GJB@AD@BAH@ABFBFGD@ABNDJDDBBGHEHFBABCF@BGD@@CB@@BJBDAFBBAJ@@ADA@GDBCNDB@AHBBCHBNHFLBADDNEBGF@AFJCBFF@@AHA@FD@@BF@@DL@@AF@@CBB@GF@@CD@DGX@NCCEBCJK@KAIOUAKEGIGAMBCJGdKDCBWAO@QAQFQ@UDGPKNEF@@NH@@HHBBQF@BEP@FAJOHIFBJIFCL@BGB@DKRC@ELCD@@BJA@FJ@DANKBEDAJEJADBBB@DCHEFAHBFLB@BDBNGNQDEBMDSAKDCRKFCBCO@DIA@@AB@BCZCDCBGCBGADMGA@BE@GFI@YAIIJMOGDCCA@AEBCJCCICBGEADELB@E@@@CD@@EB@@AB@DCCAFEGA@ED@@CH@@IIBSEBAEA@AKAM@@CC@AECCDCD@BCA@BCAKB@BGCAFAB@HICADCKCDEB@ABDBBATD@AD@JMIADISCBACAADGACBK@SGDCAAEFOAACC@@AU@AIDA@QACQCCABGC@E@ABAABCIE@BECFEECJGNMGABC@EG@CAICAFGDKA@AGCQABCYABCBCA@DIEB@KB@@AI@@AAA@AI@C@@FEFALGB@DCBEDEFIFQFAAEBAA@CE@@AE@@DI@@DC@AFE@CD@DGFDDA@@HD@AHUBC@@CGHAHEJ@PDRANI@IB@BABM@AAGACBG@GAAAC@@DC@@FDDBFEFGA@FI@@EG@EDBNI@ALF@AFJ@@JIBE@MPANKA@DEFM@@CIAAEA@@DC@@CGA@CGAAGCCWA@DQAA@ACKA@JwBUGIDDDKDFFJCDFBNKD@RBBJCBBB@@FEAGB@BIBHJQB@JDPGHDFDCFIZAAJE@@DRBAFEAB@MAIRNFIJ@B@BCBDBCBJDCDHBCDADF@@DHB@BAPCFCBAHBBFB@DG@AFF@BDKF@BD@BAF@FCBBBHDDFCT@TAD@@DF@@EHCBETBGGPA@FNA@ABB@LF@AFBLLLE@AHT@\\VC@BBEHADC@ABJR@HJ@ARY@@JCDH@FBFLCBADD@@BC@ABDBAHD@@JE@DBAFB@ABTCKRBDHABLADH@@DEJDJLANGCNA`CRBFAB@DKAAF@BLBBFH@@FAHKLIEMHFHMHGB]BOH"],"encodeOffsets":[[119394,40978]]},"properties":{"cp":[116.658603,39.902486],"name":"通州区","childNum":1}},{"id":"110113","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[["@@C@@AIA@ICIG@CCcVDDAFI@JEA@IFC@ILGFWHEFAB@BJD@BDDCFB@BBABvb@GB@BIB@@LJBD[AAB@B@BGAGACB@DDBQD@HC@BD@AJF@EFADLBLm"],["@@MDW@CHC@@DE@@HAA@DE@@BK@@CE@@AC@@EGB@BE@AEIDBEE@AHOFACABEKMGGAADGA@BCADMCA@HCB@BI@ABEACBIA@AA@@DC@AHE@ADABGEGFAHCAICMCBAC@EHEABAG@ABC@@BIA@HC@@BG@@HGAKnD@@ADBBDAL@@A@AXB@@BA@EZD@@DA@ALC@@JA@CJ@ABGA@BKE@@E_CC^ABA@AHC@BEA@BQHguaA@AAAD@DABIIIFKLIFIBUAGDIJGFY@CDC@@BSDEHEBEFDDH@FDD@FBFAD@NJBLD@ALEJ@HCDC`EBCHBDH@DFHADPKD@BCBMACDJVDADJJLCF@NEJYRD`FHN@@FEPBTJBLJJAD@FJBHB@@DJ@@EX@@AF@@FBBV@JLAHABCJHCLB@ABBH@BCJDL@FD@EACL@AGLA@BNAFC@DB@DBFIJ@@FHCACDA@EHEAIDAJDVCBDB@@PF@@BH@J@DEB@@BF@@AD@@ALB@DPB@BLAJB@CDEA@BGFCBIC@@C@EEGD@@EHB@FBB@AB@DI@BLANNB@JFCDDFHDDADD@LLAzzDCCGB@BBB@ACB@BBZG@ALGBB@@@CDAAAB@BBD@DDDACCFADFRH@FB@@HDABFB@BFA@@BBLB@BEFCBB@BHAFDJC@AHA@HB@AIDA@AN@FA@@@BGBND@B@D@DDFBJFB@BCHHFDDFBXBDCHKACHQDCX@@QFKDCAA@EACFEFABE@CJG@GDCDEDADKLABABAIAACC@@CJADCL@BIBCJCDDPCDF@FBBDBFFHADCBCFCAE@CAABAACBECCGDIA@ADEDE@CDEDEAABADBBGB@@DF@FAFE@GG@@G@ADGH@@EL@@BJ@AENQHMLIGKAEEECG@MECLECKFIHEEMC@ACCANE@ACB@ADA@AJA@EDB@EG@FE@GBAM@FCD@DDBAF@CCD@CGAGC@CKKBCADCE@@BEBACGBAC@@AED@@OC@_S@N@@@GA@AHA@ECABBBE@@BF@@DEAADE@CFC@BGA@ADA@BCC@AGIA@AAACJAAAHK@@BMKSA@CCDMAEBIGIA@@E@MPIBDDOFAEcA@EQC@MC@@MBECB@CI@@DE@@DACOBEEUHBDS@EC@KCA@A@ECICE"]],"encodeOffsets":[[[119409,40992]],[[119575,40975]]]},"properties":{"cp":[116.653525,40.128936],"name":"顺义区","childNum":2}},{"id":"110114","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@@G@ACABCICBAAABCGA@IDA@CD@ACACBAA@AEC@@BC@ABEA@CC@MDI@@BI@cKKA@CCABEE@BIB@@AB@AEECSCCJG@IBG@ABEA@FI@@DC@CLJB@HDBBABB@AFBABJDAHAB@CEBI@ABA@BDC@O@@EK@KABCCAADE@BGI@BIE@CHKAGEABCAONIC@DGAEDECYnUGMZBBADOA@FCAADJB@DEB@D@DABBDAB@BIBACDEACCAIFMAGD@DFHCJF@@FB@B^Y@cNA@EEEBGF@LCHANQACGA@OD@A@EEE@GKEMCBMDEBGG@DC@CaEg@AME@CD]CGDEBGCCBADA@CFEAGA@@IBCCCCECGBAMCAAEMCAGKECC@CEACG@CC@GCKBGIEFSOIB@DMDCBEAMFCBCAKBOCEA@CE@KEAD@DABBBAFGHCHDD@HBF@BGAC@AE@CIHBBC@MDA@DFFBAD@DCBCHC@MRGDEHCBGFIBEFAAKBECEFg@EFGDAAEBKJE@KAEBBJGJ@BCB@BFBABABCACBAFFDFHDHDFKHLFBDTEL@DD@DBB@DFBBNDDF@HHEF@DDBCJB@B@FJFFBFLJBDADHAJCJBDBBJDDAD@BLJD@BBD@HFHBD@NCDBH@B@@DF@P@FBDDBFFDCBDFDABDB@BFFADB@DFFADCB@JF@EJ@DADB@@DD@FFD@B@HBEJC@CDA@CBE@EDBFALCBDBHBHFFBBBB@FFF@B@DCFADBBFF@DHD@BBHAFBLKBED@@IJQF@J@DBDHJ@DAJD@DD@BDAFC@ADJFABDD@DFDJ@FBHDF@B@@ABAD@FCFILBNCNDJA@ED@HG@EBAJMHAFBHADB@BF@HF@BCF@DCDBHADDFHFGBEAADDFFBCDABBBDDD@D@BADMCAAEBAJBDB@FFBADBBCFEDIDDJBDCBBFNDF@DFD@DADBF@DFFBBAFBFEHDBBH@BDBBDAFBJ@DDL@BBABDDBDDBB@FAJBJADCBCDEJFJ@DDHC@EBAHF@FDBABDBFBBADCD@DBH@DBXMNJBBABBBAD@DAFDFBAD@@AD@AED@AGHBFDVDPCF@BAFAJCFGD@LG@ADAD@FCJ@DEFCAAC@DAAAEBG@DAGE@INBBBHD@CFBLEEKCADEBA@CDAAC@CACBCCCC@@CLFJ@AFBBHBBAHDDCFBD@LGFDBAFAFBB@BCLCFCJBDBHCL@HHFCAEFGBCF@BABADCJE@AACEACIEAAECABAHABEACDCAABCAIDAFBBADDF@FCBBJE@ADAPABCHC@OHELEH@HBJA@AC@@CA@AGEIC@IBKIIAASFO@EM@EGC_ZQFI@MDEIKCICBIUDCNBDA@ALCCOGBCEG@ACDGFAD_DC@GFIBI@AC@@ICCOGEBEAC@ECG@CCFE"],"encodeOffsets":[[119263,41053]]},"properties":{"cp":[116.235906,40.218085],"name":"昌平区","childNum":1}},{"id":"110115","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@BAH@@CEAAABGDADEBO@AGA@CE@BCDCGADCICDACADA@A@AJIMEJQNBA@FBBEQA@CF@BIYBEJCDCEHGCO@IRAGIJA@AHAFB@EA@AAIDAA@QLCAMCEIDEELCCCJCVHxA@ILBBDB@RB@CXBDDBHHB@DHB@DD@@CB@BFJB@DN@FE@CLBBMNOF@JA@II@BEE@BKJ@AMFCH@@FJ@@EHBFEAECC@ED@@CD@BBHBH@DAHBBBN@BA@AJAJ@BMCQ@QFGBGHG@DD@VABGC@@GB@CCHE@CEA@CK@ACICCDEA@FIADMB@BEC@@@HEF@HCBEB@@BDAB@@CFA@@E@HA@AD@BEAFDE@F@@BICAAFA@BEAB@AEABAA@CBEA@AGA@@K@EBADA@CHC@ENIG@DG@@ACAAFA@@AA@@BSD@DI@E@AAGAA@BCEAAA@BG@@HA@BGEAAFE@AF@AGA@DE@@IMA@BIB@BE@@JG@@NG@AJGB@JK@@CE@BEGAB@CA@BC@AFBCADECADKDF@K@@GUB@AE@@GD@@CB@@ABAGADEC@BEA@BAIA@AIA@AGABAIA@AG@A@AFD@@DAFCABAEABA@@BEA@@GABIB@BIB@DE@@CEA@CEABEC@BGB@@EAACA@GL@DIOABCE@BEOABEC@@EC@@GA@BIIAEBIA@AC@@BG@@FOA@BQ@@BC@DID@BAAA@CB@DCBGEADEAA@BG@@@A@@AE@AA@CG@@GIA@DK@@CY@GABED@BECABEF@@EBEUEAFOAANDB@BA@@JC@ADS@@BM@DBABG@BE@UFA@AD@ACD@@CJ@BEHBJSG@CACOCB@CCABAA@BETDJHFME@@BCA@A@AD@BEB@@BJBABD@ADB@@BB@@BF@BAH@@GD@CBF@DE@KA@BIJOFB@CCEC@CA@GKA@AE@@AI@EESHUDIDQAGDGBGC]BK@@BI@@FAAUBAEIBADE@IBOHEFAFGDAD@FKHAHKH@DCFE@SDMBABBBC@AGE@GJM@OHEBAJCFCDOJADDFED@DFB@DDFABCABHC@BDBHCN@BADDBEFFDBDABE@CLK@DF@DOEA@CDIVHLBNGFBFADADEN@LBLADBNG^DJ@HLVCLJJADGD@BT\\DL@FDHCBABHHBDFDJHDHADFHADBDCD@FEJBDFBBFHDBJAHDJCRBFADBDCH@VJB@FF@DCBED@TJ\\DDGJDDCICBEFBB@AAHSA@DED@BCCADCDADCH@@DNXH@@PBH@FH@DFXBBJL@AATABIT@DKE@DG@KF@@BP@BKLA@BLBB_NBA^AHA@@DrB@DB@@JL@@ADB@RI@@DB@@DA@@BCDE@@CA@ADCFICA@BLD@@ABA@BFAF@AHB@@BAB@DGDBJJEB@@FH@@DJ@@AN@@EH@BDHECAAEBCRDBA@BRKBELBJIVFBHH@@DF@@DBCD@@EDBBAHB@BF@ABC@NF@DD@AHF@BFVABEL@@CF@"],"encodeOffsets":[[119332,40781]]},"properties":{"cp":[116.338033,39.728908],"name":"大兴区","childNum":1}},{"id":"110116","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@A@@BABGBDBFF@DBDA@ADFDBDEJBDEBF@@DDCFBDF@D@BCF@FED@FADDDADCBDD@DDDADDBAFHD@FDCDB@DBDBDBBFFKDCFIJAF@DCB@FLDNAJLH@DHD@LJJAFBLCLDFABAVFL@FCHBLCDCACFGAACBDCCA@CD@@ADAD@DAJBEA@AB@BGEB@CDCF@AADBBCDADDA@BBFBABJB@DJDF@DAHDDAB@DCD@JCN@PHP@AAD@@AHB@DDDAD@BBBPCFCTALBBAD@BCHARDP@HJFBDDD@@LMJCFEBAFKFAFABAFK@IEIAEBCACBADA@EDG@CBEHLLHLFDDDHDBHHJ@FRBFBDHBDLDDJ@DDFH@FHBFJDCFFEDBBFHJDBAJJF@DABA@DDEFB@ADBFD@BDADDB@DBB@DBD@DHDPCJBB@D@DDFADAFAFDDH@JSBABC@GFC@ADE@@DAD@BIDAHIFG@@GA@ADG@@BE@@FQDDD@DEBAF@FGBKBADGGABE@GDEAABE@GJLZHBHHH@DBBDCDAFBDFBDFEJAFDB@BF@BDBDBDATDBBFDDODCDEB@HB@@LCJICGHKDCDADEFCAEBGAEDE@BDKPBLCD@LEDG@CBBDABGFKFADBB@FABCBAJUDG@KHADKDEFANCDCJEFMJCH@FGBIBADEDEHEBIHAHCDCBADMFIFCFC@EH@DCDKF@DBH@DARHFDJDDLFDDT@DHFB@DLBLGDEDAAEDEFCBKLOJEBEDEL@RKLFJANDLIXBDBTADADET@@DDDDFCDBDENALILALKBBJMRAHMHDHDJDDCLDD@FDD@HB@DBLFFCBAHADCBAFBFDD@FDPIF@PCH@HAH@FFBHJAFBLHDFNDJEP@HBDJD@LCJGBAHCHGFAFEF@PC^PDH@HDPED@DDJ@DDD@DFF@FBDCDBB@J@BABEHGB@D@FBHBBDH@FCBRDLLLABBHEFDHABAD@HCDE@CHCJELADBHGLAFDHBDGAEHGBEAEBEFGGMEACADEACIICAAA@KA@BIAGFEGCAECCAILKHC@IDABIACHAHKJEBIJCJBAEFEF@JCIKCICC@GH@NG@CDA@EHEL@DCDBHEF@HEJ@HAAG@GBAFANFFIJ@FABEJIHABELEBEAGDA@ABCFAAKBEDAD@FFDFDBP@BCDC@CDAD@HBHABBHEP@BENALM@AACLCFCH@D@BEHCDEAABEAGACDAHABACACCEAC@@BGBCECCEA@BC@ECBABA@EDABCMCABCAAEKAAGAASECBA@CCBABCBGD@BEE@BCCA@AECCECCE@E@EACDI@GAEEM@OFABEBAFGFCIAABCBCDKDC@GDADKAOBCAC@C@EECBCAC@CAECAG@ABEAEFIAIHMACEKCAGIAMGKAGC@CACC@IE@CE@CE@ABC@A@CACBEECCEFSAAAMDEEA@CAAMG@AACBCHCA@BE@EC@EBCCAADED@BEFADEBCEGDCD@DA@CEEFEECHIACBCDABSICAECCO@EDECCBK@KCACFGQBCAE@@ABAC@CCBCBADB@DFBJ@DDCGFCDA@@R@VGDCCCBEHI@AFCFAJIIEAKC@EACEGC@ECK@EBCAA@CIEAEBCFABCNGKBEDC@@KDCA@BCAGBCFDDGHCDEFAPAABBBDBHCAA@E@@ABC@DCCABEAAFAB@@CD@BEGCHAACGFIBDEF@BEBAAUFKPDF@ECNEBBB@AA@AWII@AGGA@CAAEAGFCABAF@@CACB@MGDA@AD@@HF@@GACB@CEDAAAHAEEKGAGHCHEL@CMRAAIF@CSA@@CC@AIP@@E@AZHBKNDD@BAA@JA@GD@AEH@@CJ@E@@CHIACJ@@ABB@CA@@BSIKOEBQUAAB@EGA@EG@ByyKB@KCCCBGCCEDCIEA@MMKB@ACJA@@BAA@EGA@FC@FH@F@DD@AJEDAHB@CF@DIAKB@AOA@CKA@BC@@BE@@AA@CFI@G@@AE@@OA@ACUDICCBBJGF@FCBBDGD@EI@EJCAA@@CEDMB@AKBBHK@BD@FECK@ICADG@AA@BKAGDDIBABGIKU@AA@EE@@BW@@FE@@BIBGAG@KFGF@PGDADOBCB@BIFAAEDE@CCABEACBBJADBBCDBDAFGBABDBBFFBDJFBBD@BIFCDABABE@ADEHBFEDGGK@GDCAIAEDKDADA@EAEBABECKHC@EACDGCABGAAABEI@KE@DD@DDADBD@DBDCB@DABCFDBFLKFEA@DGCAAMA@JHFCBH@FABBCBD@BBEDCFI@EDC@CB@BKHC@EHIDEBABE@ODUCECGABHC@BFC@@BC@ABAA"],"encodeOffsets":[[119081,41362]]},"properties":{"cp":[116.637122,40.324272],"name":"怀柔区","childNum":1}},{"id":"110117","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@@GDEH@DDFADBLABEFABCDIF@DAAEBA@EDKBEHGACDAL@DAHABAAEAACEDEAE@CFGAKVKF@DEHE@EBA@CAA@CAA@EDCBEPBBCJBDBF@DFBA@FF@@@H@FBDFFBFG@GDI@ODEAEDC@CFECSFGDK@CF@FEBEHBLFL@DBFCDBDCFAD@HEJBDCBA@CBCKAK@CCE@B@AADCAIF@@CBCD@BBD@DCHA@AEAEBICBB@BABAACE@CBA@ABCF@B@@AAAACBEH@BDDBDA@AJHDCD@FEFAAACA@CGBIGICFCAAO@ABCACDDGAACBEFC@E@AACA@AAA@BAB@CE@BDD@CBBBCB@CCA@AB@@AAAEDA@G@C@ACDA@CJI@EFGAAC@AAIGCCH@B@CCCAAAN@AGACADC@EICAEAIBCAMA@FCBC@EHIEGBABCAIC@IAAAECEKG@EA@CBC@EDG@CACEC@AEEABIEEGBADCFMDIA@DC@@BGBGGGBGCCGMGAGGCBCACKDM@@KFC@AAADAGACCC@GE@EJ@ACCC@EIACCABBDIBCDAHCH@BBBIF@A@AGEBCHC@ACA@EGC@BIB@BC@ABEBID@AEBIDHEGKQGI@GCG@MDEFKHCCEDOAEDBBECDFEBEAAAW@@KC@AGC@@HQAC@BGMABAE@ACKB@CEB@ID@ACCA@AMAABICKMKGDII@BGE@AFEA@AG@@DE@@CUA@FOHMDO@MCCDBB@HD@@BA@CHGAAHC@@PC@BF@@BDHABDFA@AF@CDDBLADLD@BHDHC@DDE@ABCCC@EDN@AB@HEFH@@FCA@FIB@BCB@BDA@BMFDBBDD@FNGFEJDLKFFD@NDHFFBFHLKJGNMRBFI@@AK@@FG@CH@B@HH@@HEFEBE@@CA@AHCAABBBCFCF@DCFCF@BJBHCDDAFBDABBB@DBFEDADCBDFJ@BBB@DBBDJBDAFEF@LJ@BFBBBJHBDBFGFEDOCEFGDEDADJJB@HHDB@DJFFBDDAFHFH@JFP@ABD@CDDBBABDBCBBF@D@BDD@@HC@@DBBDDDBBFFBAHCDAD@JFBDLFBBHDBDDDFLBJADBH@BDJ@F@BBFAFGHBD@FHFDN@@DHFD@NDFDBDHBBFFDHBDCNCBCDADBFADBLBFFF@DDRDBDD@DF@DNB@FDC@BB@ADB@VEDBBDDAJDF@DBABH@RAH@NEN@NHHCD@"],"encodeOffsets":[[120038,41345]]},"properties":{"cp":[117.112335,40.144783],"name":"平谷区","childNum":1}},{"id":"110118","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@DENABAAIAABGAG@ACDC@BEF@HGL@bEHA@AEC@ALYCEE@@AFK@CJ@HEBAJABE@IBCRKH@BCHA@CFAHGCI@@FABCPABCDAPBFCZIFCNALDBAP@HEHFBFJBFDVAFDL@FALBHCJFJAPFBBNBFBF@FBBABEFC@ABCJBF@H@HCF@FCH@NDHCLADDD@DDFAD@PKHBBFBBDCPBHCLBFAD@FEN@BC^KDGNG^FFDD@NIJKJCBAACBAFAJEvCF@DAFBLDJBFDD@BBAFDDFDBDdBJDFBHFNALFFDJADBF@ZFHAJBFCJ@NGHFFC@EDEH@DBL@@AJ@PEHBDBD@DBJBBDFCVEHEBADANIJG@IGAOCFKEECCBC@EAAS@IEADM@EJBHGBAFGD@AE@EDDB@BA@Q@IABANC@AEBCCDIA@ACBEAIGCBC@AMBACCAO@BDEBFBGFBDADBBCBC@GEAKHI@IAAGCEKCA@CCEDGFCBGFCAEFQFAHA@GQMGBCBCACDG@GFCCAEOEEEAEC@ABE@CDG@CD@DE@ABBBE@@DEBAFG@KD@BE@CDADCCCBE@MECCIAGFMC@BABE@AAC@IGCAACGCACCBGCMAOIE@CBIAGCKIECC@CCEA@CBA@C@ACAAAJGDIBGFEFKFCAGE@IDOEEFIDCAACE@GEIBMDICAID@KM@GHCJ@VYCE@EDEHEJAAGA@CCFKHCH@FELC@ILEJAB@ECEGMIAEGAEICBCEKEBEBA@EDGCEBEFEBGG@AGOGAE@AACBAEGC@GDMGM@MFG@QBG@BACAE@ICCBACCAUFA@BCA@@ACD@EMA@CCEC@ACQCCCE@EEKACAEBCACBADMDCDGAECAEGAACECMCC@GE@CM@ECEGC@GAEHEBAAE@I@ACG@CAIBKACECCCAAGEACKEA@IBCDCBGEAAECACCAA@CD@@GC@ACC@E@AAADACABCADCC@BAO@IEG@GEBECCEAIE@CCAGGA@IIBCFCHCFEPDJEDCCIIGAAEA@AKIE@EFM@ACEACAG@CCGBEECAAA@ECEODCCIDADAJK@CDIB@DD@BDJBABABKBCLCBCFCD@HIH@DAFEBEFBD@FBBCDEL@RW@CDGRBDGLCDWAEACCGEDG@AEAAICE@C@C@AMCHA@A@@EBM@@BCBBJA@@GGB@BIDECGB@AAAEDAFA@AK@AB@AEA@AECB@GA@@EQGCEEBDDCBCCC@AAA@BBCB@D@@AAKH@BYHAAA@BDA@AAA@DHCBFHB@FHA@BBRVFALPTJ@AB@@DK@BDGJ@DF@I@@DG@BFC@@HIBB@ABC@MCALYG@B@FO@BJD@@DB@DTE@BJQBDNK@GFGDBHLHFFGBBBCBDFA@BD@HE@@GC@@BCBNHA@BD@DE@ABDBHEFBBB@DHBBHJ@XJ@BBBA@AAMFFDE@OCELBVABAFE@CFJAHEBDGBHDAFC@@DA@EBBBAFDBCDD@BA@@@FBBGDCAAABAOBEBCFGDCHECADBHADB@CD@LD@FCLAMHADEBADBFJF@DBBAD@FDL@FHDDFFBD@BLJFIJEBED@BGJAFDDCDCBEBKDQ@@@CBEDDHCCI@EA@CCAABABDFD@AB@BF@DBRAEHBDLDL@DAFDFCP@DDBFJDATCBADBDGJFDEFFF@DCBC@CDFHADCFEBAFC@CFBBDDFAD@@FAFB@GDADBD@BNHBB@DFBCFBNBBETDFFDAFBD@D@BAD@BDFF@@DJFD@BD@DHDLBNHJBBHLDDFNBJGJBFEFBBAH@DBBF@DBDADFD@F@DBDADBPCLCB@HCDCLADADBBDJHEBEFABAPEN@FFHBJ@DCFBF@F@DDDFFD@BDBADF@AFC@AHADABDDB@DATFBBBHLBBFDBBANDADCB@FABABFDD@@AFBDDDFHA@AD@FBDDDB"],"encodeOffsets":[[119693,41781]]},"properties":{"cp":[116.843352,40.377362],"name":"密云区","childNum":1}},{"id":"110119","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@F@FCHBFADBFEBCDCLCHGJDDI@KA@@GFADCPCCCAECABSACACACE@@ACABEFICEEAACBEDCACCAG@GGGACKEG@AACBCFEF@BAFBHCF@BAHHBCNABAD@AEDEFA@CCCRC@EF@@AH@BC@@BHH@JEBGJC@ABC@CF@BCD@HED@BATA@ICGECEBCBEBCCC@A@IAODGC@CAC@CAA@CCABCACC@AEBCA@FECCB@BA@CIEBICAGIAECAEFDEICAEEGG@CE@CCIKCACCGEAQA@EGIAGGCCCECGKKKFGDAH@FCB@BCDADBFAJBJFL@BEBABELEBEFADENI@KC@CCEAGIO@QCGBADC@ABKASBEDODAA@ABCCC@CGA@BC@BBO@OGM@IDC@CDA@CBGCCBE@IC@CIABAEAAAB@CCCBADCABBE@CD@DFAAHA@@BFBIACBC@CB@BC@@DDBCDDABBEHBDCDKDGAEDK@UEABEBKCKDEAIBKIC@CGG@IKMBIAAA@EDA@CBEJIDELCEEAAACAC@CCACD@EGCBECABCCC@CCCDABCCCBC@EFC@EDE@A@CCEEACD@CE@FAACFIACECBCB@AC@CEECAHABA@AB@ACBE@CBCAABAAAMIWNCAG@CAC@EFICBACA@EGEAB@FGDCCI@IECFADCDIBIAEBA@CAACCCBAAAK@CCI@EACBAAACG@AAGCEFEAABEACEE@CACBC@CEE@MCAEDAACCIJCFCDEAABCEA@ECAIAABBFDBCNABC@C@CCAABADCEACEBCFBHAGECEBCAGDC@CDE@AGEE@@AEAEBEAGBINAB@FGHC@@FIBMCMDKAEJEDC@AB@B@@G@GCEAI@CCACCCBAIEBCD@BEACA@ACCAEACBI@CGMAE@AFADEH@JC@AFCBEHABEAGBAAC@CGE@AECAEBCDA@E@EEA@AAEAGEGACADABKAEFCF@DAB@DCD@FIGAA@C@EEC@@CA@BC@CFIE@@IDABCEE@CCAEBAEA@AAC@CECBCFC@CJBBID@FGD@DCFBBADGA@FABBB@FGHAFA@@BDDBB@DBDMDAHEBADEBEA@BGH@BHDBDCDCBAFAFFFGLAHAB@DMDCDaCCDKA@BC@@DIA@DC@@BGC@@EBICCD@BD@@DCCE@ABF@@BG@@@H@GBH@@DE@@BF@@BG@HB@HA@@E@JI@@DMA@AC@CBA@@DEAAHE@AHC@@BB@FBAFO@EJCBGF@ACFA@@AC@CDEA@@BBC@@BBB@BFB@@ADBBADFACFB@CFBBD@FC@BA@ADDFD@@BABGCE@EF@HDHDBFF@HADDHHF@FGDGAKJGBgAAAAEMRJPADFBBHJPJJD@@FEFBDDBHAJDBBBDHJJBDHPJLFJ@HELBLCF@LDDHAJDF@FBDDPDHVFJBFDFCLADBH@HBDBBFJADBLADBFAHFDHDDBDJFHHDBBDDDDAR@RGNBHCNAHCDBJ@HCH@HC@CCENB@ADIDMHIBIFABBL@DBFABD@D@BRABHDDD@FJHF@BCBBBFBHHB@DDBCDDBC@ECEDCHFBBBARDLHPBJFL@HBBBBLDDTJFFTFB@BEF@^BFBBBCFONALABDDLDDDJBBDFFFJB@ABFFD@LADANCTAFB@FFLBLFH@FDH@JCDBDHFDJ@DFF@DJDADLJBHLDPL@DAD@FH@DDFCJFDD@JFHVLADEBBF@F@B@DJH@JAFJDDFHBDFLCDCF@@CDABCF@BEDCFA@KBCFE@ED@DCHFD@FAHBHIJELAHGDB@FCF@FAFJLHDD@DBL@HBFAL@BAJBNELBFDNCFBR@FBBDH@HDDDJAHDDAHDNEDQL@FCNBLAFDH@REHFHBHF"],"encodeOffsets":[[119261,41752]]},"properties":{"cp":[115.985006,40.465325],"name":"延庆区","childNum":1}}],"UTF8Encoding":true}
--------------------------------------------------------------------------------
/frontend/public/static/map/province/shanxi.json:
--------------------------------------------------------------------------------
1 | {"type":"FeatureCollection","features":[{"id":"140100","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@AFWN@BBJADaHWR@DTH\\BDB@NADCDQ@IBCJDJ@FE@WB@DC@O@BLBFPLVT@HAVAFCBOAgGO@Q@SHEHGVEXEFEDQDEBGTKJGBGNGJYLAD@XCP@HFFFPGBABDBBDABOBKFAHGFgHKHELC@KCCB]dA@SEIBGDU@gKKAS@KFOPCHMEgBKC_MO@GFIRENEFG@]GADDPEJMNGL@DEJBJAJKHCD@LDLEFIFMBOEIEGAWD[@WBaCOFCF@JCJEHIHIFGBMFCFCBS@SHABAHBJCBKDKJONALDRCDG@OBMDOAKHMBaIIQGE_BWMI@GHGBC@MGODK@SGaBQEKKG@GHETAL@RADGDQDIFVHRLPDJHBDAFIP@HFLIREBSHEDEHENKLCLAV@DEDCF@\\EHGFABGDCDGLCLAJBJFHNROLGLBFLLAJBDbHHDFFBVXJRJRDpBNBVBPDd\\PHRF^PVBJFPPfbDLEPBFNF`DLHJAJGNBJAHDFNHAHFHBNADBAF@BF@FAHBHBB@EJDFJLHBDBBFFBH@^CN@HD@DCDKDABDLDDF@^IHAFGIeFIJEN@LFDFVCdaP@PEJBHCXSH@JBFLPHJAPFHDTBLJHBF@DIHCTCjQF@NJF@HERED@JG\\FRCJELKHAFCDILGFGJCJFDFhFQNBJGHGFCCXBBJDH@JERAJFDDRDHFHRHVFHDL@LCLIDG@EF@LE^EHOJQPILKR@LZJ~NL@BDAFGFI@ULCFAF@HRPZNJPDCXALETCVHLBHGJCRAFAHIVQHMJINC^@ZORAFBHJJD^LJ@LCFEDSLKHUFANANKPDH@ZKJ@NPXFDB@fBBBBJITIDEAGBALAHCBEAEBCFCLABCAKKOJMJGDCJAXCH@PHRCNEP@DBNJNHLNFFFD@HCNC@GN@BDBF@hEHCJCRIHBHAHB@JBBT@LDBATAPGFBHHF@BAHAJ@XF^DlJZXBRFDBFNP`^NHPFVBPFTBTLPAPFTJLJFDTBXDNHLRF@NRJFDABC@OFIHCJ@FDNCNFHD@DFDDFHFFDDD@HDDJDFBFRFHZJFBDDLDTCFFRFDD@FETCDBDD@HFXFTD^B^ELCHIAEEAAEAGFQLOFMAIEKKKDIZU@KMUKIKGACCCSCKBUOE@OFGCEAKAQBECAKOCCI@ECKCCMC@GGEKCM@CGAKAEKEGAKBGCmWKMIAIACECOKGG@ECAIDE@CGIOOACDE@AI@GKCCACFG@G@MCECAKHG@GCCIFG@MDCHADAHGNAbJFABABKAQFMFCHIXQNGF@DGDC`QBCLDHBNADAJ@JCBABMPOHAJAL@BQG@ECGGIC[D]BICMKEENEDALQIAEKKAGAAWEEYAIFCFMNMFE@IGAKCEKIEAIMICeLMA_GKDCDKBG@aMS@EDEHOBMDEJEBC@CGE@IGAGHI@EACIEYKKIKOIGEIQQGG@CBCPKBE@GMCIMAAJO@SNQ@IHKFK@GG@MNWNEBM@SGGCEI@SEEGCEIKCODK@AADO[ACEAMCCKEGGEM@GR[@EMMMGSMMCCC@EHGDGHEBC@WDEFA@CIIQIAWCQKA]AOEAEAILIBA@G@GCECASCAA@GAIMC@A@IFIHCNCDA@KACKEYCQBIAOGAKDWAYFATCHB@CDADMLQFM@GCiLKBIDIZCEKIE[AYGEEAADOCEsLKHYDE@CEAAOBSGU@CAAEBa@QCEAAGAK@MCGAMBGICCOACDMPUDI@GMAACSCEWBGDCDCBG@SEIDCBGPAFDRcDICQBGSBICGCEGCSBEGI@"],"encodeOffsets":[[115027,38358]]},"properties":{"cp":[112.549248,37.857014],"name":"太原市","childNum":1}},{"id":"140200","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@@EKIDKCI@OEEMEOUEEBC@IBICC@MCACE@AAACAM@OKEBUE@IFIAEBGCEKeEIQQ[aCOAWDK@OBKBMEODAFALEAGIE@CGCEC@EAC@EAACBGCIDCAGEBAAGSAAEC@A@AMGG@ADCDI@GECGEBCEEBEAGDKDADKLCBEKKCAEISECERIAABCVIJAJBDBDCH@JGHDLABCLGDGCE@CEGBGBCEOGCAECAIFIDKACC@EAABEEQQBC@@CCAC@CDOE}LQQawCMHCDEFOAEBC@EBEAEIICE@AAC@EGIACEG@AEGCA@AEAC@EAQDMCIGEDMDEFGAGFICGE]AQCEBMBK@CCOIO@KAEBOKYMQGMCQBQNIFUDWGQGSCcBKTCP@LGPYLBHKBBBC@GGG@ABA@ABGBOnE^CJOB[GoUKkKKU@cHIDEZK\\AN@ZKZKEHDJBDfbP@NDRAJGFIDMJIHI\\UROJML[VIL@VDHDN@FCFKDM@GUFaB]DMDWJMPELGPQPEF_J]FMAQCSCOBcJQL]J}M]KKDKVGJEBQEETIJULoVcXSZCTBNHTGRmlUHKRIXIH[FY@CFAJBLBLCJOP]bOLOHOR@JVTANMN@JFHNNCHD@JHFBCHBBPPBFAJKLBBBB@BEFEFON]PYRaNEDKPGPO\\BFFHV@DBHNH@jlPF`A`RxNILc^KPGFMNGDMAEFKXSB]AGBMNihIBcDMNULgHYFUDMBMEIG[KIIKI_Q_UQEeIe@HcFaBI@_G_BkAWEI@O@YPG@ECEE@KHK@EEEDA@GDCFANCFAPUFICEKOAGIAQHKHAAASEOUCCASSOCM@KCSEGKBMGIIEOE}AOGKKAMHIWCu@aB[CA_CGICoLOHgNQECOEIGEMGkKGFCJCFIF]LAZFzCP_JIDINGT@HRhFXBZEbG`APJNX\\JPJdDPFLDPF\\HJFLJ^APGFEDE\\QFCDEJAPABEDADEHBB@HVH@DCDGBGFKCIFSDEDAJEF@DVHEDAHEFKBCJFJKPDHHBBBGDAJFFLHVBR@\\BJNANIL[VIRBPLPLFN@HB@PCF@HLARQRGZQFELERMTILKXINMBB`W`ALBJBTF~^^LfJbLHHLVTtLVJ\\HRFTFPBHHN@ZBJDHLF\\HPDFBxPXLxPbDvRhDZFfBN°^|LnDJBbNPDJCBCBIBGJKJCNIRWDEJQJ_DIDEFMLONMH@HATFV@fETA^BdHdBNHNnNZTLRLJfZp^VTVNjPHNBLDFJJRH|TZPHLFRRZbHP@P`_n_JI\\kJEPAVF`NpddTZX@HFFDFADB@F@BARHRDRBP@`CHIJ@zPTDZFVTHHHJBN@XITSPWLMNKRAHTVBFJLDJDRTf@VDPOtAJFLJLZP`HLBHAXDL@NFHMLKbiPMNQDOFKFGbQNSDK@CJGFI@COIFKH@FEDEFCBGXIT@HDJDH@\\ULGJKBCACKY@ADKEABCEIBECCBALCL@HAHBDCAEDKBEIKMI@ABIASCKGGDGBCGGICBOKICEFMAA@CFGHCRD@GDG@CPEFABABMEEOICG@CPSBMXiJY@EDEJEHAH@dHF@HCDBLGJ@HGPFFAF@DG@IH@BCDAJ@RFNHFHdJPJHBH@JELMDIPKHCTCL@JDPH`CVGJE@QCICO_i_UsqgQiIeMUCg@eJMAMOE[OSCiDKDWDKASYESA[CESEQBUDWAYE]QC[HABDF@LM@EBEHGACBEAGBEEEC[EUKJWB@FWDAFQ@QHUHKLILOBQMOGK@WMGOAC@AAMAKCWOKAQP@JBP@DY\\@HEJSJ[HMDSACAGYJMAGFa@CEEE]IOWSGEOGMAcBKCKK@MHKRERLH@TCDEPCdENE^CLEL@DDLADCJBHCJGAYAK@OJMDSZuD@JJFBV@JCNGJIDAH@H@RDPASGRDJJHFRBJDLRBGHDLI@CA@@ED@DDDC@CE@BCD@DG@CACGBCEMEUKEECGBGDEFCD@BA@AHED@BEHBDABIFKDB@BCD@DFHTBP@RJ\\DJDHHLAHEAIBGCEHAJDDBNDHAFCJBDANHJDPEZ@bHH@D@TBDDJEPBJUC@BMAIRY@AEC@CCCQCCCAEHGFGBUFEBGBADBBEH@CGBGJ@DBBMKUE}ABeCWDONWHG\\kLGN@LBRA`FNA\\ILKBGDCBMBEBA@CBCBGHKDMVBHCBB@FDBDHrTNGFIGOCK@C"],"encodeOffsets":[[117313,40508]]},"properties":{"cp":[113.295259,40.09031],"name":"大同市","childNum":1}},{"id":"140300","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@BWBIDK@KDMZUTQ@MIIKKi]KKQSI[AKGOCODONUNKVMJQCqQsCY@SZWRMJ]JINGLCV@xLV@LANCNIX]JELCPAPDLBLFFDDBD@DEDICMAEBCLENDHBNG@CCCME@GCAOGBALEHCLFDBFCJBT@bCpMT@PHXFLADCBCEGGE@CHEDE@EE@KFCBAIBICQIMKYFEFCL@DA|wDEDKCA@CFGHAXIFEAGGGDGAIHEDE@KIS@GFGCKCASAAAPKFGFAXDFCHANGPSFMPSFMNgPQPCNGJKFIF[N]DSABKFKFILGNAbDREHKBIAKLIXMNIDKBICIEKWO[G_SGICKAQ@QFCGiAIGEOAODOJsZoRUFS@WA[SKKw]EWE_MIDEZCHEDOBGDKBWBeCSCGEAEBIEEaAEEGEOAcDOFWVIDOBsIcBUAwFKLCJOP]AkFIVOR]RELMTCN@^AFGH_VIJcpIXIJaVCFEPALFZEHIFeRKHIFEJCPAJBLFZJ\\Ln@TKRGDOHS@KAMBKJCLCHAfCHGJSFM@EDCXOZ@LFFPHBDKZEDIF]FSAICYOIQAGOWSGoBKBGFIJKHGJEJIJQCaSMKAMCCY@KDGCK@C@APGAMDGBOPANABIDI@CBMBGAKCAD_RCDCHE@MHWRGJEDENBRALABEBYIM@GBGHCBGBCD@NEHDJHDH@LGDBDF@N@HEHBDDDHLJ@@BCFBDPPHJ@DCFBJFDH@LHFTBBJBJBLNnXHDLAHBLFBFBLDHN@LDHF@HNDDDDL@FDJPDBLFDRALBFBHDPEF@VPLATDDDBDLHLJNV@LYVCJLLFLBJENKPER@DDHFDHNJBVED@JDVBLA^@HDDFdLPHpVdHNHFFLZHH`PNDbPTdN^RpRNBJ@pUTCb@^JVJNDd@RDXA"],"encodeOffsets":[[116281,39446]]},"properties":{"cp":[113.583285,37.861188],"name":"阳泉市","childNum":1}},{"id":"140400","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@AKKMqJYHQEOKIKKSMQDOTC\\HPFR@BOK__[SYCOHKPKN@`GvCRKBMGaCKHGTCTBNGPSVYBM@KACIKEAC@QFE@QGCCEAGHCBCC@IDAHAHBHGH@BA@EC@CDACBC@I@A@CGK@QCC@KCAIAAE@CBANHHBL@DAJITCDABMBQFKNGp@XELERKLITQVMVExBJQLaNQHODQ@OCS@MAMLSDMIMKMAICAQACAGIFIB[HSBIAEKAAEEAE@AACG@EBGDE@ICGSMSGIACCAC@ECEDCB@NLDBPANCHK@EFKMDCCCAEF@@CEGCBCVQBC@AAACAoKOD@EAASDEA@AJKHE\\EBAJAAEFKB@BBNDH@FABCBANABCGG@ABABC@IFBDCD@D@AGG@EEA@AFA@CEOCGBSAAB@D@BC@CEA@EB@FC@IAI@EC@ANGDCDGDAFBDGBOI@@ADEH@HG@UJMBI@GEEBCJC@C@CCEUEMGMMAOTIrEHIGG[EJIJGJMAGAEOKMAUHgHKAIGAYFMPCAMFMFYBSB[KQWFSHILKNYCKIGQGMDILKBaOMAWFW@KBmZONKHQFUCU@OBKFKDGFKDiHSAICGGWgMK_CQBaHMLGHAHBRDHM\\MJGDWHO@QCKCcQYQQEODKD]fQNGBKAcGQBGRKGeKaOGKCIGAOFe`QDSD@MDMJIROPODQHIJENGHQA_QQAKBIHoKYCi@iDSFGFGL@LLVBHATCNEFGBS@SDWLQDI@MAOIMEK@WJMFyJUHMJUZOFuSMFGN]`GRAHUTUHKJQBcOWA»_SOeDEJBR@JCLKNEJHRHJNHdPVJfRZNHHBHBTCNGPG`BHHJBbAXG\\AXDZLNLfAVE@IA_]GCGAHEFwLIFBDERBLFJFDBD@BC@QIGHCFML@DJDBBBFABGBGFBVCNCHEDEBwBkDCOFITINMDSDMF]PQLWZKJMJQJASPSdO`AFEJOnKjKXOHYHQHGJm^ILO\\KbEDIFOBI@UHIFEHMJCKPUTA`EPKNWDI@CTFf@`RPDJAFOPIVOAAB@LJXAFGDAD@\\HPfPFHAJDN@HCHLJLTHVELELFHNHP@^MV@^FNRBDIJMJGJLTNHFHDP@JQP]`ELBNZDRAfB^FTLRGH@HPRJH@THLTLHLDR@^BVDLCJELeHEXMJAdAPELIFIPK`MPKNQFCJAJBFDLPFHJDJBP@\\GfAJCdWbATDLFXXLDNLHBPCNILENCRBRD^NLNFNGZQJ_@SFGNF\\CNIXORWNAJFLDTCbCRMHSFQ@OFIHCLBDXCD@NFFAHBPBLDHFFDH@RELBL@DEAICG@EDAFATBHCDEFWBCD@X@TENA^INAHFDHHFLNJNRF\\B@VHFLBJATINM\\QRAPCTBRENKVUJOAkNC\\DHCDEFMVODGDUJINER@TDPBPEJATYJGJEdCNMDOEUEICMVU@K@QAKKUAKHKZONU`G^FFBLL`VNPRNjPFVEjANDj@PCPKLC^BDJFFdCZDTGFGB@D@BFGVDH@\\BDD@HCHGHAFDBDBLB@DIJiHAHBTGJ@PDF^@HTCDK@KDCHADB@FBB\\PHJD@BEFEF@DBBLNNHALBLRDNLLJDJBPGNWZad]TUTIGGBCNI@ACUIKIUVCNDLKJITIhGVIPKJGLG\\]TGNANGJGLKJaTiX_JGbK"],"encodeOffsets":[[116269,37627]]},"properties":{"cp":[113.113556,36.191112],"name":"长治市","childNum":1}},{"id":"140500","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@G@CAIBEBQJK@GAKEISESE@M^BPJJAFQ@EBWR@HAFS@CFQHCDIBE\\ADGBE@CAGWC@CPDPABABC@ICIKIECEBI@CBCJCXCHUCCeK_FgCQ@ICAAAMQBSJQLE@SAQCGCC@UNMDIFCAIIKFKFGBG@IGCAXWBUFK@IE]]QGQBcCK@IDSCSDG@YGI@A@AFDFDFVhDLEDI@CAQQECkAWEMEcFKBCB@DFFBDGNEB[@SDcP_DmJUGKCAACBCBABCD@BJB@DUDUHMBWEQBODETNDJRDLATILOJABAFDN@BEF]JYDEFAFBPFLHHFfMLQH]DOLURS^CRAbQfGPEDKXETFLDD\\XEjHjKLM@IHC~K`BJXPJLBjJH\\DXF\\R``RLHNJ`EJQRERFN\\RTJLNCTGPGJQRINCPDJFDDJC\\DXFJNFjevW[jEfAfBdJRP@PGV]bE@GDCDEJEFMB[OGPE`EDKBCBARFJJEJAT@RFP@B@FJJFPE`SLAJ@dMP@dLXBVCVGZC`AXJPBbCfE\\B`Rb`hV`R^`NTPFFFXGXApKVTP¼`XBdPRALIVGVSBGHQ^_HMNEvTPEVYNIVGzINEXIL@NFPJNBJ@RCXKTCT@HAFEDMBSAGKU@KHKHETEjCj@ZDpLJGLARB`RRBHGFMJIRGPCPOJQNINC@TCRCf_PEHBDJHLbPfLLHHQRAdHLBHARM^eLCPCRFZRdRLDRDP@XGHCNIN[ESBMHGNKbGRA`DNLXhHHJDTBPA^EHCHEXIPAV@VDRELGPMnYLAR@EG@GDCHABCEG@E@APBJGHADAAEU@EAMCCE@EFCF@LFBOJM@IEUGIKUBMHQTaBIEMMG@EBAVEVKPQBEIGBKBCFCBI@iAAKAKDgA[DEFAFANOACDAFADEREBOGAQLSBQFKBECCKAEACSGIBKAAGCI@EMMKSOMOCO@KDGEOIOTS@ECG]@KJSEMCOAMGGBSGIACBKLMCGFCBYQU@ECCCGQEEKKEIAAGAQ@ECGMECmBCDIPMDaSAC@C^AZIDG@GQCELEHEA@IEGGCCK@IJIFIACAAIBYLMDUAEBAD@DCDQAQRCBI@CFC@GBOCGCSEKDY@CAFA@CAIBKAGCA@CFEAAGBC@BCAGJC@AECDA@AEEABADOFKG@FEDAAAADECCDADA@ABAACBAEAFEDCFHBBBACCF@@AACC@AECAEC@ADA@@GAABIEACDCCCAACHC@BEAQA@CBE@AEACDCAKBOC@C@OC@CFI@AAECCI@KEG@CDYLI@KEIBUFOPEBGHKCMF_LUCOESDC@MHI@AEIEHQACMICCBkAIBAD@BEFK@I@AGMICEBKBKHC@KCQGGCWACE@GFG@CGUGGGEAC_MIBQDQCCEa@UHABAJABGCQFM@]FGAAACKOIMMQAIE@GDEAEACIGGOEGMGOB"],"encodeOffsets":[[115465,36050]]},"properties":{"cp":[112.851274,35.497553],"name":"晋城市","childNum":1}},{"id":"140600","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@@GDE@OGAM@KEKOAOJQ\\UJKBMIM[AQ@UAKGEEBIHCAAGACGLOEIDILAFEBGDC@ASE@EFCBIJENALELDHEHADC@CUG@GAAFGBCFCBABOFIDCREF[FCHEBOI]EKGIE[COEKCOIcIOW[IMBOH_FaAYEWQg@GHSJMJC`IDOEyBY^KJEDEDIHElLNHHFFJDPRFhMPGpKJDDHB`\\DbAv@XDGJBNLLPH~BPFJFHJANHLTFLDN@PDTTDBVDFPBTBBLGRGJBBHLPDFEJOVEBMDEBCD@HCBFF@FGL@LFFFDH@ZOP@J@XFlB`A`HJ@bAdEGf@fJRF`V`RLJJJ\\LJHNFNAVCZEhGVKNMdCJAjgNMHA^BTALWFENBHCNMHELOd]JKwM_Q_BOEikG@GMCAS@EAAEAEDELUHOFGJIdOZQbQDEHEFEFE@AAAAALKBIAEQQDGEAIGC@DGMMEG@INMBMUS@IPQPGPK^aPODIAKAKBIDEZ@\\EJGJWLQVGnkHQGSAMDSTYdWpUVKJIFSUAEGEKBa@GAC_[WKKWAMEKIKGOSGeDI@G@OGcCGG@MBMEAG@iXICGO]MKGGSECKBWNKLK@SCoFWAQBeCYFK@OAYKiYMCKB¡XKHWHMHSNBJHTBHKDAFeZaBKCEIE@GCaAIAEEAEBIACOMEGIACC@ISGiKoS]GmCeKIEOQAKGOIKKWWOEO@MGMMIiCeGIUAQEKIKECQ@MLEHMPKDI@UGKAQGGAOFO@@CTKFGA_GKOKEAQMWKWI]CWLEAWOIKAIFMGYEGWGWBOAMDGF]CG@MXDNCJIDUAIDGHGPCNKJQBSFS@YCMEsOGWGKBQNQDSBOCaKQAKD_V_LE@CEEAQBEACI@GDKAIQEIAKDEDEJAFBDBBRFHDDDBLCFGDM@eCG@GBCF@HHR@NCD@HNL@DC@IAAB@HAJCHWLKCG@EBE@MGICIAEDADBDLR@HCTCDQFMFBNBFADUN@FFbMZIJQDYLSFaBYCOCMIM]GEGCOFOVENGJENUNIBGNRFNJBDADUJEJCNJNIHGDWFIDGJCHCJ@HHJAF_^ABHRDNAJELEBKDAF@NQRET@NC@C@C@CEEACBIDULMNQFM@MGEAGBCFKBCHEJEPGPMTAF@DDRJHHD^J\\BTFrAhBPFNRuvGF_P[VERCTEHIHD@LXAJMF@FJHFNILMLENBDBD\\TFHHDJBJFHLVhINALDRDLAZ@HFFBNCLCVBRDJLDDDFBLHBFJH\\RLNNVRR@BNJFPDRDFB\\HFHTFFLFLDRRFJJ\\JNLXFFHFVZJJLXPNFHDF@LDNFDFHBNj`HRP@DBBFADLJ@TABABFFBPHFHHRJ@HRP@HLFFJBFFHBDJFHD@DCD@DCBDFEBDJEJ@D@BH@HRAJJFFBFFLBJHNHH@NFBBDHBBVHLPPJENMJXTBJHNFHDLCDN@PDH@JCX@HBNHNJLHVFNF\\XZLLDJPCRKDGFCREXKZQ^GL@ZChINIH@jQTAhM"],"encodeOffsets":[[115328,41203]]},"properties":{"cp":[112.433387,39.331261],"name":"朔州市","childNum":1}},{"id":"140700","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@J@FHTAHDDFDHAJHTRAJDdCCQBEHODAJCTFH@DADCHCXADFDTBBHNJ@VCNODCPBDDHJNAHBNDL@HBBBDF@RAbBFDBV@THPABBDFF@ZCLGtKDFCPBBFFZH\\BJFFLYDCJAJKLDj@HENKRCNCB@DGASDEBBZCXBLPHJBRAZDLFBD@LCBMDGDEJ@J@BNDBJ@HBBTDDBDF@H@HABKJBJBFPF^BLBDRBXRJJJ@DEBCF@XADGFCHGH@FDDNDTNNHNN@FQ\\@HFNHHLFDDBNDF\\BCPBBL@PCLDFJHDFF@TFJHDTHN@FAXMNMH@@HELGL@JMR@TIPBBJNND@HAFOLAD@DHHRRFJJHLPLJZLJFBD@FGJBHJHF@DHD@FAFINCPAFGFCT@bNH@LADCLC`HNBfKJDJNFBLJDFBLJHF@NENMDEJEZBFFBXHBLBFLJBKRCBMFFFNLJDJ@pEJDHHFDH@@BL@LDLCZ@DDBNNLbTRDJIFIHILGJIHELApATHPXBHJRZPJDTBRCLAPILYACOGEE@KPYDWFCN@TEHIDGBeDGDKLINALBT@PGHCLQ@SKmI[EYAKBIDOFIJELGfQJEFGEYBKFODEbUJIJWdoJI`UHGBE@]DMNSFK^QPQJUlE^BPODILKxEVBdAtJPAJCXUPEdCPBHFFFbBFFAJBFHFHBbD\\BXCHCPAFCDGFYJC`NXFFx^LL\\TXBT@VEpQtYPIPCPBHFBJHjTARRP^DLAXIJEHIjIXCPGPMH]COEMG[[aCK@KPeIUY__aQ[kyokQi@YEiCKQUOEQ@[QSSSoE]BQEMOMQCkSWOKMCKB[GaGQGGGMAM@]_[YIIIas@]IOW@OCQMUEM@YGKML{BQGOIIEMEMAIHMNKPEX@DI@YGIUWGQNSZMHKGMQMEKCM]MCIJQHUHIL@FDDA@KIGAI\\oDYEOIIEAG@EDIBACAGJICKE@@HGJA@MACCEOICIACBCF@DCDKB@LBNANEHE@KCC@IFEHOCKEIKCMOQKICUDMP[CIIGEQJQDOOEQ@QC]OYScUUISBOJ[@[GKCKOaLIHW`SjIbKLIHMHMBSH[^KHIHOLUJgHSJIJKLMCUDJVJLDV@BMJADHHSJSVc^YbMXOHIAICKKCMKQKAGBMMAKCAE@EFAFC@GI[OAA@ECAGBCD@LCLSD@GE]OCI@SHGAGBIjCJA@AKACECGBGHGDC@AC@[CGHUAEC@A@EHSHYCcDEECI]AKDOLODi@MCiBUFOEiQMMO_UKKEA]E_HMVYPGLBLLVBL@R@LUVDNFJFVCPMNcDIFIHSZIBOFOASCQ@MFIJCVCHUPENCFGD[CMDBlIPUVMLQFSAODQB[RMNSJIBKAGE@U[AQEIMKMGECGGEMB]JMBSFW@C@ADEXCFGDSAEBCB@FDHBJCFK@KAQFG@ECGEKCOAGAEBMEC@WDACDKJGPER@TENGDQDaCSEKBIXMPQJWDME[HMTE`@RIHYEMKM]MQCQAMDKFMJODGAMKKCWWKESCaBcXIDeB[HO@IAICEGKOECIAIBEDMROL_NOLEJKJOFcBIBWNGFKfIFKDUC]AQ@KCKGKSSGG@QIGOG@QHSK]EeAQBYCAMFK^_RO@ICOEGMGKSHINIJIACMQQCKAU@]NO@MGEGFKFKGUKSKIDG@GCMBIEGeOGO@[BCHCBEIW@KBAPBJUPOBECIQO@_EeDSAGKGOCQJMJUNKJ[LODMBMCUD{CaHBGAECEYGG@CBDJJH@FCFQBMIOJWEQEWEgROJGDGAKESCcCSIUCMJQPQFSQSGCIBSL]^]TMNePo`QJKNgnIRE\\HLNBDHGJGFADI@@GIAEJGFI@CCAKAECCC@ABADBREBEHERE@EA@GMi]MMAMB[J[R[^MHCTBLANDNL@ANDJH@HDDADCB@`BLFBDDPLPpJDBBLDBZPPBZARDRH\\TPRFBPBRLBDCB[PM@GGC@EBKHG@EDANBVAJCBGDEHKJEHGFM@KTORzPJADACG@MFINGHAHDHFLAHCdWNEXCfODC@MBCJCLAJBBBDZHJFH\\@BBHPD@PGF@DBDFBHCLBJLLTB\\BRDb@DJFHRHTJPVJVHPHDLHFLAJGRIN@RFATPJNDJFTbFBBTHFFLLJNJTFHLJdDhJNDLNRFPEXAhBHDHRJDJEHAF@NEFCBUD@LBFNBN@BED@\\BBB@DHB@BDRDHD@BCBKB@D@DNDBL@DADGZB@FIN@DDFH@FIDKDAN@HDDHBBXFBDAPDPRLNNDHDDPBRBTGBAAOHIHE^CDCDMAQBGVGJGDAFDLH@FFFFDDNRHDJNLBFFHHFRHRLLL@DAFFDVJFDDH@JDHHDRXBJVPPPFNARBZJLXTVNrLR@HFBBFBFT"],"encodeOffsets":[[115027,38358]]},"properties":{"cp":[112.736465,37.696495],"name":"晋中市","childNum":1}},{"id":"140800","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@T]VQPK^CRGNKEeGGEKAKBIFEZC^IFE@ACMBEBAPIJKBSCKIQMCFS@CACEGBAXKFERgBGAUDG@EECUIQOUCKGCE@GBGVYVcHOAGKKBELA@CUAIBGNU@EAOBOAGQWGAGFMABBCJCFKDIFCFAD@FABCBI@EACCEAaHWCEDQRMFODkBCACEEGKIIDQLCBIASOEAgNECKKEEE@CDYCQEMMIMAUFE@EC@KCCKI[DKAICEE@ICCkAEBGAMIO@C@OScAGCAE@APMFGDG@MDGDG@EGE[OG@MBOCMOKIIQEBEA@E@MGWCCEAM@WMCGC[AKCGGE@CCCMGGGGAKFCD@FIDKBM@OCKAIEOMMAAGIKIAU@MEI@KBG@YRCBWDAAEGACECQEGBE@KGKKQEGBCAGDSDGBM@MDIFEJCBIBIASOKEMASGWMICOF[RMFE@KEEGSiECQCI@EBCDILGFKBQBWAIDSRGDG@ICMKKKMSMWIeCCGE«I_I]KcQsICI@CDW\\MLUJU@IAEGAEDS@_IY[o_gYKoASEYMYAMJONcZeJM@ICECAIIKOKisEEEAiBFAaG_UGMCODULi\\YP]NOBMAKC_cOMIEQAQDyVaJWDDUDMHSLSRSZO`M^ETDZFVNZLh@`EVIZevETHrdpN^BL@FCFKF@D@PBFHPBD@FEHADBJDLBFDDJBPJP^NTZXXZT\\JTH^H`H^Pfh¾Jf\\ðLdJPJR\\ZRVztHPràFLJH^LHLNHNFPF\\RzHTv¢\\~BDRLJ@HInABQDCDAHB^AFCDMHAJGLAJFR@NCP@NH@FD\\NDFHDBDF@FL@FD@F@DDHLDFHZPFTDVATINMFQVBVGDICGWKIO@QJInRrHTFJ@PIJMPGNA`AZGHBT@NENANBHAJAVKfGRK`YNCNBZX`JPJJPBLCDCVAXD^DLC`V`LJPDP[@YHWPQDK@SDOFGN@PFRBZAXBHFF@HNBPZ`N\\V`RXVN^BfQ\\_HMHYHERGJGHSBI@gNWbMbKNETYFKHILANBLFHNb^PHnJTAJEDSAUFEFCHI@QIBiLQ@KAECEAOACEDIJKHSACCCSGAAHEBCAGGEE@GFOFKGA[AAAGB[P[PQDGEIICIKDGpeLAJA\\FZLFJFHXHLAJGHDTFDHFDX@ZJLJB@@GBEVK\\JJAH@HCLpP\\@`EnMZUF@XJAXDTJLHHJNBP@RBVDRDJLLBLMZN@FLBHDJAFECO@EDAZBdFTBREZYVORSPGVCMZHbEP@AEIGQEKKEICU@IDEJIDEPAR@HEZCJBF@FAFEJ@HCJBDADA@@AC@ABAAI@AIAAABMSOCGACC@KLEBKCCDeIAICCBG@AIGCE@KDGSACGAKFI@GFIAICCG@CCBECCIBCACEAGMAACDIR@DAD@LJFBF@FMHAFE@IFGBGAYRAHKzG^@vHRAPFTTRVLP@R"],"encodeOffsets":[[114662,36282]]},"properties":{"cp":[111.003957,35.022778],"name":"运城市","childNum":1}},{"id":"140900","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@JGFGDSFQ\\U`OHEvuMQOEgAqBSE[A]IGCIGCQ@CBENSHOFOJQLADEBALBNHN@RENMVKJCDAFBDFD@D@D@@MFSRQ@MBELCFAFKBICMGQBA`]BEGI@GDIDGHIJCXEHCJGIMDMFIVIBCACMIQEHMJAVMFMHIFMPUPEHDHFN^NJPDZDbATEZKRCJINYEa@EVMBCAEAMNEREDCDS@GKQACBCFCJBJDNHF@FAH@LDXKDGBI@GBAJBD@@CMK@GDC@MGQ@GDEHAH@fDN@HCDEAKCCGCQECEBEFIFCLCJBRFBJCL@HDJFBRAFBDFF@`K`ULCRBbLPDTARCRMLAXHPHtNFZDT@TERALIDMHOHGJCVBJCDICMNWH@^DHENCPBXAXHFHHZENBJJLXPFBXK^DXJXLRNFBPLHLB`EHSL@DP@PEHBRHLBVHJ@LCNOFGNKR@FDJLFLBRJVfHjDNJHN@NFPXPLXJLHPBLPRJFfLnD^HpTjLTH@JDDJBFHPNBDAJBFFFJBbBHDF@FJLDbAfYBELCAGGSAITMNGXGLG¢WLANDjZZLPBL@ZEfDRAXBpETDL@LKXMLAFDHTLH^NHPJDjWH@FBAN@NHHdDPHH@J@fCTHHPJLFLBNLXXL`\\BD@HAbHRDBVBRFFAHILULC^L~N^IRKdIPATDRDNB^E`IFEROHOFKNOXINCEVE HN@LCDE@ECMCG@UJK\\UNKPIVQJ[JGNIJCHEBICQ@MOeaACCIFGLLY@YBML[FYYMKMISIMEOS@mJSEEMAMKMOG[SUQ_SomgAGBMEOaCUJsF]BM@wNOPKDKFILKNIRGVEPAj[DUGO[OGKAQ@QHS@USCWD]JMIYmEOIeGGQGc@MLSJQBMGCIAKF_@gGOOGUEoCiD]HQAUKEOKmBQHKEQEKMKMIIEcKIQAM@cEQEGWBQCc@MCUI]Ia@SDoVI@MAoQ]QcM
SaOMC_OGGKYEEMGcGoUOGcKCEGC]@KBUAICC@UFIAEGGJEBcH]ASCWEGEC@ACDCFS@ECCQEEESDKCCCEAYIEGEQEAICCC@GCCECGECEEC@CGCMEMDECI@GDEJ@PADCBIEMQE@KQMGWCSAECKISIOEOBSKSAOEUAOEMG_]MOAEECAQYWkI]CWEI@GBABE@GGEAOHSBABKCS@AA@IGAGBGAQJIDGDgFE@CA@AHMD@DM@GECEEKMMGMICAO@MFQDOGG@WDIBCDIHINLPBLADKBEDADBFAFGDKBABBHCFSJIJAAAA@eCAWEMOI@YLG@OCMLMBEBGVKLCTEFKDI@]KICGIEAQBYP]@MDIJGNURGJEBQBIDGHKAUGSDKFWBCDIOYMQO@GBEDEVKJ@HEBEACK@}MYI@KLQJKROPIFGF]@KFEH@JCDK@KCKEGGUGQGEQCCCIEQBIFG@ICAADWEDGHIHMARgECEIEIDEHKHCJEDGBKLIFQD[EIHC@QFGFE@MIE@iRSDGDCJE@GAKISAGCOEIBOGEKIAG@WTGDIAOFO@cbUDCEKEM@IFEJJfEHGB]JE@CCCKBALCDC@CGCM@]DG@EAYPEVCFSFWRCLANARDZCRDDXBfLH@RGVDHDPJADBZADYJGFEPDLHNKXDPOLOBIFKLKDED@DBJHJ@FGHCH@DCDENBDTNFF@JEDAFAFDD@FKLKFaZKL}nKLBHBHJFTNNFND`PCVKZWlUZIB]NSAEEQaIMQOOGcKWCeOeIIIQG_U]UMGOCIBWJIJOPKBGAKKCI@KDA@YEUWTIJeX[\\GNEX@XCJBJEDIFKB
D]AUDMNGB[LCJDRCFO@WGgCYGQ@UBEDGHa|CNBR@LAHCFcLGHCLAP@TIjKRCHQJ_BKKCMG_WOC_SE_WWMSEQIY@IBGFSXINEDUB_CSFGHADBJDJNL@D@H@LCFON\\bFLHHAJEHIJALBDFFLFPBLHJPJT@LP\\RPHJBH@HAFY\\CJBBFDLFPLHLBLALELCNB\\ALAHQ\\IZCDSJCBELDLbjXLdXVH^D\\@\\FRDJF^XNHnfLTDLBPCPBFBDXJHHLXDNHP@HEHIHEF@HVj\\`PhTTCLTLHNDL@DGJCHBLFRNRFNHFLDHFHLFD@DK@_@KAM@_LSNKPEJ@DDFZRBJGHEDG@WIEEAIAACAGAEBEDCFBHHZ@JGLCBI@WCUAKFAHBHRR^lDDbJPNJFLANEN@XDNFFBDAPGdCFBTBJDJB^ELGH@FBFD\\DbCXB^JNLFNDPBVAJ@JRX`ZpRF@H@JBFDJJ@FFR@FGPMLAF@FHPNXDN@VBHJT@FCJQTAF@FBDHFL@FAFCLUHCD@FBDHB\\ADMDO@IDIN@LRA^HlV^J^DT@rSV@F@FEJKDChDNCXMVEN@LPFBZDLER@^MNEPAZMHCRUNIbEXKVE\\@LID@H@RLNDLLLFB@FDJJB@DFRHNB\\MN@NATMBFJHHBFCNJF@VED@BDH@FEFCFADD"],"encodeOffsets":[[114617,40563]]},"properties":{"cp":[112.733538,38.41769],"name":"忻州市","childNum":1}},{"id":"141000","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@NG\\]\\Q\\INANB^NNj@HFBF@FQFGFAAQBCBAD@DDBFBLDDJ@HEFIJB@HJ@BCHEHICGMAGKF[JQhmLMRIp_fONM^S^]TKJAHDRTETORIRDNVTJdDTDLFHBHCPIhQXFRFXFPINJRADE@EIGCIDAH@ZHDFBFAHbG|DVCNDNAPC\\KLIVMNIRIPDLHBHJ@XCLMFOB_VSLODNIFGJEVGJ@PAJEFCLaP[JKn]HIRGZGPGLWLiPmFIBE^yFITOBRINILIXYRK^ONETCNCJMJSPEDlCxAFAFCDGDMAUHEHABAAEAAIC@CNKDEHGRJD@@AACECEIAKFQACJExKFEGHBHD`^JBF@BUKeKMCYBWH[BWAaGIAGH_HODMASAGGGYMeQUI[KUKGIGQFILMDK@IAQFIfCLUBoHWEWEESO_M]_QgUa__Q[AeFaDOAWI_BYDUHUDWAcKO@cNI@KB_TOFIEEIA@O@QES@IBIFEIBQDALAFCF_HO\\PNAFEFIDCHCF@^aHU@OQOcIeAeBiF\\uXifMEEICWD[CIECCIDOJMRQHIHODSKMSI[QEMFQRQFII_GMQK__[QWE[CIGAiIKWOAIL_D}JGN@LKGiFi[WIOFSLWFCHOReBaDQ@Q]eSSOEQBuG]@yHGLQBBZAHEH@JEFGBENE@EAKIC@CBQ@CH@BBDNBBHDFDBJADDAFDDH@DDBJEJ@HEJBLDHTBCH@LDFJH@BAHDDBJfJDCLDFALKD@BDDHTPANBBJB@BBJAB@BBDCBCBIAGDI@EFEBE@IAYDGFQ@OBCFIJCF@JDVFJLLRFJHBFO@aFYGNUDOHQTUPYZQFSAcEYACB@FDPEFIBGCKA@EYMNAKKKCICQAU@QAOIMGGIKCSBWOEMCYVmN_F[@oOKGDG@IB[IULAF@HA@KIYIW@ECCGSEGCIHKBWGEGEIYK[EIBKBofCHJLJDFJCHORO\\A\\BHBBB\\LHPEHEF@HFBHADGFBBTHDDBDGTILCJDFPBFBFDLBR@jKJA@RGJEDEFBVCTIFSBmIOGa]GMKEMAKBGJELSZMFaLaNMX@hAJGTIHQHGFGZGN[`OJUH]AUMQWU_M[Y_AOGME@GEWAYBQAOEM@EHCP@TCLORGX@ZO\\OCKIU_D_CKC]BWDUDCAKIOOI_IYWMAMD_ZQLeHULIBGBMAMBMFS@GAYH_BMBOHINOJI@SEqGmQIJ@RJPXLDHCJUHUAERMNSJUBSCOEGYCEGKCCE@C@@EEKE@ACGCCE[MECG@Cb@T@HCFQXAF@FBHHHDJ@PAJENGNOJEHCF@HANB^BT@DCDMDIAOEE@UDID@D@DDFDV@FCRDLDNAFCFMNADENAJDHHFJDDDD\\EHGDOFGDITAFLRBHGPCNAXIVKPENIJKT@DFPATSVCFI^GZ@TEhFVP^DJ@J@HKPAH@HDJbhFJFR@HCPBVADMTADBLHJDJEJKJIRAH@HDJLPDHATBPPPTb@LBJH\\@J@HCFYTGR@JDFFHdZJLDJBHAPBVCRB`ALCFSVAFBPFPJNBDCJCBOF_TcdKPcGJGH_NOJIHCHAH@HDHNHF@L@FCFELOFENCFBFBDJ@HERAJBHDH^`BLEHEBMAKIGMGEIAKDAD@D@DDFTNJJBHCJKLGFMDMBeBEBABCLDDLBVEJDJLRdH\\@H@FGFOBEBABAFDFNDHFHNB\\AHGFWLMB[@GBGDCBEH@DDFFD\\@LBFBNLDPHANCJGLOD@F@HDHFFBDAJEJBDANMDIJ@HDRFTAHAJID@T@NCTCJQDCDADD@FAF@DXJD@BAHKHAHBFGB@\\HRBBHNHR@PCRAPJDJ@FNRAN@`FPJJJHFDN@RCP@^DLDN@LGDGDOFSONEFEPiPONGPAJBHAVILA^BJD^HfPdFDVFD^FZHHLLL^EhOPBLDLHFH@BKT@PDFDBHAJCFE@OHK@AEGGAAA@A@EBA^DBDAJD@DBDBBBCF@JZ@@B@BFDBFHADB@JTAzFDGFE@ELEFG@CACKAEC@AACAGAODEACOGACCMASCCAQHAHEVMDGPGH@DFF@F@NGB@LJNDNHLAJAN@F@HED@NBJDHHF@BAAEHCBCEGBKCEBGFC@CFCNKLKFYFOBWHsRMR@LNRTJBbARDFC@IDGEICIBAZAHDLCP@DBLFFGLC@FHB@B@HCL@FLFB@BCHEFAfHBF@BIDABJLD@JCDBBFCFADDHVHHF^XhP"],"encodeOffsets":[[114089,37688]]},"properties":{"cp":[111.517973,36.08415],"name":"临汾市","childNum":1}},{"id":"141100","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@AECAGAIKCEFIA@GAGAEBE@@ABECAMBGAGEGBEMGCIBMAIHIBKG_CMEAEFQCIeaOOIEUA]OQEOGc[OCUAMAoAQCQIWIAUEEGCaGACBIKKAEHKPKMQEGAIBIDKHKDCHCBAHEFG@[DEFC@CBUDKLKFMFGFCTGFAJQEK@GJOBEACIGOCQKUGJERCHCBC@QDODOHGB@HBJJRFbATHL@PCNHD@HAHGJ@XN`AHFJRbJNALGPBNCPAH@DCCQBKPMLILCDAAIBGBATGT@DADENEHAJEJGFGDI@IDEPEbDXA\\@XCHBJFPFNAJEFECK@KDCLGBIAIFI@CHKNMFICOBC^HH@FEFMJQHEP@`NLDhANFDGPOLET@LBhLV@HCJATFB@^cDALDD@FKLGhGHEBGLEPABAACCABAHAEOEE@GDO@WBCZKHIHMHALIHSFARCFCFEFWHUFGTGR@P@hHPBDABEBU@GUSOKAEAKP@D@@CXAF@@ECIDIJAR@DCBC@MCA[ASG@CXQbGBCAI@AXMBEEQ@AEAAAGEQ@qKUMWSIKAYBQEMOOUOAIQWGCCG@ICGECUIECBE@CKKQKQGGEEGAEMKCIMECCCIKK@EQKCBIHUHAHBRCNCD]DGFGJBPABSHQAOACCCGMMQKCOBOACWEAACGGCM@CBCLEJG@CE@CJM@EYACHCBK@CACMC@A@ALADC@CGCQ@AGA@CAA[AC@AFM@MAAE@KVCDAFE@MBEFGCIQICGAGBgFWEOMQCKIMCgIcGKSEMIKIEKGEASEASaIEMCOIBSQEM@QJIHKBGECKOGUGUIOSIQGEGCIa@QC[ASAKKAIDKAGCECAE@OHC@GOAA[@EGGICYAAIAKBIDAD@NCDePWDMFcXGDKBGEGCGBMHEJ@NDHCBIByOPQLSN@HEFGLIFGHCDABIAUBMFCH@LGFAD@HHN@\\ODAACQKOAEAOQ[SQGQCYBOAYOCAAKCAoIKOCOACKE_AA@CDCBGCG@CIBMK@CMBMAKDSgO]WGEUGCGBCDEAECAIDC@IKBAJC@AAEeGEBGFADA@KE@EDK@G@AGA@CAAIDEHKECAO@KDGCYBABDJFJCH@JEDQCaBIAQSKMQ@QNGtAXEPEZKLMLED@DEDAHDFALFHADGDBFABE@GGICMAC@GFE@M@IBKBMGMCKIA@MHE@E@CEG@OHCHUNGFE@ABBRDDBTDNBDPHBDCFBPBHBD@BFDLBBD@DEHKF@FEFCHyESB@ICAGBAEEC@A@AY@@IDEAACACAC@BIAC]CAB@F@BBBHBFH@BGL@PEFIDGBCACE@OLS@AEGKGKCOAgP]FKKGKYG]EECCUcEeO]GIC]AKBUJGBIAOBMHOPOjEFMF
PETCPCHKHM@KC]CO@QDM@ECIGIIEO@_BMMQ@ECIOIQBODQ@MGAGQA[GA@EHGAGBGLABC@WI@CBE@ECCCBCDIRCBOBMDS@C@IJGBSBQEGCI@CJMNCBIAIFCBEAGEGCE@C@KPIHMDGBALDVHdDJJNDJBN@FENKTGNGJEFGB[JKJIPAJBFFDFD\\BLALAHC\\ULCR@NFDFBHADEFEBgDMHAFBHHHRFLB\\ALBJDNLT^VTFJPTRLhRFFHJDFCbBNDFHHpbZXPP~b^P^VRFNBRDLDFHFfAFBJDDF@H@JUXCJ@FBF`PJNDLBHCHIFYHODM@_DUFMLGNAVBRBNP^FbDJHFLDHBrBPDxFJDdBJBHDDDHTHNBF@HCPDdLTLNBHCZBDRJLHHLJJBHAHelGJ@HBZCTAFEHELAFBJDHDDPBR@HDJFHPAHYTQRKFQDkFKFiRKJEN@LHLRJNPRBLGJg^UJUF
Z]VINA\\QfW\\GDADBHEFCHIHepKbMTKHMFMJ]DYH]RGDKHGLCJ@LBJRXDF@FCHKTEDSHGJEV@L@HDPJT@L@LCNKV@PBJflBJALSbCNAR@ZBTBNHPHJNLRDhELBNHDFDVAV@NLlAZBTHPNNNFTBEZBRFPJNTRZdbJHLDfDXFHDHHDHBFANFVHNTVJ^H^FJLHTHdANCHAJGVKJ@JBjVHDFF@FGVAJDfGP@P@BTLF@JAR@LBJJDH@JDJ@NAJCL@RBDRRDLAJQ@WHCDENBDAFY^AH@PLNDJL`DHZNJHDFBFAFEJCN@NDJFHLJJHLBLJNTPMDE@K@G@CMKCIAIBCHGTE`DVAFCJMTWHEJAZ@RJTFXN`XTF`PD`XNHLDL`ARIDGLQJi@SBODKHGdKDEBG@KAQDMb{HGFCVAR@ZHhDXHP@DECQDI\\KHANMVC^BCLAJEFCAIDI@WFWHM\\[fWJIXSFV@ZCB@LDJLLHBLAPOJIXIJAPDNH^V`VRHJJfJfPXDdLPHRPJNRbFFTB^MJAVYXkLYDU_OMCMESMIEAGAGLK~mLKbYLELK@ECCBEBEFC@IEESMACFMDC@CDGHG@EGIAI@CFCLCLKJEPAPKCOLWGMCKFOHEZIBCAYBCOIGCUCQHG@eKWACCDQCYBQBMDKXQTEDEFUZO"],"encodeOffsets":[[114502,39132]]},"properties":{"cp":[111.134335,37.524366],"name":"吕梁市","childNum":1}}],"UTF8Encoding":true}
--------------------------------------------------------------------------------