Showing preview only (623K chars total). Download the full file or copy to clipboard to get everything.
Repository: RyanEdo/mini-metro-web
Branch: master
Commit: fdbd501c7a9f
Files: 104
Total size: 572.7 KB
Directory structure:
gitextract_0n7p8h2y/
├── .gitignore
├── .vscode/
│ └── settings.json
├── README-cn.md
├── README.md
├── package.json
├── public/
│ ├── beijing.json
│ ├── changsha.json
│ ├── guangzhou.json
│ ├── hongkong.json
│ ├── index.html
│ ├── manifest.json
│ ├── robots.txt
│ ├── shanghai.json
│ ├── shenzhen.json
│ └── tianjing.json
├── src/
│ ├── Common/
│ │ ├── AutoGrowthInput.scss
│ │ ├── AutoGrowthInput.tsx
│ │ ├── api.ts
│ │ ├── color.ts
│ │ ├── const.ts
│ │ ├── teyvat.ts
│ │ └── util.ts
│ ├── Data/
│ │ ├── Shape.ts
│ │ └── UserData.ts
│ ├── DataStructure/
│ │ ├── Bend.ts
│ │ ├── ConnectType.ts
│ │ ├── Direction.ts
│ │ ├── Display.ts
│ │ ├── Line.ts
│ │ ├── LineRecord.ts
│ │ ├── Mode.ts
│ │ ├── Point.ts
│ │ ├── Rail.ts
│ │ ├── RailPair.ts
│ │ ├── Station.ts
│ │ ├── Straight.ts
│ │ ├── Track.ts
│ │ └── Vector.ts
│ ├── Entrance/
│ │ ├── App.scss
│ │ ├── App.test.tsx
│ │ ├── App.tsx
│ │ ├── reportWebVitals.js
│ │ └── setupTests.js
│ ├── Grid/
│ │ └── Scale.ts
│ ├── Line/
│ │ ├── Handle.ts
│ │ └── LinePoints.ts
│ ├── Render/
│ │ ├── Card/
│ │ │ ├── Cards.scss
│ │ │ ├── Cards.tsx
│ │ │ ├── LineCard.scss
│ │ │ ├── LineCard.tsx
│ │ │ ├── StationCard.scss
│ │ │ └── StationCard.tsx
│ │ ├── Component/
│ │ │ └── LineRender.tsx
│ │ ├── Delete/
│ │ │ ├── DeleteConfirmation.scss
│ │ │ └── DeleteConfirmation.tsx
│ │ ├── ErrorFallback/
│ │ │ ├── ErrorFallback.scss
│ │ │ └── ErrorFallback.tsx
│ │ ├── Header/
│ │ │ ├── Component/
│ │ │ │ ├── OpacityControl.scss
│ │ │ │ ├── OpacityControl.tsx
│ │ │ │ ├── ShapeSelector.scss
│ │ │ │ └── ShapeSelector.tsx
│ │ │ ├── Menu.scss
│ │ │ └── Menu.tsx
│ │ ├── Layer/
│ │ │ ├── DevelopLayer.scss
│ │ │ ├── DevelopLayer.tsx
│ │ │ ├── RenderLayer.scss
│ │ │ ├── RenderLayer.tsx
│ │ │ ├── ScaleLayer.scss
│ │ │ └── ScaleLayer.tsx
│ │ └── Recovery/
│ │ ├── Recovery.scss
│ │ └── Recovery.tsx
│ ├── Resource/
│ │ ├── Icon/
│ │ │ ├── airwave.tsx
│ │ │ ├── arrow.tsx
│ │ │ ├── auto.tsx
│ │ │ ├── bolt.tsx
│ │ │ ├── edit.tsx
│ │ │ ├── expand.tsx
│ │ │ ├── export.tsx
│ │ │ ├── finished.tsx
│ │ │ ├── goto.tsx
│ │ │ ├── infinity.tsx
│ │ │ ├── pageview.tsx
│ │ │ ├── plus.tsx
│ │ │ ├── shrink.tsx
│ │ │ └── touch.tsx
│ │ └── Shape/
│ │ └── shape.tsx
│ ├── Style/
│ │ └── Cursor.ts
│ ├── WelcomeTour/
│ │ ├── Driver.ts
│ │ ├── HightLights.tsx
│ │ ├── Steps/
│ │ │ ├── common-operation.ts
│ │ │ ├── export.ts
│ │ │ ├── line-card.ts
│ │ │ ├── quick-edit.ts
│ │ │ ├── skip.ts
│ │ │ ├── station-card.ts
│ │ │ └── tag-setting.ts
│ │ ├── WelcomeTour.scss
│ │ └── WelcomeTour.tsx
│ ├── i18n/
│ │ ├── config.ts
│ │ └── locales/
│ │ ├── en.json
│ │ └── zh.json
│ ├── index.js
│ └── types/
│ └── svg.d.ts
└── tsconfig.json
================================================
FILE CONTENTS
================================================
================================================
FILE: .gitignore
================================================
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
# dependencies
/node_modules
/.pnp
.pnp.js
# testing
/coverage
# production
/build
# misc
.DS_Store
.env.local
.env.development.local
.env.test.local
.env.production.local
npm-debug.log*
yarn-debug.log*
yarn-error.log*
================================================
FILE: .vscode/settings.json
================================================
{
"i18n-ally.localesPaths": ["src/i18n/locales"],
"i18n-ally.extract.autoDetect": true,
"i18n-ally.keystyle": "nested",
"i18n-ally.sourceLanguage": "zh",
"i18n-ally.displayLanguage": "zh",
"i18n-ally.extract.ignored": [
"“\n ",
"”\n ",
"”\n ",
"\n 重做\n ",
".title .click-panel",
".title .click-panel"
],
"i18n-ally.extract.ignoredByFiles": {
"src/WelcomeTour/WelcomeTour.tsx": [
".welcome-tour .body"
]
}
}
================================================
FILE: README-cn.md
================================================
<img style="border-radius: 5px" width="50" src="https://mini-metro-web.gitlab.io/app-icon.png">
# Mini Metro Web
迷你地铁地图构建工具: `创建迷你地铁风格的地铁线路图`。
支持**无限**站点与线路,支持**多次穿过**同一站点,设置**背景图**,设置**支线**,支持**导出图片**。
[https://mini-metro-web.gitlab.io/](https://mini-metro-web.gitlab.io/)
[English Version](https://github.com/RyanEdo/mini-metro-web/blob/master/README.md)
## 更新日志
#### 1.2.1 `修复添加站点时,连续双击站点导致的站点重复添加报错`
#### 1.2.0 `支持英文`
#### 1.1.1 `增加更多站点形状,新增站点时支持修改默认形状`
#### 1.1.0 `支持修改背景颜色与背景图`
#### 1.0.2 `加入刷新后快速恢复通知`
#### 1.0.1 `加入报错指引`
## 基本用法
### 菜单
点击左上角标题进入菜单,点击任意空白处退出菜单
### 创建站点
1. 菜单 => 站点 => 添加站点
2. 点击空白处添加
### 创建线路
1. 点击任意站点
2. 选择 操作 => 以此为起点新建线路
3. 按照提示依次点击站点添加到线路
### 删除站点/线路
1. 点击站点/线路
2. 选择 操作 => 删除
### 设置背景图
1. 点击线路 => 设定背景
2. 选择 `纯白` / `浅黄` / `取色器` 设定背景颜色
3. 选择 `导入背景图` 导入图片
4. 导入图片后,进入修改图片页面,可以拖动修改图片位置,也可以修改图片透明度
### 导出图片/文件
菜单 => 作为图片/文件导出
## 进阶用法
请参考应用内教程或[视频教程](https://space.bilibili.com/8217854)
## 构建
和大部分react项目一样,先运行`npm i`,然后:
### `npm start`
本地运行
打开 [http://localhost:3000](http://localhost:3000) 浏览器中查看.
### `npm run build`
打包成静态文件
### 注意
##### 建议安装 `i18n-ally`[VS Code 插件地址](https://marketplace.visualstudio.com/items?itemName=Lokalise.i18n-ally) 。项目有部分字符串由该插件生成,安装后能自动在字符串位置显示原文。
================================================
FILE: README.md
================================================
<img style="border-radius: 5px" width="50" src="https://mini-metro-web.gitlab.io/app-icon.png">
# Mini Metro Web
Mini Metro Map Building Tool: `Create mini metro-style subway maps`.
Supports **unlimited** stations and lines, supports **multiple crossings** of the same station, set **background images**, set **sub lines**, and supports **exporting images**.
https://mini-metro-web.gitlab.io/
[中文文档](https://github.com/RyanEdo/mini-metro-web/blob/master/README-cn.md)
## Changelog
#### 1.2.1 `fix adding duplicate stations when double clicking at adding station mode`
#### 1.2.0 `Support for English`
#### 1.1.1 `Added more station shapes, support for modifying default shapes when adding new stations`
#### 1.1.0 `Support for changing background color and background image`
#### 1.0.2 `Added quick recovery notification after refresh`
#### 1.0.1 `Added error guidance`
## Basic Usage
### Menu
Click the title in the top left corner to enter the menu, click any blank area to exit the menu.
### Create Station
1. Menu => Station => Add Station
2. Click on a blank area to add
### Create Line
1. Click any station
2. Select Action => Create new line from this point
3. Follow the prompts to click stations in sequence to add them to the line
### Delete Station/Line
1. Click the station/line
2. Select Action => Delete
### Set Background Image
1. Click the line => Set background
2. Choose `Pure White` / `Light Yellow` / `Color Picker` to set the background color
3. Choose `Import Background Image` to import an image
4. After importing the image, enter the image editing page, where you can drag to adjust the image position and modify the image transparency
### Export Image/File
Menu => Export as image/file
## Advanced Usage
Please refer to the in-app tutorial or video tutorial
## Build
Like most React projects, first run `npm i`, then:
### `npm start`
Run locally
Open http://localhost:3000 to view in the browser.
### `npm run build`
Build into static files
### Note
##### It is recommended to install the `i18n-ally` VS Code plugin. Some strings in the project are generated by this plugin, and after installation, the original text will be automatically displayed at the string location.
================================================
FILE: package.json
================================================
{
"name": "mini-metro-web",
"version": "1.2.1",
"private": true,
"dependencies": {
"@svgr/webpack": "^8.1.0",
"@testing-library/jest-dom": "^5.16.5",
"@testing-library/react": "^13.4.0",
"@testing-library/user-event": "^13.5.0",
"@types/downloadjs": "^1.4.6",
"classnames": "^2.5.1",
"downloadjs": "^1.4.7",
"driver.js": "^1.3.1",
"html-to-image": "^1.11.11",
"i18next": "^23.16.3",
"i18next-browser-languagedetector": "^8.0.0",
"moment": "^2.30.1",
"qrcode": "^1.5.3",
"react": "^18.2.0",
"react-dom": "^18.2.0",
"react-error-boundary": "^4.0.13",
"react-i18next": "^15.1.0",
"react-scripts": "5.0.1",
"sass": "^1.62.0",
"ua-parser-js": "^1.0.37",
"web-vitals": "^2.1.4"
},
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject"
},
"eslintConfig": {
"extends": [
"react-app",
"react-app/jest"
]
},
"browserslist": {
"production": [
">0.2%",
"not dead",
"not op_mini all"
],
"development": [
"last 1 chrome version",
"last 1 firefox version",
"last 1 safari version"
]
},
"devDependencies": {
"@types/qrcode": "^1.5.5",
"@types/ua-parser-js": "^0.7.39"
}
}
================================================
FILE: public/beijing.json
================================================
{"title":"北京","stations":[{"stationId":1,"stationName":"苹果园","position":[2056,3189],"shape":"cicle","lineIds":[1,6]},{"stationId":2,"stationName":"金安桥","position":[1892,3213],"shape":"cicle","lineIds":[1,6,11]},{"stationId":3,"stationName":"四道桥","position":[1606,3286],"shape":"cicle","lineIds":[1]},{"stationId":4,"stationName":"桥户营","position":[1524,3322],"shape":"cicle","lineIds":[1]},{"stationId":5,"stationName":"上岸","position":[1488,3395],"shape":"cicle","lineIds":[1]},{"stationId":6,"stationName":"栗园庄","position":[1499,3488],"shape":"cicle","lineIds":[1]},{"stationId":7,"stationName":"小园","position":[1410,3542],"shape":"cicle","lineIds":[1],"tagDirection":3},{"stationId":8,"stationName":"石厂","position":[1269,3552],"shape":"cicle","lineIds":[1]},{"stationId":9,"stationName":"古城","position":[2169,3372],"shape":"cicle","lineIds":[2]},{"stationId":10,"stationName":"八角游乐园","position":[2393,3372],"shape":"cicle","lineIds":[2]},{"stationId":11,"stationName":"八宝山","position":[2626,3372],"shape":"cicle","lineIds":[2]},{"stationId":12,"stationName":"玉泉路","position":[2795,3372],"shape":"cicle","lineIds":[2]},{"stationId":13,"stationName":"五棵松","position":[3006,3372],"shape":"cicle","lineIds":[2]},{"stationId":14,"stationName":"万寿路","position":[3214,3372],"shape":"cicle","lineIds":[2]},{"stationId":15,"stationName":"公主坟","position":[3365,3372],"shape":"cicle","lineIds":[2,10]},{"stationId":16,"stationName":"军事博物馆","position":[3481,3372],"shape":"cicle","lineIds":[2,9]},{"stationId":17,"stationName":"木樨地","position":[3642,3372],"shape":"cicle","lineIds":[2,15],"tagDirection":3},{"stationId":18,"stationName":"南礼士路","position":[3792,3374],"shape":"cicle","lineIds":[2],"tagDirection":7},{"stationId":19,"stationName":"复兴门","position":[3835,3374],"shape":"cicle","lineIds":[2,3],"tagDirection":5},{"stationId":20,"stationName":"西单","position":[4007,3372],"shape":"cicle","lineIds":[2,4]},{"stationId":21,"stationName":"天安门西","position":[4179,3372],"shape":"cicle","lineIds":[2],"tagDirection":0},{"stationId":22,"stationName":"天安门东","position":[4278,3368],"shape":"cicle","lineIds":[2],"tagDirection":0},{"stationId":23,"stationName":"王府井","position":[4382,3366],"shape":"cicle","lineIds":[2,8],"tagDirection":4},{"stationId":24,"stationName":"东单","position":[4451,3363],"shape":"cicle","lineIds":[2,5],"tagDirection":1},{"stationId":25,"stationName":"建国门","position":[4624,3361],"shape":"cicle","lineIds":[2,3],"tagDirection":1},{"stationId":26,"stationName":"永安里","position":[4771,3362],"shape":"cicle","lineIds":[2]},{"stationId":27,"stationName":"国贸","position":[4884,3355],"shape":"cicle","lineIds":[2,10],"tagDirection":1},{"stationId":28,"stationName":"大望路","position":[5024,3363],"shape":"cicle","lineIds":[2,13],"tagDirection":1},{"stationId":29,"stationName":"四惠","position":[5221,3359],"shape":"cicle","lineIds":[2]},{"stationId":30,"stationName":"四惠东","position":[5423,3361],"shape":"cicle","lineIds":[2]},{"stationId":31,"stationName":"高碑店","position":[5580,3352],"shape":"cicle","lineIds":[2]},{"stationId":32,"stationName":"传媒大学","position":[5812,3354],"shape":"cicle","lineIds":[2]},{"stationId":33,"stationName":"双桥","position":[6034,3345],"shape":"cicle","lineIds":[2]},{"stationId":34,"stationName":"管庄","position":[6256,3355],"shape":"cicle","lineIds":[2]},{"stationId":35,"stationName":"八里桥","position":[6453,3385],"shape":"cicle","lineIds":[2]},{"stationId":36,"stationName":"通州北苑","position":[6639,3408],"shape":"cicle","lineIds":[2]},{"stationId":37,"stationName":"果园","position":[6732,3513],"shape":"cicle","lineIds":[2]},{"stationId":38,"stationName":"九棵树","position":[6841,3543],"shape":"cicle","lineIds":[2]},{"stationId":39,"stationName":"梨园","position":[6953,3609],"shape":"cicle","lineIds":[2]},{"stationId":40,"stationName":"临河里","position":[7054,3691],"shape":"cicle","lineIds":[2]},{"stationId":41,"stationName":"土桥","position":[7130,3727],"shape":"cicle","lineIds":[2]},{"stationId":42,"stationName":"花庄","position":[7221,3879],"shape":"cicle","lineIds":[2,7]},{"stationId":43,"stationName":"环球度假区","position":[7057,3955],"shape":"cicle","lineIds":[2,7]},{"stationId":44,"stationName":"积水潭","position":[3997,2960],"shape":"cicle","lineIds":[3,18],"tagDirection":1},{"stationId":45,"stationName":"鼓楼大街","position":[4204,2957],"shape":"cicle","lineIds":[3,8]},{"stationId":46,"stationName":"安定门","position":[4348,2954],"shape":"cicle","lineIds":[3]},{"stationId":47,"stationName":"雍和宫","position":[4437,2953],"shape":"cicle","lineIds":[3,5]},{"stationId":48,"stationName":"东直门","position":[4624,3030],"shape":"cicle","lineIds":[3,12,22],"tagDirection":7},{"stationId":49,"stationName":"东四十条","position":[4607,3108],"shape":"cicle","lineIds":[3],"tagDirection":3},{"stationId":50,"stationName":"朝阳门","position":[4612,3201],"shape":"cicle","lineIds":[3,6],"tagDirection":7},{"stationId":51,"stationName":"北京站","position":[4539,3396],"shape":"cicle","lineIds":[3]},{"stationId":52,"stationName":"崇文门","position":[4437,3436],"shape":"cicle","lineIds":[3,5],"tagDirection":5},{"stationId":53,"stationName":"前门","position":[4245,3444],"shape":"cicle","lineIds":[3,8],"tagDirection":5},{"stationId":54,"stationName":"和平门","position":[4108,3445],"shape":"cicle","lineIds":[3],"tagDirection":4},{"stationId":55,"stationName":"宣武门","position":[4009,3449],"shape":"cicle","lineIds":[3,4],"tagDirection":5},{"stationId":56,"stationName":"长椿街","position":[3900,3452],"shape":"cicle","lineIds":[3]},{"stationId":57,"stationName":"阜成门","position":[3826,3209],"shape":"cicle","lineIds":[3]},{"stationId":58,"stationName":"车公庄","position":[3810,3122],"shape":"cicle","lineIds":[3,6]},{"stationId":59,"stationName":"西直门","position":[3820,3041],"shape":"cicle","lineIds":[3,4,12]},{"stationId":60,"stationName":"天宫院","position":[3465,5743],"shape":"cicle","lineIds":[4]},{"stationId":61,"stationName":"生物医药基地","position":[3483,5581],"shape":"cicle","lineIds":[4]},{"stationId":62,"stationName":"义和庄","position":[3457,5322],"shape":"cicle","lineIds":[4]},{"stationId":63,"stationName":"黄村火车站","position":[3592,5217],"shape":"cicle","lineIds":[4]},{"stationId":64,"stationName":"黄村西大街","position":[3592,5129],"shape":"cicle","lineIds":[4]},{"stationId":65,"stationName":"清源路","position":[3591,5019],"shape":"cicle","lineIds":[4]},{"stationId":66,"stationName":"枣园","position":[3588,4912],"shape":"cicle","lineIds":[4]},{"stationId":67,"stationName":"高米店南","position":[3582,4811],"shape":"cicle","lineIds":[4]},{"stationId":68,"stationName":"高米店北","position":[3574,4711],"shape":"cicle","lineIds":[4]},{"stationId":69,"stationName":"西红门","position":[3553,4548],"shape":"cicle","lineIds":[4]},{"stationId":70,"stationName":"新宫","position":[3922,4320],"shape":"cicle","lineIds":[4,18]},{"stationId":71,"stationName":"公益西桥","position":[3974,4085],"shape":"cicle","lineIds":[4],"tagDirection":2},{"stationId":72,"stationName":"角门西","position":[3978,3988],"shape":"cicle","lineIds":[4,10]},{"stationId":73,"stationName":"马家堡","position":[3980,3915],"shape":"cicle","lineIds":[4]},{"stationId":74,"stationName":"北京南站","position":[4056,3796],"shape":"cicle","lineIds":[4,13],"tagDirection":1},{"stationId":75,"stationName":"陶然亭","position":[4010,3662],"shape":"cicle","lineIds":[4]},{"stationId":76,"stationName":"菜市口","position":[4010,3553],"shape":"cicle","lineIds":[4,7],"tagDirection":5},{"stationId":77,"stationName":"灵境胡同","position":[4004,3287],"shape":"cicle","lineIds":[4]},{"stationId":78,"stationName":"西四","position":[3999,3204],"shape":"cicle","lineIds":[4]},{"stationId":79,"stationName":"平安里","position":[3995,3107],"shape":"cicle","lineIds":[4,6,18]},{"stationId":80,"stationName":"新街口","position":[3943,3040],"shape":"cicle","lineIds":[4],"tagDirection":7},{"stationId":81,"stationName":"动物园","position":[3656,3064],"shape":"cicle","lineIds":[4],"tagDirection":1},{"stationId":82,"stationName":"国家图书馆","position":[3518,3015],"shape":"cicle","lineIds":[4,9,15]},{"stationId":83,"stationName":"魏公村","position":[3498,2867],"shape":"cicle","lineIds":[4]},{"stationId":84,"stationName":"人民大学","position":[3480,2777],"shape":"cicle","lineIds":[4]},{"stationId":85,"stationName":"海淀黄庄","position":[3442,2686],"shape":"cicle","lineIds":[4,10],"tagDirection":5},{"stationId":86,"stationName":"中关村","position":[3431,2606],"shape":"cicle","lineIds":[4]},{"stationId":87,"stationName":"北京大学东门","position":[3424,2524],"shape":"cicle","lineIds":[4]},{"stationId":88,"stationName":"圆明园","position":[3368,2450],"shape":"cicle","lineIds":[4]},{"stationId":89,"stationName":"西苑","position":[3175,2464],"shape":"cicle","lineIds":[4,15]},{"stationId":90,"stationName":"北宫门","position":[3043,2423],"shape":"cicle","lineIds":[4]},{"stationId":91,"stationName":"安河桥北","position":[2966,2324],"shape":"cicle","lineIds":[4]},{"stationId":92,"stationName":"宋家庄","position":[4550,3988],"shape":"cicle","lineIds":[5,10,25],"tagDirection":5},{"stationId":93,"stationName":"刘家窑","position":[4487,3871],"shape":"cicle","lineIds":[5]},{"stationId":94,"stationName":"蒲黄榆","position":[4497,3790],"shape":"cicle","lineIds":[5,13],"tagDirection":1},{"stationId":95,"stationName":"天坛东门","position":[4474,3621],"shape":"cicle","lineIds":[5]},{"stationId":96,"stationName":"磁器口","position":[4465,3515],"shape":"cicle","lineIds":[5,7],"tagDirection":5},{"stationId":97,"stationName":"灯市口","position":[4444,3275],"shape":"cicle","lineIds":[5]},{"stationId":98,"stationName":"东四","position":[4441,3203],"shape":"cicle","lineIds":[5,6],"tagDirection":3},{"stationId":99,"stationName":"张自忠路","position":[4438,3110],"shape":"cicle","lineIds":[5]},{"stationId":100,"stationName":"北新桥","position":[4435,3038],"shape":"cicle","lineIds":[5,22]},{"stationId":101,"stationName":"和平里北街","position":[4451,2859],"shape":"cicle","lineIds":[5]},{"stationId":102,"stationName":"和平西桥","position":[4446,2762],"shape":"cicle","lineIds":[5]},{"stationId":103,"stationName":"惠新西街南口","position":[4441,2675],"shape":"cicle","lineIds":[5,10],"tagDirection":1},{"stationId":104,"stationName":"惠新西街北口","position":[4436,2568],"shape":"cicle","lineIds":[5]},{"stationId":105,"stationName":"大屯路东","position":[4440,2408],"shape":"cicle","lineIds":[5,14],"tagDirection":7},{"stationId":106,"stationName":"北苑路北","position":[4447,2142],"shape":"cicle","lineIds":[5]},{"stationId":107,"stationName":"立水桥南","position":[4411,2027],"shape":"cicle","lineIds":[5]},{"stationId":108,"stationName":"立水桥","position":[4390,1916],"shape":"cicle","lineIds":[5,12]},{"stationId":109,"stationName":"天通苑南","position":[4393,1782],"shape":"cicle","lineIds":[5]},{"stationId":110,"stationName":"天通苑","position":[4394,1694],"shape":"cicle","lineIds":[5]},{"stationId":111,"stationName":"天通苑北","position":[4395,1610],"shape":"cicle","lineIds":[5]},{"stationId":112,"stationName":"潞城","position":[7740,3420],"shape":"cicle","lineIds":[6]},{"stationId":113,"stationName":"东夏园","position":[7605,3415],"shape":"cicle","lineIds":[6],"tagDirection":0},{"stationId":114,"stationName":"郝家府","position":[7444,3414],"shape":"cicle","lineIds":[6]},{"stationId":115,"stationName":"北运河东","position":[7337,3414],"shape":"cicle","lineIds":[6],"tagDirection":0},{"stationId":116,"stationName":"北运河西","position":[7150,3416],"shape":"cicle","lineIds":[6]},{"stationId":117,"stationName":"通州北关","position":[6877,3267],"shape":"cicle","lineIds":[6]},{"stationId":118,"stationName":"物资学院路","position":[6659,3178],"shape":"cicle","lineIds":[6]},{"stationId":119,"stationName":"草房","position":[6422,3201],"shape":"cicle","lineIds":[6]},{"stationId":120,"stationName":"常营","position":[6263,3189],"shape":"cicle","lineIds":[6],"tagDirection":0},{"stationId":121,"stationName":"黄渠","position":[6049,3204],"shape":"cicle","lineIds":[6],"tagDirection":0},{"stationId":122,"stationName":"褡裢坡","position":[5906,3206],"shape":"cicle","lineIds":[6]},{"stationId":123,"stationName":"青年路","position":[5440,3215],"shape":"cicle","lineIds":[6]},{"stationId":124,"stationName":"十里堡","position":[5286,3215],"shape":"cicle","lineIds":[6]},{"stationId":125,"stationName":"金台路","position":[5047,3211],"shape":"cicle","lineIds":[6,13],"tagDirection":7},{"stationId":126,"stationName":"呼家楼","position":[4882,3213],"shape":"cicle","lineIds":[6,10],"tagDirection":7},{"stationId":127,"stationName":"东大桥","position":[4783,3216],"shape":"cicle","lineIds":[6]},{"stationId":128,"stationName":"南锣鼓巷","position":[4308,3108],"shape":"cicle","lineIds":[6,8],"tagDirection":1},{"stationId":129,"stationName":"北海北","position":[4134,3114],"shape":"cicle","lineIds":[6]},{"stationId":130,"stationName":"车公庄西","position":[3707,3122],"shape":"cicle","lineIds":[6],"tagDirection":4},{"stationId":131,"stationName":"二里沟","position":[3603,3122],"shape":"cicle","lineIds":[6,15]},{"stationId":132,"stationName":"白石桥南","position":[3523,3116],"shape":"cicle","lineIds":[6,9],"tagDirection":7},{"stationId":133,"stationName":"花园桥","position":[3373,3123],"shape":"cicle","lineIds":[6]},{"stationId":134,"stationName":"慈寿寺","position":[3221,3114],"shape":"cicle","lineIds":[6,10],"tagDirection":5},{"stationId":135,"stationName":"海淀五路居","position":[3031,3120],"shape":"cicle","lineIds":[6]},{"stationId":136,"stationName":"田村","position":[2795,3151],"shape":"cicle","lineIds":[6]},{"stationId":137,"stationName":"廖公庄","position":[2539,3122],"shape":"cicle","lineIds":[6]},{"stationId":138,"stationName":"西黄村","position":[2335,3110],"shape":"cicle","lineIds":[6]},{"stationId":139,"stationName":"杨庄","position":[2136,3168],"shape":"cicle","lineIds":[6],"tagDirection":3},{"stationId":140,"stationName":"高楼金","position":[7109,3815],"shape":"cicle","lineIds":[7]},{"stationId":141,"stationName":"群芳","position":[6974,3811],"shape":"cicle","lineIds":[7]},{"stationId":142,"stationName":"万盛东","position":[6840,3811],"shape":"cicle","lineIds":[7],"tagDirection":0},{"stationId":143,"stationName":"万盛西","position":[6588,3813],"shape":"cicle","lineIds":[7]},{"stationId":144,"stationName":"黑庄户","position":[6257,3859],"shape":"cicle","lineIds":[7]},{"stationId":145,"stationName":"郎辛庄","position":[5964,3881],"shape":"cicle","lineIds":[7]},{"stationId":146,"stationName":"黄厂","position":[5804,3956],"shape":"cicle","lineIds":[7]},{"stationId":147,"stationName":"焦化厂","position":[5639,3891],"shape":"cicle","lineIds":[7]},{"stationId":148,"stationName":"双合","position":[5534,3849],"shape":"cicle","lineIds":[7]},{"stationId":149,"stationName":"垡头","position":[5384,3839],"shape":"cicle","lineIds":[7]},{"stationId":150,"stationName":"欢乐谷景区","position":[5267,3781],"shape":"cicle","lineIds":[7]},{"stationId":151,"stationName":"南楼梓庄","position":[5277,3700],"shape":"cicle","lineIds":[7]},{"stationId":152,"stationName":"化工","position":[5300,3573],"shape":"cicle","lineIds":[7]},{"stationId":153,"stationName":"百子湾","position":[5244,3521],"shape":"cicle","lineIds":[7]},{"stationId":154,"stationName":"大郊亭","position":[5145,3514],"shape":"cicle","lineIds":[7]},{"stationId":155,"stationName":"九龙山","position":[5055,3514],"shape":"cicle","lineIds":[7,13],"tagDirection":7},{"stationId":156,"stationName":"双井","position":[4884,3511],"shape":"cicle","lineIds":[7,10],"tagDirection":7},{"stationId":157,"stationName":"广渠门外","position":[4756,3510],"shape":"cicle","lineIds":[7]},{"stationId":158,"stationName":"广渠门内","position":[4605,3510],"shape":"cicle","lineIds":[7],"tagDirection":0},{"stationId":159,"stationName":"桥湾","position":[4351,3519],"shape":"cicle","lineIds":[7]},{"stationId":160,"stationName":"珠市口","position":[4250,3533],"shape":"cicle","lineIds":[7,8]},{"stationId":161,"stationName":"虎坊桥","position":[4112,3551],"shape":"cicle","lineIds":[7],"tagDirection":3},{"stationId":162,"stationName":"广安门内","position":[3848,3552],"shape":"cicle","lineIds":[7]},{"stationId":163,"stationName":"达官营","position":[3622,3547],"shape":"cicle","lineIds":[7,15]},{"stationId":164,"stationName":"湾子","position":[3544,3547],"shape":"cicle","lineIds":[7]},{"stationId":165,"stationName":"北京西站","position":[3478,3499],"shape":"cicle","lineIds":[7,9],"tagDirection":1},{"stationId":166,"stationName":"瀛海","position":[4756,4839],"shape":"cicle","lineIds":[8]},{"stationId":167,"stationName":"德茂","position":[4681,4720],"shape":"cicle","lineIds":[8]},{"stationId":168,"stationName":"五福堂","position":[4505,4596],"shape":"cicle","lineIds":[8]},{"stationId":169,"stationName":"火箭万源","position":[4452,4453],"shape":"cicle","lineIds":[8]},{"stationId":170,"stationName":"东高地","position":[4360,4396],"shape":"cicle","lineIds":[8]},{"stationId":171,"stationName":"和义","position":[4287,4298],"shape":"cicle","lineIds":[8]},{"stationId":172,"stationName":"大红门南","position":[4276,4079],"shape":"cicle","lineIds":[8]},{"stationId":173,"stationName":"海户屯","position":[4269,3928],"shape":"cicle","lineIds":[8]},{"stationId":174,"stationName":"木樨园","position":[4264,3854],"shape":"cicle","lineIds":[8]},{"stationId":175,"stationName":"永定门外","position":[4260,3772],"shape":"cicle","lineIds":[8,13]},{"stationId":176,"stationName":"天桥","position":[4253,3627],"shape":"cicle","lineIds":[8]},{"stationId":177,"stationName":"金鱼胡同","position":[4378,3292],"shape":"cicle","lineIds":[8],"tagDirection":6},{"stationId":178,"stationName":"中国美术馆","position":[4374,3209],"shape":"cicle","lineIds":[8],"tagDirection":6},{"stationId":179,"stationName":"什刹海","position":[4228,3070],"shape":"cicle","lineIds":[8],"tagDirection":1},{"stationId":180,"stationName":"安德里北街","position":[4218,2874],"shape":"cicle","lineIds":[8]},{"stationId":181,"stationName":"安华桥","position":[4213,2761],"shape":"cicle","lineIds":[8]},{"stationId":182,"stationName":"北土城","position":[4208,2677],"shape":"cicle","lineIds":[8,10],"tagDirection":1},{"stationId":183,"stationName":"奥体中心","position":[4204,2588],"shape":"cicle","lineIds":[8]},{"stationId":184,"stationName":"奥林匹克公园","position":[4184,2424],"shape":"cicle","lineIds":[8,14],"tagDirection":5},{"stationId":185,"stationName":"森林公园南门","position":[4192,2345],"shape":"cicle","lineIds":[8]},{"stationId":186,"stationName":"林萃桥","position":[3996,2227],"shape":"cicle","lineIds":[8]},{"stationId":187,"stationName":"永泰庄","position":[3812,2069],"shape":"cicle","lineIds":[8],"tagDirection":1},{"stationId":188,"stationName":"西小口","position":[3782,1978],"shape":"cicle","lineIds":[8]},{"stationId":189,"stationName":"育新","position":[3739,1846],"shape":"cicle","lineIds":[8]},{"stationId":190,"stationName":"霍营","position":[3869,1728],"shape":"cicle","lineIds":[8,12]},{"stationId":191,"stationName":"回龙观东大街","position":[3896,1634],"shape":"cicle","lineIds":[8]},{"stationId":192,"stationName":"平西府","position":[3770,1540],"shape":"cicle","lineIds":[8]},{"stationId":193,"stationName":"育知路","position":[3536,1568],"shape":"cicle","lineIds":[8]},{"stationId":194,"stationName":"朱辛庄","position":[3403,1403],"shape":"cicle","lineIds":[8,19]},{"stationId":195,"stationName":"郭公庄","position":[3285,4303],"shape":"cicle","lineIds":[9,21]},{"stationId":196,"stationName":"丰台科技园","position":[3238,4194],"shape":"cicle","lineIds":[9]},{"stationId":197,"stationName":"科怡路","position":[3240,4121],"shape":"cicle","lineIds":[9]},{"stationId":198,"stationName":"丰台南路","position":[3232,4035],"shape":"cicle","lineIds":[9,15]},{"stationId":199,"stationName":"丰台东大街","position":[3205,3895],"shape":"cicle","lineIds":[9]},{"stationId":200,"stationName":"七里庄","position":[3209,3776],"shape":"cicle","lineIds":[9,13]},{"stationId":201,"stationName":"六里桥","position":[3294,3644],"shape":"cicle","lineIds":[9,10]},{"stationId":202,"stationName":"六里桥东","position":[3417,3577],"shape":"cicle","lineIds":[9]},{"stationId":203,"stationName":"白堆子","position":[3524,3208],"shape":"cicle","lineIds":[9],"tagDirection":6},{"stationId":204,"stationName":"巴沟","position":[3200,2702],"shape":"cicle","lineIds":[10,23],"tagDirection":6},{"stationId":205,"stationName":"苏州街","position":[3329,2690],"shape":"cicle","lineIds":[10,15],"tagDirection":5},{"stationId":206,"stationName":"知春里","position":[3553,2683],"shape":"cicle","lineIds":[10]},{"stationId":207,"stationName":"知春路","position":[3666,2681],"shape":"cicle","lineIds":[10,12]},{"stationId":208,"stationName":"西土城","position":[3809,2683],"shape":"cicle","lineIds":[10,19],"tagDirection":1},{"stationId":209,"stationName":"牡丹园","position":[3964,2680],"shape":"cicle","lineIds":[10,18],"tagDirection":1},{"stationId":210,"stationName":"健德门","position":[4080,2679],"shape":"cicle","lineIds":[10],"tagDirection":1},{"stationId":211,"stationName":"安贞门","position":[4326,2676],"shape":"cicle","lineIds":[10],"tagDirection":1},{"stationId":212,"stationName":"芍药居","position":[4625,2670],"shape":"cicle","lineIds":[10,12]},{"stationId":213,"stationName":"太阳宫","position":[4749,2709],"shape":"cicle","lineIds":[10,17]},{"stationId":214,"stationName":"三元桥","position":[4836,2831],"shape":"cicle","lineIds":[10,22]},{"stationId":215,"stationName":"亮马桥","position":[4884,2952],"shape":"cicle","lineIds":[10]},{"stationId":216,"stationName":"农业展览馆","position":[4883,3033],"shape":"cicle","lineIds":[10],"tagDirection":2},{"stationId":217,"stationName":"团结湖","position":[4884,3109],"shape":"cicle","lineIds":[10],"tagDirection":2},{"stationId":218,"stationName":"金台夕照","position":[4883,3278],"shape":"cicle","lineIds":[10]},{"stationId":219,"stationName":"劲松","position":[4879,3602],"shape":"cicle","lineIds":[10]},{"stationId":220,"stationName":"潘家园","position":[4875,3692],"shape":"cicle","lineIds":[10]},{"stationId":221,"stationName":"十里河","position":[4847,3785],"shape":"cicle","lineIds":[10,13,16],"tagDirection":1},{"stationId":222,"stationName":"分钟寺","position":[4806,3924],"shape":"cicle","lineIds":[10]},{"stationId":223,"stationName":"成寿寺","position":[4741,3987],"shape":"cicle","lineIds":[10],"tagDirection":7},{"stationId":224,"stationName":"石榴庄","position":[4407,3987],"shape":"cicle","lineIds":[10],"tagDirection":4},{"stationId":225,"stationName":"大红门","position":[4258,3992],"shape":"cicle","lineIds":[10],"tagDirection":5},{"stationId":226,"stationName":"角门东","position":[4123,3995],"shape":"cicle","lineIds":[10],"tagDirection":4},{"stationId":227,"stationName":"草桥","position":[3780,3988],"shape":"cicle","lineIds":[10,18,20]},{"stationId":228,"stationName":"纪家庙","position":[3600,4002],"shape":"cicle","lineIds":[10]},{"stationId":229,"stationName":"首经贸","position":[3468,4002],"shape":"cicle","lineIds":[10,21]},{"stationId":230,"stationName":"丰台站","position":[3311,3944],"shape":"cicle","lineIds":[10,15]},{"stationId":231,"stationName":"泥洼","position":[3308,3860],"shape":"cicle","lineIds":[10]},{"stationId":232,"stationName":"西局","position":[3307,3779],"shape":"cicle","lineIds":[10,13],"tagDirection":1},{"stationId":233,"stationName":"莲花桥","position":[3370,3468],"shape":"cicle","lineIds":[10]},{"stationId":234,"stationName":"西钓鱼台","position":[3247,3211],"shape":"cicle","lineIds":[10]},{"stationId":235,"stationName":"车道沟","position":[3204,2967],"shape":"cicle","lineIds":[10]},{"stationId":236,"stationName":"长春桥","position":[3209,2861],"shape":"cicle","lineIds":[10]},{"stationId":237,"stationName":"火器营","position":[3157,2787],"shape":"cicle","lineIds":[10]},{"stationId":238,"stationName":"模式口","position":[1828,3113],"shape":"cicle","lineIds":[11]},{"stationId":239,"stationName":"北辛安","position":[1914,3292],"shape":"cicle","lineIds":[11]},{"stationId":240,"stationName":"新首钢","position":[1914,3350],"shape":"cicle","lineIds":[11]},{"stationId":241,"stationName":"大钟寺","position":[3717,2780],"shape":"cicle","lineIds":[12]},{"stationId":242,"stationName":"五道口","position":[3643,2517],"shape":"cicle","lineIds":[12]},{"stationId":243,"stationName":"上地","position":[3468,2116],"shape":"cicle","lineIds":[12]},{"stationId":244,"stationName":"清河站","position":[3416,2035],"shape":"cicle","lineIds":[12,19]},{"stationId":245,"stationName":"西二旗","position":[3329,1916],"shape":"cicle","lineIds":[12,19]},{"stationId":246,"stationName":"龙泽","position":[3460,1737],"shape":"cicle","lineIds":[12]},{"stationId":247,"stationName":"回龙观","position":[3627,1738],"shape":"cicle","lineIds":[12]},{"stationId":248,"stationName":"北苑","position":[4611,2016],"shape":"cicle","lineIds":[12]},{"stationId":249,"stationName":"望京西","position":[4765,2489],"shape":"cicle","lineIds":[12,14]},{"stationId":250,"stationName":"光熙门","position":[4584,2763],"shape":"cicle","lineIds":[12],"tagDirection":2},{"stationId":251,"stationName":"柳芳","position":[4593,2865],"shape":"cicle","lineIds":[12],"tagDirection":2},{"stationId":252,"stationName":"善各庄","position":[5048,2175],"shape":"cicle","lineIds":[13]},{"stationId":253,"stationName":"来广营","position":[4936,2242],"shape":"cicle","lineIds":[13]},{"stationId":254,"stationName":"东湖渠","position":[4940,2341],"shape":"cicle","lineIds":[13]},{"stationId":255,"stationName":"望京","position":[4960,2461],"shape":"cicle","lineIds":[13,14]},{"stationId":256,"stationName":"阜通","position":[4981,2528],"shape":"cicle","lineIds":[13]},{"stationId":257,"stationName":"望京南","position":[5085,2600],"shape":"cicle","lineIds":[13]},{"stationId":258,"stationName":"将台","position":[5168,2736],"shape":"cicle","lineIds":[13]},{"stationId":259,"stationName":"东风北桥","position":[5125,2862],"shape":"cicle","lineIds":[13]},{"stationId":260,"stationName":"枣营","position":[5016,3005],"shape":"cicle","lineIds":[13],"tagDirection":2},{"stationId":261,"stationName":"朝阳公园","position":[5049,3111],"shape":"cicle","lineIds":[13]},{"stationId":262,"stationName":"平乐园","position":[5039,3593],"shape":"cicle","lineIds":[13]},{"stationId":263,"stationName":"北工大西门","position":[5039,3693],"shape":"cicle","lineIds":[13]},{"stationId":264,"stationName":"方庄","position":[4668,3788],"shape":"cicle","lineIds":[13],"tagDirection":0},{"stationId":265,"stationName":"景泰","position":[4376,3794],"shape":"cicle","lineIds":[13]},{"stationId":266,"stationName":"景风门","position":[3926,3820],"shape":"cicle","lineIds":[13,18],"tagDirection":1},{"stationId":267,"stationName":"西铁营","position":[3826,3833],"shape":"cicle","lineIds":[13]},{"stationId":268,"stationName":"菜户营","position":[3690,3770],"shape":"cicle","lineIds":[13],"tagDirection":4},{"stationId":269,"stationName":"丽泽商务区","position":[3579,3769],"shape":"cicle","lineIds":[13],"tagDirection":4},{"stationId":270,"stationName":"东管头","position":[3478,3771],"shape":"cicle","lineIds":[13],"tagDirection":0},{"stationId":271,"stationName":"大井","position":[3027,3794],"shape":"cicle","lineIds":[13],"tagDirection":7},{"stationId":272,"stationName":"郭庄子","position":[2797,3798],"shape":"cicle","lineIds":[13]},{"stationId":273,"stationName":"大瓦窑","position":[2671,3852],"shape":"cicle","lineIds":[13]},{"stationId":274,"stationName":"园博园","position":[2282,3833],"shape":"cicle","lineIds":[13]},{"stationId":275,"stationName":"张郭庄","position":[2138,3865],"shape":"cicle","lineIds":[13]},{"stationId":276,"stationName":"俸伯","position":[7113,1121],"shape":"cicle","lineIds":[14]},{"stationId":277,"stationName":"顺义","position":[6836,1146],"shape":"cicle","lineIds":[14],"tagDirection":0},{"stationId":278,"stationName":"石门","position":[6677,1148],"shape":"cicle","lineIds":[14],"tagDirection":7},{"stationId":279,"stationName":"南法信","position":[6361,1161],"shape":"cicle","lineIds":[14]},{"stationId":280,"stationName":"后沙峪","position":[5908,1305],"shape":"cicle","lineIds":[14]},{"stationId":281,"stationName":"花梨坎","position":[5842,1602],"shape":"cicle","lineIds":[14]},{"stationId":282,"stationName":"国展","position":[5817,1746],"shape":"cicle","lineIds":[14]},{"stationId":283,"stationName":"孙河","position":[5613,1995],"shape":"cicle","lineIds":[14]},{"stationId":284,"stationName":"马泉营","position":[5301,2109],"shape":"cicle","lineIds":[14]},{"stationId":285,"stationName":"崔各庄","position":[5196,2224],"shape":"cicle","lineIds":[14]},{"stationId":286,"stationName":"望京东","position":[5137,2414],"shape":"cicle","lineIds":[14]},{"stationId":287,"stationName":"关庄","position":[4576,2435],"shape":"cicle","lineIds":[14]},{"stationId":288,"stationName":"安立路","position":[4344,2420],"shape":"cicle","lineIds":[14],"tagDirection":4},{"stationId":289,"stationName":"北沙滩","position":[3947,2431],"shape":"cicle","lineIds":[14],"tagDirection":7},{"stationId":290,"stationName":"六道口","position":[3794,2446],"shape":"cicle","lineIds":[14,19]},{"stationId":291,"stationName":"清华东路西口","position":[3661,2440],"shape":"cicle","lineIds":[14]},{"stationId":292,"stationName":"北安河","position":[1570,1765],"shape":"cicle","lineIds":[15]},{"stationId":293,"stationName":"温阳路","position":[1880,1761],"shape":"cicle","lineIds":[15]},{"stationId":294,"stationName":"稻香湖路","position":[2148,1757],"shape":"cicle","lineIds":[15]},{"stationId":295,"stationName":"屯佃","position":[2425,1762],"shape":"cicle","lineIds":[15]},{"stationId":296,"stationName":"永丰","position":[2651,1728],"shape":"cicle","lineIds":[15]},{"stationId":297,"stationName":"永丰南","position":[2748,1790],"shape":"cicle","lineIds":[15]},{"stationId":298,"stationName":"西北旺","position":[2845,1959],"shape":"cicle","lineIds":[15]},{"stationId":299,"stationName":"马连洼","position":[2991,2120],"shape":"cicle","lineIds":[15]},{"stationId":300,"stationName":"农大南路","position":[3089,2232],"shape":"cicle","lineIds":[15]},{"stationId":301,"stationName":"万泉河桥","position":[3268,2596],"shape":"cicle","lineIds":[15]},{"stationId":302,"stationName":"苏州桥","position":[3347,2826],"shape":"cicle","lineIds":[15]},{"stationId":303,"stationName":"万寿寺","position":[3365,2969],"shape":"cicle","lineIds":[15]},{"stationId":304,"stationName":"甘家口","position":[3611,3212],"shape":"cicle","lineIds":[15],"tagDirection":2},{"stationId":305,"stationName":"玉渊潭东门","position":[3612,3306],"shape":"cicle","lineIds":[15],"tagDirection":2},{"stationId":306,"stationName":"红莲南路","position":[3633,3671],"shape":"cicle","lineIds":[15]},{"stationId":307,"stationName":"东管头南","position":[3497,3890],"shape":"cicle","lineIds":[15,21]},{"stationId":308,"stationName":"富丰桥","position":[3136,4084],"shape":"cicle","lineIds":[15],"tagDirection":7},{"stationId":309,"stationName":"看丹","position":[2991,4097],"shape":"cicle","lineIds":[15]},{"stationId":310,"stationName":"榆树庄","position":[2856,4059],"shape":"cicle","lineIds":[15]},{"stationId":311,"stationName":"洪泰庄","position":[2759,3961],"shape":"cicle","lineIds":[15]},{"stationId":312,"stationName":"宛平城","position":[2562,3956],"shape":"cicle","lineIds":[15]},{"stationId":313,"stationName":"周家庄","position":[5030,3879],"shape":"cicle","lineIds":[16]},{"stationId":314,"stationName":"十八里店","position":[5225,4003],"shape":"cicle","lineIds":[16]},{"stationId":315,"stationName":"北神树","position":[5794,4260],"shape":"cicle","lineIds":[16]},{"stationId":316,"stationName":"次渠北","position":[6033,4352],"shape":"cicle","lineIds":[16]},{"stationId":317,"stationName":"次渠","position":[6182,4411],"shape":"cicle","lineIds":[16,25]},{"stationId":318,"stationName":"嘉会湖","position":[6369,4521],"shape":"cicle","lineIds":[16]},{"stationId":319,"stationName":"未来科学城北","position":[4957,1143],"shape":"cicle","lineIds":[17]},{"stationId":320,"stationName":"未来科学城","position":[4934,1290],"shape":"cicle","lineIds":[17]},{"stationId":321,"stationName":"天通苑东","position":[4689,1758],"shape":"cicle","lineIds":[17]},{"stationId":322,"stationName":"清河营","position":[4687,1938],"shape":"cicle","lineIds":[17]},{"stationId":323,"stationName":"红军营","position":[4684,2109],"shape":"cicle","lineIds":[17]},{"stationId":324,"stationName":"西坝河","position":[4659,2798],"shape":"cicle","lineIds":[17],"tagDirection":2},{"stationId":325,"stationName":"左家庄","position":[4693,2947],"shape":"cicle","lineIds":[17]},{"stationId":326,"stationName":"工人体育场","position":[4771,3104],"shape":"cicle","lineIds":[17],"tagDirection":6},{"stationId":327,"stationName":"新发地","position":[3729,4212],"shape":"cicle","lineIds":[18]},{"stationId":328,"stationName":"牛街","position":[3901,3550],"shape":"cicle","lineIds":[18],"tagDirection":1},{"stationId":329,"stationName":"太平桥","position":[3899,3349],"shape":"cicle","lineIds":[18],"tagDirection":7},{"stationId":330,"stationName":"北太平庄","position":[3967,2758],"shape":"cicle","lineIds":[18]},{"stationId":331,"stationName":"昌平西山口","position":[2220,0],"shape":"cicle","lineIds":[19]},{"stationId":332,"stationName":"十三陵景区","position":[2343,44],"shape":"cicle","lineIds":[19]},{"stationId":333,"stationName":"昌平","position":[2602,241],"shape":"cicle","lineIds":[19]},{"stationId":334,"stationName":"昌平东关","position":[2887,229],"shape":"cicle","lineIds":[19]},{"stationId":335,"stationName":"北邵洼","position":[3086,226],"shape":"cicle","lineIds":[19]},{"stationId":336,"stationName":"南邵","position":[3141,371],"shape":"cicle","lineIds":[19]},{"stationId":337,"stationName":"沙河高教园","position":[3071,800],"shape":"cicle","lineIds":[19]},{"stationId":338,"stationName":"沙河","position":[3155,963],"shape":"cicle","lineIds":[19]},{"stationId":339,"stationName":"巩华城","position":[3206,1137],"shape":"cicle","lineIds":[19]},{"stationId":340,"stationName":"生命科学园","position":[3208,1498],"shape":"cicle","lineIds":[19]},{"stationId":341,"stationName":"朱房北","position":[3599,2085],"shape":"cicle","lineIds":[19]},{"stationId":342,"stationName":"清河小营桥","position":[3703,2099],"shape":"cicle","lineIds":[19],"tagDirection":5},{"stationId":343,"stationName":"学知园","position":[3788,2296],"shape":"cicle","lineIds":[19]},{"stationId":344,"stationName":"学院桥","position":[3800,2564],"shape":"cicle","lineIds":[19]},{"stationId":345,"stationName":"大兴新城","position":[3921,5090],"shape":"cicle","lineIds":[20]},{"stationId":346,"stationName":"大兴机场","position":[4433,7332],"shape":"cicle","lineIds":[20]},{"stationId":347,"stationName":"阎村东","position":[1274,5156],"shape":"cicle","lineIds":[21,24]},{"stationId":348,"stationName":"苏庄","position":[1519,5214],"shape":"cicle","lineIds":[21]},{"stationId":349,"stationName":"良乡南关","position":[1674,5214],"shape":"cicle","lineIds":[21]},{"stationId":350,"stationName":"良乡大学城西","position":[1829,5215],"shape":"cicle","lineIds":[21]},{"stationId":351,"stationName":"良乡大学城","position":[2031,5215],"shape":"cicle","lineIds":[21]},{"stationId":352,"stationName":"良乡大学城北","position":[2101,5147],"shape":"cicle","lineIds":[21]},{"stationId":353,"stationName":"广阳城","position":[2116,4967],"shape":"cicle","lineIds":[21]},{"stationId":354,"stationName":"篱笆房","position":[2161,4840],"shape":"cicle","lineIds":[21]},{"stationId":355,"stationName":"长阳","position":[2393,4808],"shape":"cicle","lineIds":[21]},{"stationId":356,"stationName":"稻田","position":[2454,4497],"shape":"cicle","lineIds":[21]},{"stationId":357,"stationName":"大葆台","position":[3183,4368],"shape":"cicle","lineIds":[21]},{"stationId":358,"stationName":"白盆窑","position":[3400,4250],"shape":"cicle","lineIds":[21]},{"stationId":359,"stationName":"花乡东桥","position":[3467,4154],"shape":"cicle","lineIds":[21]},{"stationId":360,"stationName":"3号航站楼","position":[6422,1920],"shape":"cicle","lineIds":[22]},{"stationId":361,"stationName":"2号航站楼","position":[6194,1653],"shape":"cicle","lineIds":[22]},{"stationId":362,"stationName":"颐和园西门","position":[2899,2589],"shape":"cicle","lineIds":[23]},{"stationId":363,"stationName":"茶棚","position":[2747,2625],"shape":"cicle","lineIds":[23]},{"stationId":364,"stationName":"万安","position":[2586,2606],"shape":"cicle","lineIds":[23]},{"stationId":365,"stationName":"国家植物园","position":[2423,2511],"shape":"cicle","lineIds":[23]},{"stationId":366,"stationName":"香山","position":[2311,2506],"shape":"cicle","lineIds":[23]},{"stationId":367,"stationName":"紫草坞","position":[1133,5200],"shape":"cicle","lineIds":[24]},{"stationId":368,"stationName":"阎村","position":[1068,5279],"shape":"cicle","lineIds":[24]},{"stationId":369,"stationName":"星城","position":[880,5309],"shape":"cicle","lineIds":[24]},{"stationId":370,"stationName":"大石河东","position":[665,5347],"shape":"cicle","lineIds":[24]},{"stationId":371,"stationName":"马各庄","position":[432,5395],"shape":"cicle","lineIds":[24]},{"stationId":372,"stationName":"饶乐府","position":[327,5432],"shape":"cicle","lineIds":[24]},{"stationId":373,"stationName":"房山城关","position":[162,5386],"shape":"cicle","lineIds":[24]},{"stationId":374,"stationName":"燕山","position":[0,5250],"shape":"cicle","lineIds":[24]},{"stationId":375,"stationName":"肖村","position":[4750,4104],"shape":"cicle","lineIds":[25]},{"stationId":376,"stationName":"小红门","position":[4858,4167],"shape":"cicle","lineIds":[25]},{"stationId":377,"stationName":"旧宫","position":[4874,4377],"shape":"cicle","lineIds":[25]},{"stationId":378,"stationName":"亦庄桥","position":[5069,4416],"shape":"cicle","lineIds":[25]},{"stationId":379,"stationName":"亦庄文化园","position":[5172,4377],"shape":"cicle","lineIds":[25]},{"stationId":380,"stationName":"万源街","position":[5320,4417],"shape":"cicle","lineIds":[25]},{"stationId":381,"stationName":"荣京东街","position":[5399,4514],"shape":"cicle","lineIds":[25]},{"stationId":382,"stationName":"荣昌东街","position":[5483,4618],"shape":"cicle","lineIds":[25]},{"stationId":383,"stationName":"同济南路","position":[5665,4717],"shape":"cicle","lineIds":[25]},{"stationId":384,"stationName":"经海路","position":[5889,4610],"shape":"cicle","lineIds":[25]},{"stationId":385,"stationName":"次渠南","position":[6080,4495],"shape":"cicle","lineIds":[25]},{"stationId":386,"stationName":"亦庄火车站","position":[6285,4320],"shape":"cicle","lineIds":[25]}],"lines":[{"lineId":1,"lineName":"S1线","color":"#B35A1F","stationIds":[1,2,3,4,5,6,7,8],"sign":"S1线","order":1,"bendFirst":[true,true,true,true,true,true,true,true]},{"lineId":2,"lineName":"1号线八通线","color":"#CC0000","stationIds":[9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43],"sign":"1","order":2,"bendFirst":[true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true]},{"lineId":3,"lineName":"2号线","color":"#0065B3","stationIds":[44,45,46,47,48,49,50,25,51,52,53,54,55,56,19,57,58,59,44],"sign":"2","order":3,"bendFirst":[true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true]},{"lineId":4,"lineName":"4号线大兴线","color":"#008187","stationIds":[60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,55,20,77,78,79,80,59,81,82,83,84,85,86,87,88,89,90,91],"sign":"4","order":4,"bendFirst":[true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true]},{"lineId":5,"lineName":"5号线","color":"#A61D7F","stationIds":[92,93,94,95,96,52,24,97,98,99,100,47,101,102,103,104,105,106,107,108,109,110,111],"sign":"5","order":5,"bendFirst":[true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true]},{"lineId":6,"lineName":"6号线","color":"#D0970A","stationIds":[112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,50,98,128,129,79,58,130,131,132,133,134,135,136,137,138,139,1,2],"sign":"6","order":6,"bendFirst":[true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true]},{"lineId":7,"lineName":"7号线","color":"#F9BE58","stationIds":[43,42,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,96,159,160,161,76,162,163,164,165],"sign":"7","order":7,"bendFirst":[true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true]},{"lineId":8,"lineName":"8号线","color":"#018237","stationIds":[166,167,168,169,170,171,172,173,174,175,176,160,53,23,177,178,128,179,45,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194],"sign":"8","order":8,"bendFirst":[true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true]},{"lineId":9,"lineName":"9号线","color":"#86B81C","stationIds":[195,196,197,198,199,200,201,202,165,16,203,132,82],"sign":"9","order":9,"bendFirst":[true,true,true,true,true,true,true,true,true,true,true,true,true]},{"lineId":10,"lineName":"10号线","color":"#019AC3","stationIds":[204,205,85,206,207,208,209,210,182,211,103,212,213,214,215,216,217,126,218,27,156,219,220,221,222,223,92,224,225,226,72,227,228,229,230,231,232,201,233,15,234,134,235,236,237,204],"sign":"10","order":10,"bendFirst":[true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true]},{"lineId":11,"lineName":"11号线","color":"#EE3F42","stationIds":[238,2,239,240],"sign":"11","order":11,"bendFirst":[true,true,true,true]},{"lineId":12,"lineName":"13号线","color":"#FCD600","stationIds":[59,241,207,242,243,244,245,246,247,190,108,248,249,212,250,251,48],"sign":"13","order":12,"bendFirst":[true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true]},{"lineId":13,"lineName":"14号线","color":"#E4A8A3","stationIds":[252,253,254,255,256,257,258,259,260,261,125,28,155,262,263,221,264,94,265,175,74,266,267,268,269,270,232,200,271,272,273,274,275],"sign":"14","order":13,"bendFirst":[true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true]},{"lineId":14,"lineName":"15号线","color":"#793E8C","stationIds":[276,277,278,279,280,281,282,283,284,285,286,255,249,287,105,288,184,289,290,291],"sign":"15","order":14,"bendFirst":[true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true]},{"lineId":15,"lineName":"16号线","color":"#6CB46B","stationIds":[292,293,294,295,296,297,298,299,300,89,301,205,302,303,82,131,304,305,17,163,306,307,230,198,308,309,310,311,312],"sign":"16","order":15,"bendFirst":[true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true]},{"lineId":16,"lineName":"17号线","color":"#00AD8E","stationIds":[221,313,314,315,316,317,318],"sign":"17","order":16,"bendFirst":[true,true,true,true,true,true,true]},{"lineId":17,"lineName":"17号线北段","color":"#00AD8E","stationIds":[319,320,321,322,323,213,324,325,326],"sign":"17","order":17,"bendFirst":[true,true,true,true,true,true,true,true,true]},{"lineId":18,"lineName":"19号线","color":"#EB81B9","stationIds":[70,327,227,266,328,329,79,44,330,209],"sign":"19","order":18,"bendFirst":[true,true,true,true,true,true,true,true,true,true]},{"lineId":19,"lineName":"昌平线","color":"#EB81B9","stationIds":[331,332,333,334,335,336,337,338,339,194,340,245,244,341,342,343,290,344,208],"sign":"昌平线","order":19,"bendFirst":[true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true]},{"lineId":20,"lineName":"大兴国际机场线","color":"#2249A3","stationIds":[227,345,346],"sign":"大兴国际机场线","order":20,"bendFirst":[true,true,true]},{"lineId":21,"lineName":"房山线","color":"#EE782E","stationIds":[347,348,349,350,351,352,353,354,355,356,357,195,358,359,229,307],"sign":"房山线","order":21,"bendFirst":[true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true]},{"lineId":22,"lineName":"首都机场线","color":"#A49ABD","stationIds":[360,361,214,48,100],"sign":"首都机场线","order":22,"bendFirst":[true,true,true,true,true]},{"lineId":23,"lineName":"西郊线","color":"#FC0601","stationIds":[204,362,363,364,365,366],"sign":"西郊线","order":23,"bendFirst":[true,true,true,true,true,true]},{"lineId":24,"lineName":"燕房线","color":"#EE782E","stationIds":[347,367,368,369,370,371,372,373,374],"sign":"燕房线","order":24,"bendFirst":[true,true,true,true,true,true,true,true,true]},{"lineId":25,"lineName":"亦庄线","color":"#F0087D","stationIds":[92,375,376,377,378,379,380,381,382,383,384,385,317,386],"sign":"亦庄线","order":25,"bendFirst":[true,true,true,true,true,true,true,true,true,true,true,true,true,true]}]}
================================================
FILE: public/changsha.json
================================================
{"stations":[{"stationId":1,"stationName":"开福区政府","position":[1496,328],"shape":"cicle","lineIds":[1]},{"stationId":2,"stationName":"马厂","position":[1529,436],"shape":"cicle","lineIds":[1]},{"stationId":3,"stationName":"北辰三角洲","position":[1477,586],"shape":"cicle","lineIds":[1]},{"stationId":4,"stationName":"开福寺","position":[1437,724],"shape":"cicle","lineIds":[1]},{"stationId":5,"stationName":"文昌阁","position":[1423,821],"shape":"cicle","lineIds":[1,6]},{"stationId":6,"stationName":"培元桥","position":[1406,887],"shape":"cicle","lineIds":[1]},{"stationId":7,"stationName":"五一广场","position":[1406,995],"shape":"cicle","lineIds":[1,2],"tagDirection":1},{"stationId":8,"stationName":"黄兴广场","position":[1406,1054],"shape":"cicle","lineIds":[1],"tagDirection":6},{"stationId":9,"stationName":"南门口","position":[1403,1114],"shape":"cicle","lineIds":[1],"tagDirection":6},{"stationId":10,"stationName":"侯家塘","position":[1463,1211],"shape":"cicle","lineIds":[1,3]},{"stationId":11,"stationName":"南湖路","position":[1497,1288],"shape":"cicle","lineIds":[1],"tagDirection":6},{"stationId":12,"stationName":"黄土岭","position":[1496,1343],"shape":"cicle","lineIds":[1,4],"tagDirection":5},{"stationId":13,"stationName":"涂家冲","position":[1489,1417],"shape":"cicle","lineIds":[1]},{"stationId":14,"stationName":"铁道学院","position":[1515,1587],"shape":"cicle","lineIds":[1]},{"stationId":15,"stationName":"友谊路","position":[1510,1712],"shape":"cicle","lineIds":[1]},{"stationId":16,"stationName":"省政府·清风","position":[1517,1837],"shape":"cicle","lineIds":[1]},{"stationId":17,"stationName":"桂花坪","position":[1525,1956],"shape":"cicle","lineIds":[1]},{"stationId":18,"stationName":"大托","position":[1533,2123],"shape":"cicle","lineIds":[1]},{"stationId":19,"stationName":"中信广场","position":[1539,2211],"shape":"cicle","lineIds":[1]},{"stationId":20,"stationName":"尚双塘","position":[1564,2329],"shape":"cicle","lineIds":[1]},{"stationId":21,"stationName":"梅溪湖西","position":[460,1089],"shape":"cicle","lineIds":[2]},{"stationId":22,"stationName":"麓云路","position":[562,1040],"shape":"cicle","lineIds":[2]},{"stationId":23,"stationName":"文化艺术中心","position":[646,981],"shape":"cicle","lineIds":[2]},{"stationId":24,"stationName":"梅溪湖东","position":[723,932],"shape":"cicle","lineIds":[2]},{"stationId":25,"stationName":"望城坡(汽车西站)","position":[778,874],"shape":"cicle","lineIds":[2]},{"stationId":26,"stationName":"金星路","position":[927,888],"shape":"cicle","lineIds":[2]},{"stationId":27,"stationName":"西湖公园","position":[1041,922],"shape":"cicle","lineIds":[2]},{"stationId":28,"stationName":"溁湾镇","position":[1156,972],"shape":"cicle","lineIds":[2,4]},{"stationId":29,"stationName":"橘子洲","position":[1267,992],"shape":"cicle","lineIds":[2],"tagDirection":5},{"stationId":30,"stationName":"湘江中路","position":[1335,996],"shape":"cicle","lineIds":[2],"tagDirection":0},{"stationId":31,"stationName":"芙蓉广场","position":[1488,1000],"shape":"cicle","lineIds":[2],"tagDirection":4},{"stationId":32,"stationName":"迎宾路口","position":[1563,1000],"shape":"cicle","lineIds":[2,6],"tagDirection":1},{"stationId":33,"stationName":"袁家岭","position":[1648,1003],"shape":"cicle","lineIds":[2],"tagDirection":4},{"stationId":34,"stationName":"长沙火车站","position":[1751,1012],"shape":"cicle","lineIds":[2,3]},{"stationId":35,"stationName":"锦泰广场","position":[1817,1030],"shape":"cicle","lineIds":[2],"tagDirection":4},{"stationId":36,"stationName":"万家丽广场","position":[1943,1033],"shape":"cicle","lineIds":[2,5]},{"stationId":37,"stationName":"人民东路","position":[2028,1107],"shape":"cicle","lineIds":[2,6],"tagDirection":1},{"stationId":38,"stationName":"长沙大道","position":[2086,1265],"shape":"cicle","lineIds":[2],"tagDirection":2},{"stationId":39,"stationName":"沙湾公园","position":[2090,1372],"shape":"cicle","lineIds":[2,4],"tagDirection":7},{"stationId":40,"stationName":"杜花路","position":[2206,1485],"shape":"cicle","lineIds":[2],"tagDirection":5},{"stationId":41,"stationName":"长沙火车南站","position":[2294,1480],"shape":"cicle","lineIds":[2,4]},{"stationId":42,"stationName":"光达","position":[2492,1464],"shape":"cicle","lineIds":[2,4],"tagDirection":7},{"stationId":43,"stationName":"山塘","position":[900,1961],"shape":"cicle","lineIds":[3,7]},{"stationId":44,"stationName":"洋湖湿地","position":[1029,1801],"shape":"cicle","lineIds":[3]},{"stationId":45,"stationName":"洋湖新城","position":[1096,1663],"shape":"cicle","lineIds":[3]},{"stationId":46,"stationName":"阳光","position":[1012,1534],"shape":"cicle","lineIds":[3]},{"stationId":47,"stationName":"中南大学","position":[1018,1407],"shape":"cicle","lineIds":[3]},{"stationId":48,"stationName":"阜埠河","position":[1117,1285],"shape":"cicle","lineIds":[3,4]},{"stationId":49,"stationName":"灵官渡","position":[1347,1156],"shape":"cicle","lineIds":[3],"tagDirection":5},{"stationId":50,"stationName":"东塘","position":[1571,1252],"shape":"cicle","lineIds":[3],"tagDirection":0},{"stationId":51,"stationName":"桂花公园","position":[1656,1243],"shape":"cicle","lineIds":[3]},{"stationId":52,"stationName":"阿弥岭","position":[1723,1202],"shape":"cicle","lineIds":[3]},{"stationId":53,"stationName":"朝阳村","position":[1749,1083],"shape":"cicle","lineIds":[3,6],"tagDirection":5},{"stationId":54,"stationName":"烈士公园东","position":[1731,867],"shape":"cicle","lineIds":[3]},{"stationId":55,"stationName":"丝茅冲","position":[1711,711],"shape":"cicle","lineIds":[3]},{"stationId":56,"stationName":"四方坪","position":[1712,640],"shape":"cicle","lineIds":[3]},{"stationId":57,"stationName":"雅雀湖","position":[1780,575],"shape":"cicle","lineIds":[3]},{"stationId":58,"stationName":"长沙大学","position":[1953,539],"shape":"cicle","lineIds":[3]},{"stationId":59,"stationName":"月湖公园北","position":[2052,522],"shape":"cicle","lineIds":[3,5]},{"stationId":60,"stationName":"湘龙","position":[2251,492],"shape":"cicle","lineIds":[3]},{"stationId":61,"stationName":"星沙","position":[2510,492],"shape":"cicle","lineIds":[3]},{"stationId":62,"stationName":"松雅湖(南)","position":[2677,494],"shape":"cicle","lineIds":[3],"tagDirection":4},{"stationId":63,"stationName":"星沙文体中心","position":[2757,494],"shape":"cicle","lineIds":[3]},{"stationId":64,"stationName":"螺丝塘","position":[2873,494],"shape":"cicle","lineIds":[3]},{"stationId":65,"stationName":"广生","position":[2997,499],"shape":"cicle","lineIds":[3]},{"stationId":66,"stationName":"罐子岭","position":[873,0],"shape":"cicle","lineIds":[4]},{"stationId":67,"stationName":"月亮岛西","position":[937,76],"shape":"cicle","lineIds":[4]},{"stationId":68,"stationName":"湘江新城","position":[979,131],"shape":"cicle","lineIds":[4]},{"stationId":69,"stationName":"汉王陵公园","position":[1117,271],"shape":"cicle","lineIds":[4]},{"stationId":70,"stationName":"福元大桥西","position":[1229,416],"shape":"cicle","lineIds":[4]},{"stationId":71,"stationName":"茶子山","position":[1237,522],"shape":"cicle","lineIds":[4]},{"stationId":72,"stationName":"观沙岭","position":[1166,643],"shape":"cicle","lineIds":[4]},{"stationId":73,"stationName":"六沟垅","position":[1184,735],"shape":"cicle","lineIds":[4,6]},{"stationId":74,"stationName":"望月湖","position":[1201,882],"shape":"cicle","lineIds":[4]},{"stationId":75,"stationName":"湖南师大","position":[1123,1086],"shape":"cicle","lineIds":[4]},{"stationId":76,"stationName":"湖南大学","position":[1107,1151],"shape":"cicle","lineIds":[4]},{"stationId":77,"stationName":"碧沙湖","position":[1320,1304],"shape":"cicle","lineIds":[4]},{"stationId":78,"stationName":"砂子塘","position":[1570,1325],"shape":"cicle","lineIds":[4],"tagDirection":1},{"stationId":79,"stationName":"赤岗岭","position":[1694,1351],"shape":"cicle","lineIds":[4]},{"stationId":80,"stationName":"树木岭","position":[1842,1389],"shape":"cicle","lineIds":[4]},{"stationId":81,"stationName":"圭塘","position":[1952,1373],"shape":"cicle","lineIds":[4,5]},{"stationId":82,"stationName":"粟塘","position":[2165,1372],"shape":"cicle","lineIds":[4]},{"stationId":83,"stationName":"平阳","position":[2212,1427],"shape":"cicle","lineIds":[4],"tagDirection":1},{"stationId":84,"stationName":"杜家坪","position":[2579,1533],"shape":"cicle","lineIds":[4]},{"stationId":85,"stationName":"水渡河","position":[2281,150],"shape":"cicle","lineIds":[5]},{"stationId":86,"stationName":"土桥","position":[2202,310],"shape":"cicle","lineIds":[5]},{"stationId":87,"stationName":"白茅铺","position":[2129,445],"shape":"cicle","lineIds":[5]},{"stationId":88,"stationName":"马栏山","position":[2049,632],"shape":"cicle","lineIds":[5]},{"stationId":89,"stationName":"鸭子铺","position":[2002,698],"shape":"cicle","lineIds":[5]},{"stationId":90,"stationName":"火炬村","position":[1954,864],"shape":"cicle","lineIds":[5]},{"stationId":91,"stationName":"马王堆","position":[1950,948],"shape":"cicle","lineIds":[5]},{"stationId":92,"stationName":"芙蓉区政府","position":[1945,1095],"shape":"cicle","lineIds":[5,6],"tagDirection":5},{"stationId":93,"stationName":"高桥北","position":[1942,1186],"shape":"cicle","lineIds":[5]},{"stationId":94,"stationName":"高桥南","position":[1938,1278],"shape":"cicle","lineIds":[5]},{"stationId":95,"stationName":"木桥","position":[1950,1461],"shape":"cicle","lineIds":[5]},{"stationId":96,"stationName":"雨花区政府","position":[1992,1573],"shape":"cicle","lineIds":[5]},{"stationId":97,"stationName":"大塘","position":[2006,1639],"shape":"cicle","lineIds":[5]},{"stationId":98,"stationName":"板塘冲","position":[2037,1786],"shape":"cicle","lineIds":[5]},{"stationId":99,"stationName":"毛竹塘","position":[2007,1998],"shape":"cicle","lineIds":[5]},{"stationId":100,"stationName":"谢家桥","position":[0,1228],"shape":"cicle","lineIds":[6]},{"stationId":101,"stationName":"象鼻窝","position":[174,1223],"shape":"cicle","lineIds":[6]},{"stationId":102,"stationName":"中塘","position":[279,1142],"shape":"cicle","lineIds":[6]},{"stationId":103,"stationName":"一师范西校区","position":[290,1018],"shape":"cicle","lineIds":[6]},{"stationId":104,"stationName":"长庆","position":[270,938],"shape":"cicle","lineIds":[6]},{"stationId":105,"stationName":"和馨园","position":[257,803],"shape":"cicle","lineIds":[6]},{"stationId":106,"stationName":"长丰","position":[359,741],"shape":"cicle","lineIds":[6]},{"stationId":107,"stationName":"麓谷体育公园","position":[461,749],"shape":"cicle","lineIds":[6]},{"stationId":108,"stationName":"麓谷公园","position":[605,767],"shape":"cicle","lineIds":[6]},{"stationId":109,"stationName":"涧塘","position":[748,763],"shape":"cicle","lineIds":[6]},{"stationId":110,"stationName":"湖南工商大学","position":[864,755],"shape":"cicle","lineIds":[6]},{"stationId":111,"stationName":"白鸽咀","position":[982,770],"shape":"cicle","lineIds":[6]},{"stationId":112,"stationName":"湘雅三医院","position":[1073,767],"shape":"cicle","lineIds":[6]},{"stationId":113,"stationName":"湘雅医院","position":[1521,814],"shape":"cicle","lineIds":[6]},{"stationId":114,"stationName":"烈士公园南","position":[1554,902],"shape":"cicle","lineIds":[6],"tagDirection":2},{"stationId":115,"stationName":"窑岭湘雅二医院","position":[1612,1064],"shape":"cicle","lineIds":[6]},{"stationId":116,"stationName":"花桥","position":[2128,1101],"shape":"cicle","lineIds":[6]},{"stationId":117,"stationName":"隆平水稻博物馆","position":[2230,1043],"shape":"cicle","lineIds":[6]},{"stationId":118,"stationName":"农科院农大","position":[2433,1035],"shape":"cicle","lineIds":[6]},{"stationId":119,"stationName":"东湖","position":[2600,1013],"shape":"cicle","lineIds":[6]},{"stationId":120,"stationName":"韶光","position":[2713,990],"shape":"cicle","lineIds":[6]},{"stationId":121,"stationName":"龙华","position":[2930,947],"shape":"cicle","lineIds":[6]},{"stationId":122,"stationName":"檀木桥","position":[3144,930],"shape":"cicle","lineIds":[6]},{"stationId":123,"stationName":"曹家坪","position":[3356,913],"shape":"cicle","lineIds":[6]},{"stationId":124,"stationName":"龙峰","position":[3481,927],"shape":"cicle","lineIds":[6]},{"stationId":125,"stationName":"大路村","position":[3698,928],"shape":"cicle","lineIds":[6]},{"stationId":126,"stationName":"木马塅","position":[3760,992],"shape":"cicle","lineIds":[6],"tagDirection":1},{"stationId":127,"stationName":"黄花机场T1T2","position":[3821,1041],"shape":"cicle","lineIds":[6],"tagDirection":6},{"stationId":128,"stationName":"大王山","position":[810,2061],"shape":"cicle","lineIds":[7]},{"stationId":129,"stationName":"桐溪","position":[725,2193],"shape":"cicle","lineIds":[7]},{"stationId":130,"stationName":"红桥","position":[735,2358],"shape":"cicle","lineIds":[7]},{"stationId":131,"stationName":"坪塘","position":[766,2515],"shape":"cicle","lineIds":[7]},{"stationId":132,"stationName":"双湖","position":[918,2685],"shape":"cicle","lineIds":[7]},{"stationId":133,"stationName":"黄家湾","position":[1111,3046],"shape":"cicle","lineIds":[7]},{"stationId":134,"stationName":"船形山","position":[1135,3154],"shape":"cicle","lineIds":[7]},{"stationId":135,"stationName":"湘潭北站","position":[1073,3316],"shape":"cicle","lineIds":[7]},{"stationId":136,"stationName":"磁浮机场站","position":[3832,1032],"shape":"cicle","lineIds":[8],"tagDirection":2},{"stationId":137,"stationName":"磁浮榔梨","position":[2975,1341],"shape":"cicle","lineIds":[8]},{"stationId":138,"stationName":"磁浮高铁站","position":[2316,1460],"shape":"cicle","lineIds":[8]}],"lines":[{"lineId":1,"lineName":"1号线","color":"#CC0000","stationIds":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20],"sign":"1","order":1,"bendFirst":[true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true]},{"lineId":2,"lineName":"2号线","color":"#52A8C9","stationIds":[21,22,23,24,25,26,27,28,29,30,7,31,32,33,34,35,36,37,38,39,40,41,42],"sign":"2","order":2,"bendFirst":[true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,false,true]},{"lineId":3,"lineName":"3号线","color":"#86B81C","stationIds":[43,44,45,46,47,48,49,10,50,51,52,53,34,54,55,56,57,58,59,60,61,62,63,64,65],"sign":"3","order":3,"bendFirst":[true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true]},{"lineId":4,"lineName":"4号线","color":"#D10195","stationIds":[66,67,68,69,70,71,72,73,74,28,75,76,48,77,12,78,79,80,81,39,82,83,41,42,84],"sign":"4","order":4,"bendFirst":[true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,false,false,true,true]},{"lineId":5,"lineName":"5号线","color":"#FCD600","stationIds":[85,86,87,59,88,89,90,91,36,92,93,94,81,95,96,97,98,99],"sign":"5","order":5,"bendFirst":[true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true]},{"lineId":6,"lineName":"6号线","color":"#0065B3","stationIds":[100,101,102,103,104,105,106,107,108,109,110,111,112,73,5,113,114,32,115,53,92,37,116,117,118,119,120,121,122,123,124,125,126,127],"sign":"6","order":6,"bendFirst":[true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,false,true]},{"lineId":7,"lineName":"长株潭西环线","color":"#EB81B9","stationIds":[43,128,129,130,131,132,133,134,135],"sign":"长株潭西环线","order":7,"bendFirst":[true,true,true,true,true,true,true,true,true]},{"lineId":8,"lineName":"磁浮快线","color":"#B97CAF","stationIds":[136,137,138],"sign":"磁浮快线","order":8,"bendFirst":[true,true,true]}],"title":"长沙"}
================================================
FILE: public/guangzhou.json
================================================
{"stations":[{"stationId":1,"stationName":"西塱","position":[2254,5008],"shape":"cicle","lineIds":[1,19],"tagDirection":4},{"stationId":2,"stationName":"坑口","position":[2259,4874],"shape":"cicle","lineIds":[1]},{"stationId":3,"stationName":"花地湾","position":[2275,4792],"shape":"cicle","lineIds":[1]},{"stationId":4,"stationName":"芳村","position":[2292,4676],"shape":"cicle","lineIds":[1]},{"stationId":5,"stationName":"黄沙","position":[2333,4557],"shape":"cicle","lineIds":[1,8]},{"stationId":6,"stationName":"长寿路","position":[2357,4478],"shape":"cicle","lineIds":[1]},{"stationId":7,"stationName":"陈家祠","position":[2399,4405],"shape":"cicle","lineIds":[1,10],"tagDirection":6},{"stationId":8,"stationName":"西门口","position":[2493,4410],"shape":"cicle","lineIds":[1],"tagDirection":4},{"stationId":9,"stationName":"公园前","position":[2578,4408],"shape":"cicle","lineIds":[1,3],"tagDirection":7},{"stationId":10,"stationName":"农讲所","position":[2691,4396],"shape":"cicle","lineIds":[1],"tagDirection":1},{"stationId":11,"stationName":"烈士陵园","position":[2791,4395],"shape":"cicle","lineIds":[1]},{"stationId":12,"stationName":"东山口","position":[2888,4423],"shape":"cicle","lineIds":[1,8]},{"stationId":13,"stationName":"杨箕","position":[3023,4381],"shape":"cicle","lineIds":[1,7]},{"stationId":14,"stationName":"体育西路","position":[3150,4351],"shape":"cicle","lineIds":[1,4,5],"tagDirection":7},{"stationId":15,"stationName":"体育中心","position":[3218,4313],"shape":"cicle","lineIds":[1],"tagDirection":0},{"stationId":16,"stationName":"广州东站","position":[3183,4153],"shape":"cicle","lineIds":[1,5]},{"stationId":17,"stationName":"广州南站","position":[2633,5775],"shape":"cicle","lineIds":[2,3,9,17]},{"stationId":18,"stationName":"林岳东(2号线)","position":[2431,5723],"shape":"cicle","lineIds":[2],"tagDirection":0},{"stationId":19,"stationName":"林岳西","position":[2306,5725],"shape":"cicle","lineIds":[2]},{"stationId":20,"stationName":"石洲","position":[2096,5756],"shape":"cicle","lineIds":[2]},{"stationId":21,"stationName":"仙涌","position":[1917,5832],"shape":"cicle","lineIds":[2]},{"stationId":22,"stationName":"花卉世界","position":[1548,5928],"shape":"cicle","lineIds":[2]},{"stationId":23,"stationName":"登洲","position":[1423,5869],"shape":"cicle","lineIds":[2]},{"stationId":24,"stationName":"湾华","position":[1252,5742],"shape":"cicle","lineIds":[2]},{"stationId":25,"stationName":"石梁","position":[1122,5735],"shape":"cicle","lineIds":[2]},{"stationId":26,"stationName":"魁奇路","position":[1021,5723],"shape":"cicle","lineIds":[2,19]},{"stationId":27,"stationName":"沙岗","position":[877,5697],"shape":"cicle","lineIds":[2]},{"stationId":28,"stationName":"石湾","position":[767,5609],"shape":"cicle","lineIds":[2]},{"stationId":29,"stationName":"张槎","position":[612,5552],"shape":"cicle","lineIds":[2]},{"stationId":30,"stationName":"智慧新城","position":[489,5551],"shape":"cicle","lineIds":[2]},{"stationId":31,"stationName":"绿岛湖","position":[277,5643],"shape":"cicle","lineIds":[2]},{"stationId":32,"stationName":"湖涌","position":[48,5633],"shape":"cicle","lineIds":[2]},{"stationId":33,"stationName":"南庄","position":[0,5833],"shape":"cicle","lineIds":[2]},{"stationId":34,"stationName":"石壁","position":[2714,5721],"shape":"cicle","lineIds":[3,9]},{"stationId":35,"stationName":"会江","position":[2798,5532],"shape":"cicle","lineIds":[3]},{"stationId":36,"stationName":"南浦","position":[2866,5333],"shape":"cicle","lineIds":[3]},{"stationId":37,"stationName":"洛溪","position":[2921,5233],"shape":"cicle","lineIds":[3]},{"stationId":38,"stationName":"南洲","position":[2908,5014],"shape":"cicle","lineIds":[3,19]},{"stationId":39,"stationName":"东晓南","position":[2876,4949],"shape":"cicle","lineIds":[3]},{"stationId":40,"stationName":"江泰路","position":[2740,4840],"shape":"cicle","lineIds":[3]},{"stationId":41,"stationName":"昌岗","position":[2703,4756],"shape":"cicle","lineIds":[3,10]},{"stationId":42,"stationName":"江南西","position":[2674,4690],"shape":"cicle","lineIds":[3]},{"stationId":43,"stationName":"市二宫","position":[2633,4602],"shape":"cicle","lineIds":[3]},{"stationId":44,"stationName":"海珠广场","position":[2588,4514],"shape":"cicle","lineIds":[3,8],"tagDirection":3},{"stationId":45,"stationName":"纪念堂","position":[2569,4341],"shape":"cicle","lineIds":[3]},{"stationId":46,"stationName":"越秀公园","position":[2548,4262],"shape":"cicle","lineIds":[3]},{"stationId":47,"stationName":"广州火车站","position":[2501,4181],"shape":"cicle","lineIds":[3,7]},{"stationId":48,"stationName":"三元里","position":[2503,4068],"shape":"cicle","lineIds":[3]},{"stationId":49,"stationName":"飞翔公园","position":[2572,3973],"shape":"cicle","lineIds":[3]},{"stationId":50,"stationName":"白云公园","position":[2644,3846],"shape":"cicle","lineIds":[3]},{"stationId":51,"stationName":"白云文化广场","position":[2691,3767],"shape":"cicle","lineIds":[3]},{"stationId":52,"stationName":"萧岗","position":[2741,3677],"shape":"cicle","lineIds":[3]},{"stationId":53,"stationName":"江夏","position":[2769,3549],"shape":"cicle","lineIds":[3]},{"stationId":54,"stationName":"黄边","position":[2808,3446],"shape":"cicle","lineIds":[3]},{"stationId":55,"stationName":"嘉禾望岗","position":[2827,3288],"shape":"cicle","lineIds":[3,5,13]},{"stationId":56,"stationName":"番禺广场","position":[3791,6308],"shape":"cicle","lineIds":[4,15,17]},{"stationId":57,"stationName":"市桥","position":[3552,6165],"shape":"cicle","lineIds":[4]},{"stationId":58,"stationName":"汉溪长隆","position":[3236,5733],"shape":"cicle","lineIds":[4,9]},{"stationId":59,"stationName":"大石","position":[3152,5485],"shape":"cicle","lineIds":[4]},{"stationId":60,"stationName":"厦滘","position":[3143,5282],"shape":"cicle","lineIds":[4]},{"stationId":61,"stationName":"沥滘","position":[3125,5113],"shape":"cicle","lineIds":[4,19]},{"stationId":62,"stationName":"大塘","position":[3151,4883],"shape":"cicle","lineIds":[4]},{"stationId":63,"stationName":"客村","position":[3138,4700],"shape":"cicle","lineIds":[4,10],"tagDirection":3},{"stationId":64,"stationName":"广州塔","position":[3171,4599],"shape":"cicle","lineIds":[4,18]},{"stationId":65,"stationName":"珠江新城","position":[3147,4469],"shape":"cicle","lineIds":[4,7],"tagDirection":5},{"stationId":66,"stationName":"石牌桥","position":[3256,4331],"shape":"cicle","lineIds":[4],"tagDirection":3},{"stationId":67,"stationName":"岗顶","position":[3331,4314],"shape":"cicle","lineIds":[4]},{"stationId":68,"stationName":"华师","position":[3388,4259],"shape":"cicle","lineIds":[4]},{"stationId":69,"stationName":"五山","position":[3453,4134],"shape":"cicle","lineIds":[4]},{"stationId":70,"stationName":"天河客运站","position":[3370,3952],"shape":"cicle","lineIds":[4,8]},{"stationId":71,"stationName":"机场北(2号航站楼)","position":[2991,1700],"shape":"cicle","lineIds":[5]},{"stationId":72,"stationName":"机场南(1号航站楼)","position":[2965,1796],"shape":"cicle","lineIds":[5]},{"stationId":73,"stationName":"高增","position":[2890,2111],"shape":"cicle","lineIds":[5,11]},{"stationId":74,"stationName":"人和","position":[2894,2310],"shape":"cicle","lineIds":[5]},{"stationId":75,"stationName":"龙归","position":[2943,2775],"shape":"cicle","lineIds":[5]},{"stationId":76,"stationName":"白云大道北","position":[2916,3439],"shape":"cicle","lineIds":[5],"tagDirection":4},{"stationId":77,"stationName":"永泰","position":[2997,3460],"shape":"cicle","lineIds":[5]},{"stationId":78,"stationName":"同和","position":[3197,3692],"shape":"cicle","lineIds":[5]},{"stationId":79,"stationName":"京溪南方医院","position":[3196,3810],"shape":"cicle","lineIds":[5]},{"stationId":80,"stationName":"梅花园","position":[3140,3910],"shape":"cicle","lineIds":[5]},{"stationId":81,"stationName":"燕塘","position":[3206,4063],"shape":"cicle","lineIds":[5,8]},{"stationId":82,"stationName":"林和西","position":[3174,4247],"shape":"cicle","lineIds":[5,18],"tagDirection":7},{"stationId":83,"stationName":"黄村","position":[4007,4344],"shape":"cicle","lineIds":[6,16]},{"stationId":84,"stationName":"车陂","position":[3890,4418],"shape":"cicle","lineIds":[6]},{"stationId":85,"stationName":"车陂南","position":[3830,4503],"shape":"cicle","lineIds":[6,7]},{"stationId":86,"stationName":"万胜围","position":[3782,4685],"shape":"cicle","lineIds":[6,10]},{"stationId":87,"stationName":"官洲","position":[3703,4994],"shape":"cicle","lineIds":[6]},{"stationId":88,"stationName":"大学城北","position":[3791,5081],"shape":"cicle","lineIds":[6]},{"stationId":89,"stationName":"大学城南","position":[3940,5229],"shape":"cicle","lineIds":[6,9]},{"stationId":90,"stationName":"新造","position":[4092,5381],"shape":"cicle","lineIds":[6]},{"stationId":91,"stationName":"石碁","position":[4586,6090],"shape":"cicle","lineIds":[6]},{"stationId":92,"stationName":"海傍","position":[4688,6267],"shape":"cicle","lineIds":[6]},{"stationId":93,"stationName":"低涌","position":[4783,6467],"shape":"cicle","lineIds":[6]},{"stationId":94,"stationName":"东涌","position":[4724,6806],"shape":"cicle","lineIds":[6]},{"stationId":95,"stationName":"庆盛","position":[4839,6992],"shape":"cicle","lineIds":[6]},{"stationId":96,"stationName":"黄阁汽车城","position":[5032,7304],"shape":"cicle","lineIds":[6]},{"stationId":97,"stationName":"黄阁","position":[5122,7415],"shape":"cicle","lineIds":[6]},{"stationId":98,"stationName":"蕉门","position":[5210,7655],"shape":"cicle","lineIds":[6]},{"stationId":99,"stationName":"金洲","position":[5323,7741],"shape":"cicle","lineIds":[6]},{"stationId":100,"stationName":"飞沙角","position":[5342,7844],"shape":"cicle","lineIds":[6]},{"stationId":101,"stationName":"广隆","position":[5342,7941],"shape":"cicle","lineIds":[6]},{"stationId":102,"stationName":"大涌","position":[5494,8072],"shape":"cicle","lineIds":[6]},{"stationId":103,"stationName":"塘坑","position":[5665,8131],"shape":"cicle","lineIds":[6]},{"stationId":104,"stationName":"南横","position":[5878,8183],"shape":"cicle","lineIds":[6]},{"stationId":105,"stationName":"南沙客运港","position":[6044,7992],"shape":"cicle","lineIds":[6]},{"stationId":106,"stationName":"滘口","position":[2019,4524],"shape":"cicle","lineIds":[7]},{"stationId":107,"stationName":"坦尾","position":[2118,4410],"shape":"cicle","lineIds":[7,8]},{"stationId":108,"stationName":"中山八","position":[2262,4402],"shape":"cicle","lineIds":[7],"tagDirection":7},{"stationId":109,"stationName":"西场","position":[2315,4289],"shape":"cicle","lineIds":[7]},{"stationId":110,"stationName":"西村","position":[2356,4240],"shape":"cicle","lineIds":[7,10]},{"stationId":111,"stationName":"小北","position":[2704,4268],"shape":"cicle","lineIds":[7]},{"stationId":112,"stationName":"淘金","position":[2800,4299],"shape":"cicle","lineIds":[7]},{"stationId":113,"stationName":"区庄","position":[2902,4318],"shape":"cicle","lineIds":[7,8]},{"stationId":114,"stationName":"动物园","position":[3007,4317],"shape":"cicle","lineIds":[7],"tagDirection":0},{"stationId":115,"stationName":"五羊邨","position":[3077,4464],"shape":"cicle","lineIds":[7],"tagDirection":6},{"stationId":116,"stationName":"猎德","position":[3256,4477],"shape":"cicle","lineIds":[7],"tagDirection":3},{"stationId":117,"stationName":"潭村","position":[3394,4489],"shape":"cicle","lineIds":[7]},{"stationId":118,"stationName":"员村","position":[3571,4505],"shape":"cicle","lineIds":[7,16]},{"stationId":119,"stationName":"科韵路","position":[3707,4470],"shape":"cicle","lineIds":[7]},{"stationId":120,"stationName":"东圃","position":[3950,4568],"shape":"cicle","lineIds":[7]},{"stationId":121,"stationName":"三溪","position":[4092,4621],"shape":"cicle","lineIds":[7]},{"stationId":122,"stationName":"鱼珠","position":[4257,4658],"shape":"cicle","lineIds":[7,12]},{"stationId":123,"stationName":"大沙地","position":[4395,4630],"shape":"cicle","lineIds":[7]},{"stationId":124,"stationName":"大沙东","position":[4520,4600],"shape":"cicle","lineIds":[7,9]},{"stationId":125,"stationName":"文冲","position":[4625,4624],"shape":"cicle","lineIds":[7]},{"stationId":126,"stationName":"双沙","position":[4777,4684],"shape":"cicle","lineIds":[7]},{"stationId":127,"stationName":"庙头","position":[4962,4815],"shape":"cicle","lineIds":[7]},{"stationId":128,"stationName":"夏园","position":[5118,4833],"shape":"cicle","lineIds":[7,12]},{"stationId":129,"stationName":"保盈大道","position":[5195,4920],"shape":"cicle","lineIds":[7]},{"stationId":130,"stationName":"夏港","position":[5187,5027],"shape":"cicle","lineIds":[7]},{"stationId":131,"stationName":"黄埔新港","position":[5183,5139],"shape":"cicle","lineIds":[7]},{"stationId":132,"stationName":"香雪","position":[4947,3939],"shape":"cicle","lineIds":[8]},{"stationId":133,"stationName":"萝岗","position":[4745,3906],"shape":"cicle","lineIds":[8,9],"tagDirection":3},{"stationId":134,"stationName":"苏元","position":[4619,3953],"shape":"cicle","lineIds":[8,16]},{"stationId":135,"stationName":"暹岗","position":[4536,3939],"shape":"cicle","lineIds":[8],"tagDirection":1},{"stationId":136,"stationName":"金峰","position":[4446,3848],"shape":"cicle","lineIds":[8]},{"stationId":137,"stationName":"黄陂","position":[4272,3779],"shape":"cicle","lineIds":[8]},{"stationId":138,"stationName":"高塘石","position":[4039,3752],"shape":"cicle","lineIds":[8]},{"stationId":139,"stationName":"柯木塱","position":[3894,3728],"shape":"cicle","lineIds":[8]},{"stationId":140,"stationName":"龙洞","position":[3710,3753],"shape":"cicle","lineIds":[8]},{"stationId":141,"stationName":"植物园","position":[3591,3761],"shape":"cicle","lineIds":[8]},{"stationId":142,"stationName":"长湴","position":[3429,3877],"shape":"cicle","lineIds":[8]},{"stationId":143,"stationName":"天平架","position":[3148,4067],"shape":"cicle","lineIds":[8]},{"stationId":144,"stationName":"沙河顶","position":[3004,4190],"shape":"cicle","lineIds":[8]},{"stationId":145,"stationName":"黄花岗","position":[2934,4251],"shape":"cicle","lineIds":[8]},{"stationId":146,"stationName":"东湖","position":[2820,4511],"shape":"cicle","lineIds":[8]},{"stationId":147,"stationName":"团一大广场","position":[2717,4481],"shape":"cicle","lineIds":[8],"tagDirection":4},{"stationId":148,"stationName":"北京路","position":[2637,4475],"shape":"cicle","lineIds":[8],"tagDirection":0},{"stationId":149,"stationName":"一德路","position":[2506,4532],"shape":"cicle","lineIds":[8]},{"stationId":150,"stationName":"文化公园","position":[2424,4570],"shape":"cicle","lineIds":[8,10]},{"stationId":151,"stationName":"如意坊","position":[2247,4513],"shape":"cicle","lineIds":[8]},{"stationId":152,"stationName":"河沙","position":[2109,4307],"shape":"cicle","lineIds":[8]},{"stationId":153,"stationName":"沙贝","position":[2048,4138],"shape":"cicle","lineIds":[8]},{"stationId":154,"stationName":"横沙","position":[2002,4080],"shape":"cicle","lineIds":[8]},{"stationId":155,"stationName":"浔峰岗","position":[1954,4021],"shape":"cicle","lineIds":[8]},{"stationId":156,"stationName":"燕山","position":[4685,3711],"shape":"cicle","lineIds":[9]},{"stationId":157,"stationName":"水西","position":[4722,3787],"shape":"cicle","lineIds":[9,16]},{"stationId":158,"stationName":"科丰路","position":[4596,4034],"shape":"cicle","lineIds":[9]},{"stationId":159,"stationName":"加庄","position":[4536,4184],"shape":"cicle","lineIds":[9]},{"stationId":160,"stationName":"姬堂","position":[4494,4341],"shape":"cicle","lineIds":[9]},{"stationId":161,"stationName":"裕丰围","position":[4492,4714],"shape":"cicle","lineIds":[9,12]},{"stationId":162,"stationName":"长洲","position":[4228,4900],"shape":"cicle","lineIds":[9]},{"stationId":163,"stationName":"深井","position":[4030,4975],"shape":"cicle","lineIds":[9]},{"stationId":164,"stationName":"板桥","position":[3816,5494],"shape":"cicle","lineIds":[9]},{"stationId":165,"stationName":"员岗","position":[3591,5503],"shape":"cicle","lineIds":[9]},{"stationId":166,"stationName":"南村万博","position":[3410,5614],"shape":"cicle","lineIds":[9,15]},{"stationId":167,"stationName":"钟村","position":[3104,5798],"shape":"cicle","lineIds":[9]},{"stationId":168,"stationName":"谢村","position":[2893,5757],"shape":"cicle","lineIds":[9]},{"stationId":169,"stationName":"大洲","position":[2507,5824],"shape":"cicle","lineIds":[9]},{"stationId":170,"stationName":"陈村北","position":[2387,5901],"shape":"cicle","lineIds":[9]},{"stationId":171,"stationName":"陈村","position":[2303,5982],"shape":"cicle","lineIds":[9]},{"stationId":172,"stationName":"锦龙","position":[2349,6131],"shape":"cicle","lineIds":[9]},{"stationId":173,"stationName":"南涌","position":[2316,6269],"shape":"cicle","lineIds":[9]},{"stationId":174,"stationName":"美的","position":[2203,6327],"shape":"cicle","lineIds":[9]},{"stationId":175,"stationName":"北滘公园","position":[2054,6363],"shape":"cicle","lineIds":[9]},{"stationId":176,"stationName":"美的大道","position":[2012,6215],"shape":"cicle","lineIds":[9]},{"stationId":177,"stationName":"滘心","position":[2104,3293],"shape":"cicle","lineIds":[10]},{"stationId":178,"stationName":"亭岗","position":[2134,3436],"shape":"cicle","lineIds":[10]},{"stationId":179,"stationName":"石井","position":[2252,3551],"shape":"cicle","lineIds":[10]},{"stationId":180,"stationName":"小坪","position":[2365,3657],"shape":"cicle","lineIds":[10]},{"stationId":181,"stationName":"石潭","position":[2345,3784],"shape":"cicle","lineIds":[10]},{"stationId":182,"stationName":"聚龙","position":[2322,3850],"shape":"cicle","lineIds":[10]},{"stationId":183,"stationName":"上步","position":[2292,3953],"shape":"cicle","lineIds":[10]},{"stationId":184,"stationName":"同德","position":[2282,4027],"shape":"cicle","lineIds":[10]},{"stationId":185,"stationName":"鹅掌坦","position":[2293,4099],"shape":"cicle","lineIds":[10]},{"stationId":186,"stationName":"彩虹桥","position":[2388,4323],"shape":"cicle","lineIds":[10],"tagDirection":2},{"stationId":187,"stationName":"华林寺","position":[2408,4486],"shape":"cicle","lineIds":[10],"tagDirection":2},{"stationId":188,"stationName":"同福西","position":[2458,4645],"shape":"cicle","lineIds":[10]},{"stationId":189,"stationName":"凤凰新村","position":[2494,4715],"shape":"cicle","lineIds":[10]},{"stationId":190,"stationName":"沙园","position":[2540,4776],"shape":"cicle","lineIds":[10,19]},{"stationId":191,"stationName":"宝岗大道","position":[2631,4802],"shape":"cicle","lineIds":[10]},{"stationId":192,"stationName":"晓港","position":[2753,4732],"shape":"cicle","lineIds":[10]},{"stationId":193,"stationName":"中大","position":[2863,4741],"shape":"cicle","lineIds":[10]},{"stationId":194,"stationName":"鹭江","position":[3017,4709],"shape":"cicle","lineIds":[10]},{"stationId":195,"stationName":"赤岗","position":[3283,4698],"shape":"cicle","lineIds":[10]},{"stationId":196,"stationName":"磨碟沙","position":[3347,4675],"shape":"cicle","lineIds":[10,15]},{"stationId":197,"stationName":"新港东","position":[3505,4675],"shape":"cicle","lineIds":[10]},{"stationId":198,"stationName":"琶洲","position":[3601,4677],"shape":"cicle","lineIds":[10]},{"stationId":199,"stationName":"清塘","position":[2563,1940],"shape":"cicle","lineIds":[11]},{"stationId":200,"stationName":"清布","position":[2444,1881],"shape":"cicle","lineIds":[11]},{"stationId":201,"stationName":"莲塘","position":[2386,1771],"shape":"cicle","lineIds":[11]},{"stationId":202,"stationName":"马鞍山公园","position":[2313,1665],"shape":"cicle","lineIds":[11]},{"stationId":203,"stationName":"花都广场","position":[2161,1649],"shape":"cicle","lineIds":[11]},{"stationId":204,"stationName":"花果山公园","position":[2118,1791],"shape":"cicle","lineIds":[11]},{"stationId":205,"stationName":"花城路","position":[2062,1866],"shape":"cicle","lineIds":[11]},{"stationId":206,"stationName":"广州北站","position":[1950,1898],"shape":"cicle","lineIds":[11]},{"stationId":207,"stationName":"花都汽车城","position":[1738,1866],"shape":"cicle","lineIds":[11]},{"stationId":208,"stationName":"飞鹅岭","position":[1486,1879],"shape":"cicle","lineIds":[11]},{"stationId":209,"stationName":"双岗","position":[4678,4718],"shape":"cicle","lineIds":[12]},{"stationId":210,"stationName":"南海神庙","position":[4909,4825],"shape":"cicle","lineIds":[12],"tagDirection":5},{"stationId":211,"stationName":"南岗","position":[5349,4710],"shape":"cicle","lineIds":[12]},{"stationId":212,"stationName":"沙村","position":[5638,4556],"shape":"cicle","lineIds":[12]},{"stationId":213,"stationName":"白江","position":[5891,4430],"shape":"cicle","lineIds":[12]},{"stationId":214,"stationName":"新塘","position":[5979,4345],"shape":"cicle","lineIds":[12]},{"stationId":215,"stationName":"官湖","position":[6300,4290],"shape":"cicle","lineIds":[12]},{"stationId":216,"stationName":"新沙","position":[6429,4294],"shape":"cicle","lineIds":[12]},{"stationId":217,"stationName":"白云东平","position":[3113,3151],"shape":"cicle","lineIds":[13]},{"stationId":218,"stationName":"夏良","position":[3170,2885],"shape":"cicle","lineIds":[13]},{"stationId":219,"stationName":"太和","position":[3406,2669],"shape":"cicle","lineIds":[13]},{"stationId":220,"stationName":"竹料","position":[3618,2177],"shape":"cicle","lineIds":[13]},{"stationId":221,"stationName":"钟落潭","position":[3941,1906],"shape":"cicle","lineIds":[13]},{"stationId":222,"stationName":"马沥","position":[4438,1724],"shape":"cicle","lineIds":[13]},{"stationId":223,"stationName":"新和","position":[4605,1530],"shape":"cicle","lineIds":[13,14]},{"stationId":224,"stationName":"太平","position":[4854,1141],"shape":"cicle","lineIds":[13]},{"stationId":225,"stationName":"神岗","position":[5108,911],"shape":"cicle","lineIds":[13]},{"stationId":226,"stationName":"赤草","position":[5537,650],"shape":"cicle","lineIds":[13]},{"stationId":227,"stationName":"从化客运站","position":[5882,345],"shape":"cicle","lineIds":[13]},{"stationId":228,"stationName":"东风","position":[5943,0],"shape":"cicle","lineIds":[13]},{"stationId":229,"stationName":"红卫","position":[4809,1670],"shape":"cicle","lineIds":[14]},{"stationId":230,"stationName":"新南","position":[4887,1890],"shape":"cicle","lineIds":[14]},{"stationId":231,"stationName":"枫下","position":[5018,2032],"shape":"cicle","lineIds":[14]},{"stationId":232,"stationName":"知识城","position":[5186,2169],"shape":"cicle","lineIds":[14]},{"stationId":233,"stationName":"何棠下","position":[5371,2350],"shape":"cicle","lineIds":[14]},{"stationId":234,"stationName":"旺村","position":[5452,2430],"shape":"cicle","lineIds":[14]},{"stationId":235,"stationName":"汤村","position":[5581,2589],"shape":"cicle","lineIds":[14]},{"stationId":236,"stationName":"镇龙北","position":[5704,2766],"shape":"cicle","lineIds":[14]},{"stationId":237,"stationName":"镇龙","position":[5864,2817],"shape":"cicle","lineIds":[14,16]},{"stationId":238,"stationName":"冼村","position":[3216,4405],"shape":"cicle","lineIds":[15],"tagDirection":2},{"stationId":239,"stationName":"龙潭","position":[3348,4844],"shape":"cicle","lineIds":[15]},{"stationId":240,"stationName":"沙溪","position":[3316,5308],"shape":"cicle","lineIds":[15]},{"stationId":241,"stationName":"横沥","position":[5045,8129],"shape":"cicle","lineIds":[15]},{"stationId":242,"stationName":"万顷沙","position":[5505,8678],"shape":"cicle","lineIds":[15]},{"stationId":243,"stationName":"天河公园","position":[3563,4409],"shape":"cicle","lineIds":[16]},{"stationId":244,"stationName":"棠东","position":[3828,4353],"shape":"cicle","lineIds":[16]},{"stationId":245,"stationName":"大观南路","position":[4004,4217],"shape":"cicle","lineIds":[16]},{"stationId":246,"stationName":"天河智慧城","position":[3966,4030],"shape":"cicle","lineIds":[16]},{"stationId":247,"stationName":"神舟路","position":[4248,4010],"shape":"cicle","lineIds":[16]},{"stationId":248,"stationName":"科学城","position":[4427,4006],"shape":"cicle","lineIds":[16]},{"stationId":249,"stationName":"长平","position":[4832,3559],"shape":"cicle","lineIds":[16]},{"stationId":250,"stationName":"金坑","position":[5202,3169],"shape":"cicle","lineIds":[16]},{"stationId":251,"stationName":"镇龙西","position":[5672,2881],"shape":"cicle","lineIds":[16]},{"stationId":252,"stationName":"中新","position":[6066,2809],"shape":"cicle","lineIds":[16]},{"stationId":253,"stationName":"坑贝","position":[6361,2875],"shape":"cicle","lineIds":[16]},{"stationId":254,"stationName":"凤岗","position":[6641,2903],"shape":"cicle","lineIds":[16]},{"stationId":255,"stationName":"朱村","position":[6949,2939],"shape":"cicle","lineIds":[16]},{"stationId":256,"stationName":"山田","position":[7380,2898],"shape":"cicle","lineIds":[16]},{"stationId":257,"stationName":"钟岗","position":[7855,2869],"shape":"cicle","lineIds":[16]},{"stationId":258,"stationName":"增城广场","position":[8079,2882],"shape":"cicle","lineIds":[16]},{"stationId":259,"stationName":"陈头岗","position":[2591,5530],"shape":"cicle","lineIds":[17]},{"stationId":260,"stationName":"市广路","position":[3304,5949],"shape":"cicle","lineIds":[17]},{"stationId":261,"stationName":"海心沙","position":[3179,4547],"shape":"cicle","lineIds":[18],"tagDirection":2},{"stationId":262,"stationName":"大剧院","position":[3179,4501],"shape":"cicle","lineIds":[18],"tagDirection":2},{"stationId":263,"stationName":"花城大道","position":[3182,4470],"shape":"cicle","lineIds":[18],"tagDirection":2},{"stationId":264,"stationName":"妇儿中心","position":[3180,4437],"shape":"cicle","lineIds":[18]},{"stationId":265,"stationName":"黄埔大道","position":[3179,4392],"shape":"cicle","lineIds":[18]},{"stationId":266,"stationName":"天河南","position":[3179,4348],"shape":"cicle","lineIds":[18]},{"stationId":267,"stationName":"体育中心南","position":[3178,4320],"shape":"cicle","lineIds":[18],"tagDirection":7},{"stationId":268,"stationName":"石溪","position":[2794,4983],"shape":"cicle","lineIds":[19]},{"stationId":269,"stationName":"燕岗","position":[2654,4911],"shape":"cicle","lineIds":[19]},{"stationId":270,"stationName":"沙涌","position":[2402,4831],"shape":"cicle","lineIds":[19]},{"stationId":271,"stationName":"鹤洞","position":[2336,4937],"shape":"cicle","lineIds":[19]},{"stationId":272,"stationName":"菊树","position":[2063,5004],"shape":"cicle","lineIds":[19],"tagDirection":4},{"stationId":273,"stationName":"龙溪","position":[1858,5002],"shape":"cicle","lineIds":[19],"tagDirection":4},{"stationId":274,"stationName":"金融高新区","position":[1520,5004],"shape":"cicle","lineIds":[19]},{"stationId":275,"stationName":"千灯湖","position":[1488,5114],"shape":"cicle","lineIds":[19]},{"stationId":276,"stationName":"礌岗","position":[1489,5236],"shape":"cicle","lineIds":[19]},{"stationId":277,"stationName":"南桂路","position":[1476,5321],"shape":"cicle","lineIds":[19]},{"stationId":278,"stationName":"桂城","position":[1349,5346],"shape":"cicle","lineIds":[19]},{"stationId":279,"stationName":"朝安","position":[1270,5386],"shape":"cicle","lineIds":[19]},{"stationId":280,"stationName":"普君北路","position":[1157,5386],"shape":"cicle","lineIds":[19],"tagDirection":0},{"stationId":281,"stationName":"祖庙","position":[1055,5392],"shape":"cicle","lineIds":[19]},{"stationId":282,"stationName":"同济路","position":[1020,5470],"shape":"cicle","lineIds":[19]},{"stationId":283,"stationName":"季华园","position":[1020,5591],"shape":"cicle","lineIds":[19]},{"stationId":284,"stationName":"澜石","position":[1006,5822],"shape":"cicle","lineIds":[19]},{"stationId":285,"stationName":"世纪莲","position":[1084,6011],"shape":"cicle","lineIds":[19]},{"stationId":286,"stationName":"东平","position":[1226,6010],"shape":"cicle","lineIds":[19]},{"stationId":287,"stationName":"新城东","position":[1335,6076],"shape":"cicle","lineIds":[19]}],"lines":[{"lineId":1,"lineName":"1号线","color":"#FCD600","stationIds":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16],"sign":"1","order":1,"bendFirst":[true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true]},{"lineId":2,"lineName":"佛山2号线","color":"#FC0601","stationIds":[17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33],"sign":"佛山2","order":2,"bendFirst":[true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true]},{"lineId":3,"lineName":"2号线","color":"#0065B3","stationIds":[17,34,35,36,37,38,39,40,41,42,43,44,9,45,46,47,48,49,50,51,52,53,54,55],"sign":"2","order":3,"bendFirst":[true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true]},{"lineId":4,"lineName":"3号线","color":"#FFA500","stationIds":[56,57,58,59,60,61,62,63,64,65,14,66,67,68,69,70],"sign":"3","order":4,"bendFirst":[true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true]},{"lineId":5,"lineName":"3号线(北延段)","color":"#FFA500","stationIds":[71,72,73,74,75,55,76,77,78,79,80,81,16,82,14],"sign":"3","order":5,"bendFirst":[true,true,true,true,true,true,true,true,true,true,true,true,true,false,true]},{"lineId":6,"lineName":"4号线","color":"#018237","stationIds":[83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105],"sign":"4","order":6,"bendFirst":[true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true]},{"lineId":7,"lineName":"5号线","color":"#C5003E","stationIds":[106,107,108,109,110,47,111,112,113,114,13,115,65,116,117,118,119,85,120,121,122,123,124,125,126,127,128,129,130,131],"sign":"5","order":7,"bendFirst":[true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true]},{"lineId":8,"lineName":"6号线","color":"#741D51","stationIds":[132,133,134,135,136,137,138,139,140,141,142,70,81,143,144,145,113,12,146,147,148,44,149,150,5,151,107,152,153,154,155],"sign":"6","order":8,"bendFirst":[true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true]},{"lineId":9,"lineName":"7号线","color":"#86B81C","stationIds":[156,157,133,158,159,160,124,161,162,163,89,164,165,166,58,167,168,34,17,169,170,171,172,173,174,175,176],"sign":"7","order":9,"bendFirst":[true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true]},{"lineId":10,"lineName":"8号线","color":"#008187","stationIds":[177,178,179,180,181,182,183,184,185,110,186,7,187,150,188,189,190,191,41,192,193,194,63,195,196,197,198,86],"sign":"8","order":10,"bendFirst":[true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true]},{"lineId":11,"lineName":"9号线","color":"#64BD91","stationIds":[73,199,200,201,202,203,204,205,206,207,208],"sign":"9","order":11,"bendFirst":[true,true,true,true,true,true,true,true,true,true,true]},{"lineId":12,"lineName":"13号线","color":"#818530","stationIds":[122,161,209,210,128,211,212,213,214,215,216],"sign":"13","order":12,"bendFirst":[true,true,true,true,true,true,true,true,true,true,true]},{"lineId":13,"lineName":"14号线","color":"#871C2A","stationIds":[55,217,218,219,220,221,222,223,224,225,226,227,228],"sign":"14","order":13,"bendFirst":[true,true,true,true,true,true,true,true,true,true,true,true,true]},{"lineId":14,"lineName":"14号线支线(知识城线)","color":"#871C2A","stationIds":[223,229,230,231,232,233,234,235,236,237],"sign":"14","order":14,"bendFirst":[true,true,true,true,true,true,true,true,true,true]},{"lineId":15,"lineName":"18号线","color":"#2249A3","stationIds":[238,196,239,240,166,56,241,242],"sign":"18","order":15,"bendFirst":[false,true,true,true,true,true,true,true]},{"lineId":16,"lineName":"21号线","color":"#0C1335","stationIds":[118,243,244,83,245,246,247,248,134,157,249,250,251,237,252,253,254,255,256,257,258],"sign":"21","order":16,"bendFirst":[true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true]},{"lineId":17,"lineName":"22号线","color":"#B35A1F","stationIds":[259,17,260,56],"sign":"22","order":17,"bendFirst":[true,true,true,true]},{"lineId":18,"lineName":"APM线","color":"#02B6E3","stationIds":[64,261,262,263,264,265,266,267,82],"sign":"APM线","order":18,"bendFirst":[true,true,true,true,true,true,true,true,true]},{"lineId":19,"lineName":"广佛线","color":"#B8D201","stationIds":[61,38,268,269,190,270,271,1,272,273,274,275,276,277,278,279,280,281,282,283,26,284,285,286,287],"sign":"广佛线","order":19,"bendFirst":[true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true]}],"title":"广州"}
================================================
FILE: public/hongkong.json
================================================
{"stations":[{"stationId":1,"stationName":"迪士尼","position":[1084,2120],"shape":"cicle","lineIds":[1]},{"stationId":2,"stationName":"欣澳","position":[928,1949],"shape":"cicle","lineIds":[1,4]},{"stationId":3,"stationName":"金钟","position":[2290,2486],"shape":"cicle","lineIds":[2,5,10,12]},{"stationId":4,"stationName":"会展","position":[2368,2458],"shape":"cicle","lineIds":[2],"tagDirection":7},{"stationId":5,"stationName":"红磡","position":[2452,2256],"shape":"cicle","lineIds":[2,11]},{"stationId":6,"stationName":"旺角东","position":[2362,2058],"shape":"cicle","lineIds":[2],"tagDirection":2},{"stationId":7,"stationName":"九龙塘","position":[2392,1899],"shape":"cicle","lineIds":[2,6]},{"stationId":8,"stationName":"大围","position":[2420,1549],"shape":"cicle","lineIds":[2,11]},{"stationId":9,"stationName":"沙田","position":[2505,1457],"shape":"cicle","lineIds":[2]},{"stationId":10,"stationName":"火炭","position":[2616,1326],"shape":"cicle","lineIds":[2]},{"stationId":11,"stationName":"大学","position":[2735,1140],"shape":"cicle","lineIds":[2]},{"stationId":12,"stationName":"大埔墟","position":[2338,831],"shape":"cicle","lineIds":[2]},{"stationId":13,"stationName":"太和","position":[2249,770],"shape":"cicle","lineIds":[2]},{"stationId":14,"stationName":"粉岭","position":[2022,355],"shape":"cicle","lineIds":[2]},{"stationId":15,"stationName":"上水","position":[1913,262],"shape":"cicle","lineIds":[2,13]},{"stationId":16,"stationName":"落马洲","position":[1294,131],"shape":"cicle","lineIds":[2]},{"stationId":17,"stationName":"罗湖","position":[1771,0],"shape":"cicle","lineIds":[13]},{"stationId":18,"stationName":"东涌","position":[48,2388],"shape":"cicle","lineIds":[4]},{"stationId":19,"stationName":"青衣","position":[1711,1700],"shape":"cicle","lineIds":[4,7]},{"stationId":20,"stationName":"荔景","position":[1896,1790],"shape":"cicle","lineIds":[4,12],"tagDirection":7},{"stationId":21,"stationName":"南昌","position":[2171,2011],"shape":"cicle","lineIds":[4,11]},{"stationId":22,"stationName":"奥运","position":[2235,2097],"shape":"cicle","lineIds":[4],"tagDirection":6},{"stationId":23,"stationName":"九龙","position":[2251,2227],"shape":"cicle","lineIds":[4,7],"tagDirection":6},{"stationId":24,"stationName":"香港","position":[2215,2429],"shape":"cicle","lineIds":[4,7]},{"stationId":25,"stationName":"坚尼地城","position":[1924,2464],"shape":"cicle","lineIds":[5]},{"stationId":26,"stationName":"香港大学","position":[1993,2436],"shape":"cicle","lineIds":[5],"tagDirection":4},{"stationId":27,"stationName":"西营盘","position":[2061,2423],"shape":"cicle","lineIds":[5]},{"stationId":28,"stationName":"上环","position":[2163,2413],"shape":"cicle","lineIds":[5],"tagDirection":0},{"stationId":29,"stationName":"中环","position":[2226,2460],"shape":"cicle","lineIds":[5,12],"tagDirection":4},{"stationId":30,"stationName":"湾仔","position":[2364,2506],"shape":"cicle","lineIds":[5]},{"stationId":31,"stationName":"铜锣湾","position":[2471,2475],"shape":"cicle","lineIds":[5]},{"stationId":32,"stationName":"天后","position":[2553,2450],"shape":"cicle","lineIds":[5]},{"stationId":33,"stationName":"炮台山","position":[2575,2393],"shape":"cicle","lineIds":[5]},{"stationId":34,"stationName":"北角","position":[2640,2368],"shape":"cicle","lineIds":[5,9]},{"stationId":35,"stationName":"鲗鱼涌","position":[2732,2400],"shape":"cicle","lineIds":[5,9]},{"stationId":36,"stationName":"太古","position":[2795,2432],"shape":"cicle","lineIds":[5],"tagDirection":5},{"stationId":37,"stationName":"西湾河","position":[2857,2457],"shape":"cicle","lineIds":[5]},{"stationId":38,"stationName":"筲箕湾","position":[2924,2488],"shape":"cicle","lineIds":[5]},{"stationId":39,"stationName":"杏花邨","position":[3031,2512],"shape":"cicle","lineIds":[5]},{"stationId":40,"stationName":"柴湾","position":[3005,2632],"shape":"cicle","lineIds":[5]},{"stationId":41,"stationName":"黄埔","position":[2531,2228],"shape":"cicle","lineIds":[6]},{"stationId":42,"stationName":"何文田","position":[2463,2184],"shape":"cicle","lineIds":[6,11]},{"stationId":43,"stationName":"油麻地","position":[2342,2147],"shape":"cicle","lineIds":[6,12],"tagDirection":1},{"stationId":44,"stationName":"旺角","position":[2328,2082],"shape":"cicle","lineIds":[6,12],"tagDirection":6},{"stationId":45,"stationName":"太子","position":[2317,2031],"shape":"cicle","lineIds":[6,12]},{"stationId":46,"stationName":"石硖尾","position":[2322,1959],"shape":"cicle","lineIds":[6],"tagDirection":3},{"stationId":47,"stationName":"乐富","position":[2507,1899],"shape":"cicle","lineIds":[6]},{"stationId":48,"stationName":"黄大仙","position":[2575,1861],"shape":"cicle","lineIds":[6],"tagDirection":7},{"stationId":49,"stationName":"钻石山","position":[2647,1876],"shape":"cicle","lineIds":[6,11]},{"stationId":50,"stationName":"彩虹","position":[2724,1931],"shape":"cicle","lineIds":[6]},{"stationId":51,"stationName":"九龙湾","position":[2774,2042],"shape":"cicle","lineIds":[6]},{"stationId":52,"stationName":"牛头角","position":[2825,2124],"shape":"cicle","lineIds":[6]},{"stationId":53,"stationName":"观塘","position":[2898,2156],"shape":"cicle","lineIds":[6]},{"stationId":54,"stationName":"蓝田","position":[2963,2213],"shape":"cicle","lineIds":[6]},{"stationId":55,"stationName":"油塘","position":[3005,2299],"shape":"cicle","lineIds":[6,9]},{"stationId":56,"stationName":"调景岭","position":[3157,2237],"shape":"cicle","lineIds":[6,9]},{"stationId":57,"stationName":"机场","position":[0,2121],"shape":"cicle","lineIds":[7]},{"stationId":58,"stationName":"博览馆","position":[65,2057],"shape":"cicle","lineIds":[7]},{"stationId":59,"stationName":"康城","position":[3326,2325],"shape":"cicle","lineIds":[8]},{"stationId":60,"stationName":"将军澳","position":[3232,2204],"shape":"cicle","lineIds":[8,9]},{"stationId":61,"stationName":"坑口","position":[3277,2124],"shape":"cicle","lineIds":[9]},{"stationId":62,"stationName":"宝琳","position":[3211,2052],"shape":"cicle","lineIds":[9]},{"stationId":63,"stationName":"海洋公园","position":[2380,2790],"shape":"cicle","lineIds":[10]},{"stationId":64,"stationName":"黄竹坑","position":[2316,2797],"shape":"cicle","lineIds":[10]},{"stationId":65,"stationName":"利东","position":[2201,2850],"shape":"cicle","lineIds":[10]},{"stationId":66,"stationName":"海怡半岛","position":[2125,2850],"shape":"cicle","lineIds":[10]},{"stationId":67,"stationName":"屯门","position":[367,1327],"shape":"cicle","lineIds":[11]},{"stationId":68,"stationName":"兆康","position":[424,1159],"shape":"cicle","lineIds":[11]},{"stationId":69,"stationName":"天水围","position":[678,802],"shape":"cicle","lineIds":[11]},{"stationId":70,"stationName":"朗屏","position":[889,802],"shape":"cicle","lineIds":[11]},{"stationId":71,"stationName":"元朗","position":[989,816],"shape":"cicle","lineIds":[11]},{"stationId":72,"stationName":"锦上路","position":[1269,928],"shape":"cicle","lineIds":[11]},{"stationId":73,"stationName":"荃湾西","position":[1737,1594],"shape":"cicle","lineIds":[11]},{"stationId":74,"stationName":"美孚","position":[2013,1898],"shape":"cicle","lineIds":[11]},{"stationId":75,"stationName":"柯士甸","position":[2300,2230],"shape":"cicle","lineIds":[11],"tagDirection":4},{"stationId":76,"stationName":"尖东","position":[2384,2323],"shape":"cicle","lineIds":[11]},{"stationId":77,"stationName":"土瓜湾","position":[2514,2115],"shape":"cicle","lineIds":[11]},{"stationId":78,"stationName":"宋皇台","position":[2545,2020],"shape":"cicle","lineIds":[11]},{"stationId":79,"stationName":"启德","position":[2628,1973],"shape":"cicle","lineIds":[11]},{"stationId":80,"stationName":"显径","position":[2343,1636],"shape":"cicle","lineIds":[11]},{"stationId":81,"stationName":"车公庙","position":[2499,1530],"shape":"cicle","lineIds":[11],"tagDirection":3},{"stationId":82,"stationName":"沙田围","position":[2583,1508],"shape":"cicle","lineIds":[11]},{"stationId":83,"stationName":"第一城","position":[2669,1448],"shape":"cicle","lineIds":[11]},{"stationId":84,"stationName":"石门","position":[2718,1401],"shape":"cicle","lineIds":[11]},{"stationId":85,"stationName":"大水坑","position":[2861,1194],"shape":"cicle","lineIds":[11]},{"stationId":86,"stationName":"恒安","position":[2893,1097],"shape":"cicle","lineIds":[11]},{"stationId":87,"stationName":"马鞍山","position":[2951,1030],"shape":"cicle","lineIds":[11]},{"stationId":88,"stationName":"乌溪沙","position":[3071,987],"shape":"cicle","lineIds":[11]},{"stationId":89,"stationName":"荃湾","position":[1813,1539],"shape":"cicle","lineIds":[12]},{"stationId":90,"stationName":"大窝口","position":[1885,1567],"shape":"cicle","lineIds":[12]},{"stationId":91,"stationName":"葵兴","position":[1948,1644],"shape":"cicle","lineIds":[12]},{"stationId":92,"stationName":"葵芳","position":[1916,1707],"shape":"cicle","lineIds":[12]},{"stationId":93,"stationName":"美孚","position":[1999,1889],"shape":"cicle","lineIds":[12]},{"stationId":94,"stationName":"荔枝角","position":[2118,1903],"shape":"cicle","lineIds":[12]},{"stationId":95,"stationName":"长沙湾","position":[2198,1923],"shape":"cicle","lineIds":[12]},{"stationId":96,"stationName":"深水埗","position":[2259,1969],"shape":"cicle","lineIds":[12],"tagDirection":0},{"stationId":97,"stationName":"佐敦","position":[2351,2229],"shape":"cicle","lineIds":[12],"tagDirection":3},{"stationId":98,"stationName":"尖沙咀","position":[2357,2303],"shape":"cicle","lineIds":[12],"tagDirection":6}],"lines":[{"lineId":1,"lineName":"迪士尼","color":"#EB81B9","stationIds":[1,2],"sign":"迪士尼","order":1,"bendFirst":[true,true]},{"lineId":2,"lineName":"东铁线","color":"#69C7F4","stationIds":[3,4,5,6,7,8,9,10,11,12,13,14,15,16],"sign":"东铁线","order":2,"bendFirst":[true,true,false,true,true,true,true,true,true,true,true,true,true,true]},{"lineId":4,"lineName":"东涌线","color":"#FFA500","stationIds":[18,2,19,20,21,22,23,24],"sign":"东涌线","order":8,"bendFirst":[true,true,true,true,true,true,false,true]},{"lineId":5,"lineName":"港岛线","color":"#3080B7","stationIds":[25,26,27,28,29,3,30,31,32,33,34,35,36,37,38,39,40],"sign":"港岛线","order":5,"bendFirst":[true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true]},{"lineId":6,"lineName":"观塘线","color":"#00AB4F","stationIds":[41,42,43,44,45,46,7,47,48,49,50,51,52,53,54,55,56],"sign":"观塘线","order":10,"bendFirst":[true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true]},{"lineId":7,"lineName":"机场快线","color":"#008187","stationIds":[24,23,19,57,58],"sign":"机场快线","order":7,"bendFirst":[true,true,true,true,true]},{"lineId":8,"lineName":"将军澳线","color":"#793E8C","stationIds":[59,60],"sign":"将军澳线","order":8,"bendFirst":[true,true],"subLine":true},{"lineId":9,"lineName":"将军澳线","color":"#793E8C","stationIds":[34,35,55,56,60,61,62],"sign":"将军澳线","order":4,"bendFirst":[true,true,true,true,true,true,true]},{"lineId":10,"lineName":"南港岛线","color":"#B8D201","stationIds":[3,63,64,65,66],"sign":"南港岛线","order":10,"bendFirst":[true,true,true,true,true]},{"lineId":11,"lineName":"屯马线","color":"#871C2A","stationIds":[67,68,69,70,71,72,73,74,21,75,76,5,42,77,78,79,49,80,8,81,82,83,84,85,86,87,88],"sign":"屯马线","order":11,"bendFirst":[true,true,true,true,true,true,true,true,false,true,true,true,true,true,true,true,true,true,false,true,true,true,true,true,true,true,true]},{"lineId":12,"lineName":"荃湾线","color":"#FC0601","stationIds":[89,90,91,92,20,93,94,95,96,45,44,43,97,98,3,29],"sign":"荃湾线","order":12,"bendFirst":[true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true]},{"lineId":13,"lineName":"东铁线","color":"#69C7F4","stationIds":[17,15],"sign":"东铁线","order":13,"bendFirst":[true,true],"subLine":true}],"title":"香港"}
================================================
FILE: public/index.html
================================================
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8" />
<link rel="icon" href="%PUBLIC_URL%/favicon.ico" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<!-- <meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width, height=device-height, target-densitydpi=device-dpi" /> -->
<meta id="theme-color" name="theme-color" content="#fffee0" />
<meta
name="description"
content="Web site created using create-react-app"
/>
<link rel="apple-touch-icon" href="%PUBLIC_URL%/app-icon.png" />
<!--
manifest.json provides metadata used when your web app is installed on a
user's mobile device or desktop. See https://developers.google.com/web/fundamentals/web-app-manifest/
-->
<link rel="manifest" href="%PUBLIC_URL%/manifest.json" />
<!--
Notice the use of %PUBLIC_URL% in the tags above.
It will be replaced with the URL of the `public` folder during the build.
Only files inside the `public` folder can be referenced from the HTML.
Unlike "/favicon.ico" or "favicon.ico", "%PUBLIC_URL%/favicon.ico" will
work correctly both with client-side routing and a non-root public URL.
Learn how to configure a non-root public URL by running `npm run build`.
-->
<title>Mini Metro Web</title>
</head>
<body>
<noscript>You need to enable JavaScript to run this app.</noscript>
<div id="root"></div>
<!--
This HTML file is a template.
If you open it directly in the browser, you will see an empty page.
You can add webfonts, meta tags, or analytics to this file.
The build step will place the bundled scripts into the <body> tag.
To begin the development, run `npm start` or `yarn start`.
To create a production bundle, use `npm run build` or `yarn build`.
-->
</body>
</html>
================================================
FILE: public/manifest.json
================================================
{
"short_name": "Mini Metro Web",
"name": "Mini Metro Web",
"icons": [
{
"src": "favicon.ico",
"sizes": "64x64 32x32 24x24 16x16",
"type": "image/x-icon"
},
{
"src": "app-icon.png",
"type": "image/png",
"sizes": "192x192"
},
{
"src": "app-icon.png",
"type": "image/png",
"sizes": "512x512"
}
],
"start_url": ".",
"display": "standalone",
"theme_color": "#ffffff",
"background_color": "#ffffff"
}
================================================
FILE: public/robots.txt
================================================
# https://www.robotstxt.org/robotstxt.html
User-agent: *
Disallow:
================================================
FILE: public/shanghai.json
================================================
{"stations":[{"stationId":1,"stationName":"莘庄","position":[3658,2970],"shape":"cicle","lineIds":[1,5]},{"stationId":2,"stationName":"外环路","position":[3735,2872],"shape":"cicle","lineIds":[1]},{"stationId":3,"stationName":"莲花路","position":[3834,2772],"shape":"cicle","lineIds":[1]},{"stationId":4,"stationName":"锦江乐园","position":[3946,2659],"shape":"cicle","lineIds":[1]},{"stationId":5,"stationName":"上海南站","position":[4105,2535],"shape":"cicle","lineIds":[1,3,18]},{"stationId":6,"stationName":"漕宝路","position":[4136,2398],"shape":"cicle","lineIds":[1,15],"tagDirection":3},{"stationId":7,"stationName":"上海体育馆","position":[4179,2253],"shape":"cicle","lineIds":[1,4],"tagDirection":5},{"stationId":8,"stationName":"徐家汇","position":[4171,2126],"shape":"cicle","lineIds":[1,10,14]},{"stationId":9,"stationName":"衡山路","position":[4269,2036],"shape":"cicle","lineIds":[1],"tagDirection":4},{"stationId":10,"stationName":"常熟路","position":[4296,1946],"shape":"cicle","lineIds":[1,8]},{"stationId":11,"stationName":"陕西南路","position":[4392,1930],"shape":"cicle","lineIds":[1,11,15]},{"stationId":12,"stationName":"黄陂南路","position":[4534,1842],"shape":"cicle","lineIds":[1,17],"tagDirection":7},{"stationId":13,"stationName":"人民广场","position":[4556,1754],"shape":"cicle","lineIds":[1,2,9]},{"stationId":14,"stationName":"新闸路","position":[4486,1697],"shape":"cicle","lineIds":[1],"tagDirection":4},{"stationId":15,"stationName":"汉中路","position":[4392,1662],"shape":"cicle","lineIds":[1,15,16],"tagDirection":7},{"stationId":16,"stationName":"上海火车站","position":[4384,1585],"shape":"cicle","lineIds":[1,3,4],"tagDirection":3},{"stationId":17,"stationName":"中山北路","position":[4397,1492],"shape":"cicle","lineIds":[1]},{"stationId":18,"stationName":"延长路","position":[4358,1364],"shape":"cicle","lineIds":[1]},{"stationId":19,"stationName":"上海马戏城","position":[4325,1282],"shape":"cicle","lineIds":[1]},{"stationId":20,"stationName":"汶水路","position":[4307,1156],"shape":"cicle","lineIds":[1]},{"stationId":21,"stationName":"彭浦新村","position":[4291,1015],"shape":"cicle","lineIds":[1]},{"stationId":22,"stationName":"共康路","position":[4275,892],"shape":"cicle","lineIds":[1]},{"stationId":23,"stationName":"通河新村","position":[4220,770],"shape":"cicle","lineIds":[1]},{"stationId":24,"stationName":"呼兰路","position":[4182,684],"shape":"cicle","lineIds":[1]},{"stationId":25,"stationName":"共富新村","position":[4145,530],"shape":"cicle","lineIds":[1]},{"stationId":26,"stationName":"宝安公路","position":[4114,386],"shape":"cicle","lineIds":[1]},{"stationId":27,"stationName":"友谊西路","position":[4084,268],"shape":"cicle","lineIds":[1]},{"stationId":28,"stationName":"富锦路","position":[4051,159],"shape":"cicle","lineIds":[1]},{"stationId":29,"stationName":"浦东国际机场","position":[7861,2572],"shape":"cicle","lineIds":[2,22]},{"stationId":30,"stationName":"海天三路","position":[7773,2397],"shape":"cicle","lineIds":[2]},{"stationId":31,"stationName":"远东大道","position":[7358,2087],"shape":"cicle","lineIds":[2]},{"stationId":32,"stationName":"凌空路","position":[7046,2153],"shape":"cicle","lineIds":[2]},{"stationId":33,"stationName":"川沙","position":[6787,2214],"shape":"cicle","lineIds":[2]},{"stationId":34,"stationName":"华夏东路","position":[6614,2115],"shape":"cicle","lineIds":[2]},{"stationId":35,"stationName":"创新中路","position":[6542,1942],"shape":"cicle","lineIds":[2]},{"stationId":36,"stationName":"唐镇","position":[6367,1940],"shape":"cicle","lineIds":[2]},{"stationId":37,"stationName":"广兰路","position":[6015,1971],"shape":"cicle","lineIds":[2]},{"stationId":38,"stationName":"金科路","position":[5825,2039],"shape":"cicle","lineIds":[2],"tagDirection":0},{"stationId":39,"stationName":"张江高科","position":[5680,2062],"shape":"cicle","lineIds":[2]},{"stationId":40,"stationName":"龙阳路","position":[5381,2045],"shape":"cicle","lineIds":[2,8,19,21,22]},{"stationId":41,"stationName":"世纪公园","position":[5314,1987],"shape":"cicle","lineIds":[2]},{"stationId":42,"stationName":"上海科技馆","position":[5249,1893],"shape":"cicle","lineIds":[2],"tagDirection":5},{"stationId":43,"stationName":"世纪大道","position":[5077,1794],"shape":"cicle","lineIds":[2,4,7,10]},{"stationId":44,"stationName":"东昌路","position":[4960,1748],"shape":"cicle","lineIds":[2],"tagDirection":6},{"stationId":45,"stationName":"陆家嘴","position":[4826,1699],"shape":"cicle","lineIds":[2,17]},{"stationId":46,"stationName":"南京东路","position":[4651,1700],"shape":"cicle","lineIds":[2,11]},{"stationId":47,"stationName":"南京西路","position":[4404,1783],"shape":"cicle","lineIds":[2,15,16]},{"stationId":48,"stationName":"静安寺","position":[4270,1849],"shape":"cicle","lineIds":[2,8,17],"tagDirection":1},{"stationId":49,"stationName":"江苏路","position":[4111,1877],"shape":"cicle","lineIds":[2,14]},{"stationId":50,"stationName":"中山公园","position":[3962,1902],"shape":"cicle","lineIds":[2,3,4]},{"stationId":51,"stationName":"娄山关路","position":[3845,1970],"shape":"cicle","lineIds":[2,18]},{"stationId":52,"stationName":"威宁路","position":[3678,1932],"shape":"cicle","lineIds":[2]},{"stationId":53,"stationName":"北新泾","position":[3545,1917],"shape":"cicle","lineIds":[2]},{"stationId":54,"stationName":"淞虹路","position":[3400,1899],"shape":"cicle","lineIds":[2]},{"stationId":55,"stationName":"虹桥2号航站楼","position":[3068,2139],"shape":"cicle","lineIds":[2,11],"tagDirection":4},{"stationId":56,"stationName":"虹桥火车站","position":[2994,2141],"shape":"cicle","lineIds":[2,20,11],"tagDirection":7},{"stationId":57,"stationName":"徐泾东","position":[2797,2198],"shape":"cicle","lineIds":[2],"tagDirection":4},{"stationId":58,"stationName":"江杨北路","position":[4203,3],"shape":"cicle","lineIds":[3]},{"stationId":59,"stationName":"铁力路","position":[4416,0],"shape":"cicle","lineIds":[3]},{"stationId":60,"stationName":"友谊路","position":[4564,41],"shape":"cicle","lineIds":[3]},{"stationId":61,"stationName":"宝杨路","position":[4600,128],"shape":"cicle","lineIds":[3]},{"stationId":62,"stationName":"水产路","position":[4687,268],"shape":"cicle","lineIds":[3]},{"stationId":63,"stationName":"淞滨路","position":[4733,372],"shape":"cicle","lineIds":[3]},{"stationId":64,"stationName":"张华浜","position":[4791,501],"shape":"cicle","lineIds":[3]},{"stationId":65,"stationName":"淞发路","position":[4809,630],"shape":"cicle","lineIds":[3]},{"stationId":66,"stationName":"长江南路","position":[4719,761],"shape":"cicle","lineIds":[3,21]},{"stationId":67,"stationName":"殷高西路","position":[4653,881],"shape":"cicle","lineIds":[3]},{"stationId":68,"stationName":"江湾镇","position":[4655,1026],"shape":"cicle","lineIds":[3],"tagDirection":6},{"stationId":69,"stationName":"大柏树","position":[4637,1187],"shape":"cicle","lineIds":[3]},{"stationId":70,"stationName":"赤峰路","position":[4629,1269],"shape":"cicle","lineIds":[3]},{"stationId":71,"stationName":"虹口足球场","position":[4596,1367],"shape":"cicle","lineIds":[3,9]},{"stationId":72,"stationName":"东宝兴路","position":[4607,1482],"shape":"cicle","lineIds":[3],"tagDirection":6},{"stationId":73,"stationName":"宝山路","position":[4568,1566],"shape":"cicle","lineIds":[3,4],"tagDirection":4},{"stationId":74,"stationName":"中潭路","position":[4215,1536],"shape":"cicle","lineIds":[3,4]},{"stationId":75,"stationName":"镇坪路","position":[4102,1618],"shape":"cicle","lineIds":[3,4,8]},{"stationId":76,"stationName":"曹杨路","position":[3982,1688],"shape":"cicle","lineIds":[3,4,14,17]},{"stationId":77,"stationName":"金沙江路","position":[3937,1760],"shape":"cicle","lineIds":[3,4,16],"tagDirection":5},{"stationId":78,"stationName":"延安西路","position":[3975,1985],"shape":"cicle","lineIds":[3,4]},{"stationId":79,"stationName":"虹桥路","position":[4013,2106],"shape":"cicle","lineIds":[3,4,11],"tagDirection":1},{"stationId":80,"stationName":"宜山路","position":[4077,2214],"shape":"cicle","lineIds":[3,4,10],"tagDirection":2},{"stationId":81,"stationName":"漕溪路","position":[4189,2314],"shape":"cicle","lineIds":[3],"tagDirection":5},{"stationId":82,"stationName":"龙漕路","position":[4248,2387],"shape":"cicle","lineIds":[3,15]},{"stationId":83,"stationName":"石龙路","position":[4237,2502],"shape":"cicle","lineIds":[3]},{"stationId":84,"stationName":"海伦路","position":[4692,1488],"shape":"cicle","lineIds":[4,11]},{"stationId":85,"stationName":"临平路","position":[4812,1472],"shape":"cicle","lineIds":[4]},{"stationId":86,"stationName":"大连路","position":[4936,1502],"shape":"cicle","lineIds":[4,15]},{"stationId":87,"stationName":"杨树浦路","position":[4977,1562],"shape":"cicle","lineIds":[4],"tagDirection":2},{"stationId":88,"stationName":"浦东大道","position":[4998,1678],"shape":"cicle","lineIds":[4,17],"tagDirection":1},{"stationId":89,"stationName":"浦电路(4号线)","position":[5125,1858],"shape":"cicle","lineIds":[4],"tagDirection":2},{"stationId":90,"stationName":"蓝村路","position":[5081,1964],"shape":"cicle","lineIds":[4,7]},{"stationId":91,"stationName":"塘桥","position":[4992,1984],"shape":"cicle","lineIds":[4],"tagDirection":7},{"stationId":92,"stationName":"南浦大桥","position":[4802,1996],"shape":"cicle","lineIds":[4]},{"stationId":93,"stationName":"西藏南路","position":[4700,2062],"shape":"cicle","lineIds":[4,9],"tagDirection":3},{"stationId":94,"stationName":"鲁班路","position":[4556,2089],"shape":"cicle","lineIds":[4]},{"stationId":95,"stationName":"大木桥路","position":[4437,2141],"shape":"cicle","lineIds":[4,15],"tagDirection":3},{"stationId":96,"stationName":"东安路","position":[4354,2173],"shape":"cicle","lineIds":[4,8]},{"stationId":97,"stationName":"上海体育场","position":[4240,2225],"shape":"cicle","lineIds":[4],"tagDirection":0},{"stationId":98,"stationName":"闵行开发区","position":[3502,4075],"shape":"cicle","lineIds":[24]},{"stationId":99,"stationName":"文井路","position":[3612,4045],"shape":"cicle","lineIds":[24]},{"stationId":100,"stationName":"华宁路","position":[3757,4007],"shape":"cicle","lineIds":[24]},{"stationId":101,"stationName":"金平路","position":[3907,3968],"shape":"cicle","lineIds":[24]},{"stationId":102,"stationName":"东川路","position":[4004,3899],"shape":"cicle","lineIds":[5,24]},{"stationId":103,"stationName":"剑川路","position":[3970,3816],"shape":"cicle","lineIds":[5]},{"stationId":104,"stationName":"北桥","position":[3905,3630],"shape":"cicle","lineIds":[5]},{"stationId":105,"stationName":"颛桥","position":[3823,3411],"shape":"cicle","lineIds":[5]},{"stationId":106,"stationName":"银都路","position":[3707,3188],"shape":"cicle","lineIds":[5]},{"stationId":107,"stationName":"春申路","position":[3663,3099],"shape":"cicle","lineIds":[5]},{"stationId":108,"stationName":"江川路","position":[4039,4027],"shape":"cicle","lineIds":[5]},{"stationId":109,"stationName":"西渡","position":[4129,4188],"shape":"cicle","lineIds":[5]},{"stationId":110,"stationName":"萧塘","position":[4223,4422],"shape":"cicle","lineIds":[5]},{"stationId":111,"stationName":"奉浦大道","position":[4295,4661],"shape":"cicle","lineIds":[5]},{"stationId":112,"stationName":"环城东路","position":[4437,4770],"shape":"cicle","lineIds":[5]},{"stationId":113,"stationName":"望园路","position":[4640,4762],"shape":"cicle","lineIds":[5],"tagDirection":0},{"stationId":114,"stationName":"金海湖","position":[4730,4793],"shape":"cicle","lineIds":[5]},{"stationId":115,"stationName":"奉贤新城","position":[4768,4942],"shape":"cicle","lineIds":[5]},{"stationId":116,"stationName":"东方体育中心","position":[4608,2548],"shape":"cicle","lineIds":[7,9,14]},{"stationId":117,"stationName":"灵岩南路","position":[4758,2595],"shape":"cicle","lineIds":[7]},{"stationId":118,"stationName":"上南路","position":[4869,2593],"shape":"cicle","lineIds":[7],"tagDirection":0},{"stationId":119,"stationName":"华夏西路","position":[4950,2582],"shape":"cicle","lineIds":[7],"tagDirection":2},{"stationId":120,"stationName":"高青路","position":[4963,2482],"shape":"cicle","lineIds":[7]},{"stationId":121,"stationName":"东明路","position":[4913,2355],"shape":"cicle","lineIds":[7,16]},{"stationId":122,"stationName":"高科西路","position":[4903,2224],"shape":"cicle","lineIds":[7,8],"tagDirection":7},{"stationId":123,"stationName":"临沂新村","position":[4972,2149],"shape":"cicle","lineIds":[7]},{"stationId":124,"stationName":"上海儿童医学中心","position":[5039,2048],"shape":"cicle","lineIds":[7]},{"stationId":125,"stationName":"浦电路(6号线)","position":[5098,1880],"shape":"cicle","lineIds":[7],"tagDirection":6},{"stationId":126,"stationName":"源深体育中心","position":[5151,1751],"shape":"cicle","lineIds":[7],"tagDirection":2},{"stationId":127,"stationName":"民生路","position":[5240,1723],"shape":"cicle","lineIds":[7,21]},{"stationId":128,"stationName":"北洋泾路","position":[5328,1690],"shape":"cicle","lineIds":[7]},{"stationId":129,"stationName":"德平路","position":[5447,1627],"shape":"cicle","lineIds":[7],"tagDirection":4},{"stationId":130,"stationName":"云山路","position":[5516,1572],"shape":"cicle","lineIds":[7,17]},{"stationId":131,"stationName":"金桥路","position":[5623,1510],"shape":"cicle","lineIds":[7]},{"stationId":132,"stationName":"博兴路","position":[5672,1446],"shape":"cicle","lineIds":[7]},{"stationId":133,"stationName":"五莲路","position":[5683,1361],"shape":"cicle","lineIds":[7]},{"stationId":134,"stationName":"巨峰路","position":[5688,1274],"shape":"cicle","lineIds":[7,15],"tagDirection":1},{"stationId":135,"stationName":"东靖路","position":[5692,1174],"shape":"cicle","lineIds":[7]},{"stationId":136,"stationName":"五洲大道","position":[5697,1056],"shape":"cicle","lineIds":[7]},{"stationId":137,"stationName":"洲海路","position":[5699,959],"shape":"cicle","lineIds":[7]},{"stationId":138,"stationName":"外高桥保税区南","position":[5824,865],"shape":"cicle","lineIds":[7]},{"stationId":139,"stationName":"航津路","position":[5744,727],"shape":"cicle","lineIds":[7]},{"stationId":140,"stationName":"外高桥保税区北","position":[5674,603],"shape":"cicle","lineIds":[7],"tagDirection":5},{"stationId":141,"stationName":"港城路","position":[5555,549],"shape":"cicle","lineIds":[7,11],"tagDirection":1},{"stationId":142,"stationName":"花木路","position":[5432,1969],"shape":"cicle","lineIds":[8],"tagDirection":2},{"stationId":143,"stationName":"芳华路","position":[5306,2150],"shape":"cicle","lineIds":[8],"tagDirection":7},{"stationId":144,"stationName":"锦绣路","position":[5205,2205],"shape":"cicle","lineIds":[8]},{"stationId":145,"stationName":"杨高南路","position":[5050,2205],"shape":"cicle","lineIds":[8]},{"stationId":146,"stationName":"云台路","position":[4809,2259],"shape":"cicle","lineIds":[8],"tagDirection":3},{"stationId":147,"stationName":"耀华路","position":[4751,2296],"shape":"cicle","lineIds":[8,9],"tagDirection":3},{"stationId":148,"stationName":"长清路","position":[4682,2337],"shape":"cicle","lineIds":[8,16]},{"stationId":149,"stationName":"后滩","position":[4542,2362],"shape":"cicle","lineIds":[8]},{"stationId":150,"stationName":"龙华中路","position":[4375,2237],"shape":"cicle","lineIds":[8,15]},{"stationId":151,"stationName":"肇嘉浜路","position":[4307,2087],"shape":"cicle","lineIds":[8,10],"tagDirection":3},{"stationId":152,"stationName":"昌平路","position":[4231,1744],"shape":"cicle","lineIds":[8]},{"stationId":153,"stationName":"长寿路","position":[4187,1673],"shape":"cicle","lineIds":[8,16]},{"stationId":154,"stationName":"岚皋路","position":[4024,1519],"shape":"cicle","lineIds":[8]},{"stationId":155,"stationName":"新村路","position":[4031,1443],"shape":"cicle","lineIds":[8]},{"stationId":156,"stationName":"大华三路","position":[4034,1341],"shape":"cicle","lineIds":[8]},{"stationId":157,"stationName":"行知路","position":[4022,1236],"shape":"cicle","lineIds":[8]},{"stationId":158,"stationName":"大场镇","position":[3966,1149],"shape":"cicle","lineIds":[8]},{"stationId":159,"stationName":"场中路","position":[3939,1044],"shape":"cicle","lineIds":[8]},{"stationId":160,"stationName":"上大路","position":[3892,932],"shape":"cicle","lineIds":[8]},{"stationId":161,"stationName":"南陈路","position":[3789,864],"shape":"cicle","lineIds":[8],"tagDirection":1},{"stationId":162,"stationName":"上海大学","position":[3694,875],"shape":"cicle","lineIds":[8],"tagDirection":0},{"stationId":163,"stationName":"祁华路","position":[3540,857],"shape":"cicle","lineIds":[8]},{"stationId":164,"stationName":"顾村公园","position":[3535,635],"shape":"cicle","lineIds":[8,18]},{"stationId":165,"stationName":"刘行","position":[3428,505],"shape":"cicle","lineIds":[8]},{"stationId":166,"stationName":"潘广路","position":[3363,439],"shape":"cicle","lineIds":[8]},{"stationId":167,"stationName":"罗南新村","position":[3379,193],"shape":"cicle","lineIds":[8]},{"stationId":168,"stationName":"美兰湖","position":[3304,62],"shape":"cicle","lineIds":[8]},{"stationId":169,"stationName":"沈杜公路","position":[4927,3467],"shape":"cicle","lineIds":[9,23]},{"stationId":170,"stationName":"联航路","position":[4911,3346],"shape":"cicle","lineIds":[9]},{"stationId":171,"stationName":"江月路","position":[4891,3239],"shape":"cicle","lineIds":[9]},{"stationId":172,"stationName":"浦江镇","position":[4867,3115],"shape":"cicle","lineIds":[9]},{"stationId":173,"stationName":"芦恒路","position":[4787,2890],"shape":"cicle","lineIds":[9]},{"stationId":174,"stationName":"凌兆新村","position":[4701,2668],"shape":"cicle","lineIds":[9]},{"stationId":175,"stationName":"杨思","position":[4739,2471],"shape":"cicle","lineIds":[9]},{"stationId":176,"stationName":"成山路","position":[4767,2374],"shape":"cicle","lineIds":[9,16]},{"stationId":177,"stationName":"中华艺术宫","position":[4741,2229],"shape":"cicle","lineIds":[9]},{"stationId":178,"stationName":"陆家浜路","position":[4666,1963],"shape":"cicle","lineIds":[9,10]},{"stationId":179,"stationName":"老西门","position":[4643,1891],"shape":"cicle","lineIds":[9,11]},{"stationId":180,"stationName":"大世界","position":[4596,1807],"shape":"cicle","lineIds":[9,17],"tagDirection":1},{"stationId":181,"stationName":"曲阜路","position":[4520,1658],"shape":"cicle","lineIds":[9,15]},{"stationId":182,"stationName":"中兴路","position":[4495,1549],"shape":"cicle","lineIds":[9],"tagDirection":1},{"stationId":183,"stationName":"西藏北路","position":[4493,1447],"shape":"cicle","lineIds":[9]},{"stationId":184,"stationName":"曲阳路","position":[4716,1316],"shape":"cicle","lineIds":[9]},{"stationId":185,"stationName":"四平路","position":[4820,1332],"shape":"cicle","lineIds":[9,11]},{"stationId":186,"stationName":"鞍山新村","position":[4902,1349],"shape":"cicle","lineIds":[9]},{"stationId":187,"stationName":"江浦路","position":[4988,1332],"shape":"cicle","lineIds":[9,21]},{"stationId":188,"stationName":"黄兴路","position":[5089,1293],"shape":"cicle","lineIds":[9]},{"stationId":189,"stationName":"延吉中路","position":[5154,1196],"shape":"cicle","lineIds":[9]},{"stationId":190,"stationName":"黄兴公园","position":[5138,1127],"shape":"cicle","lineIds":[9]},{"stationId":191,"stationName":"翔殷路","position":[5124,1031],"shape":"cicle","lineIds":[9],"tagDirection":2},{"stationId":192,"stationName":"嫩江路","position":[5124,933],"shape":"cicle","lineIds":[9],"tagDirection":2},{"stationId":193,"stationName":"市光路","position":[5124,854],"shape":"cicle","lineIds":[9],"tagDirection":2},{"stationId":194,"stationName":"曹路","position":[6636,1368],"shape":"cicle","lineIds":[10]},{"stationId":195,"stationName":"民雷路","position":[6486,1398],"shape":"cicle","lineIds":[10]},{"stationId":196,"stationName":"顾唐路","position":[6369,1420],"shape":"cicle","lineIds":[10]},{"stationId":197,"stationName":"金海路","position":[6191,1450],"shape":"cicle","lineIds":[10,15],"tagDirection":1},{"stationId":198,"stationName":"金吉路","position":[6092,1438],"shape":"cicle","lineIds":[10]},{"stationId":199,"stationName":"金桥","position":[5918,1473],"shape":"cicle","lineIds":[10]},{"stationId":200,"stationName":"台儿庄路","position":[5779,1553],"shape":"cicle","lineIds":[10],"tagDirection":3},{"stationId":201,"stationName":"蓝天路","position":[5585,1671],"shape":"cicle","lineIds":[10,17]},{"stationId":202,"stationName":"芳甸路","position":[5389,1763],"shape":"cicle","lineIds":[10]},{"stationId":203,"stationName":"杨高中路","position":[5291,1806],"shape":"cicle","lineIds":[10,21],"tagDirection":6},{"stationId":204,"stationName":"商城路","position":[4967,1779],"shape":"cicle","lineIds":[10],"tagDirection":6},{"stationId":205,"stationName":"小南门","position":[4789,1913],"shape":"cicle","lineIds":[10]},{"stationId":206,"stationName":"马当路","position":[4577,1986],"shape":"cicle","lineIds":[10,16]},{"stationId":207,"stationName":"打浦桥","position":[4491,2018],"shape":"cicle","lineIds":[10]},{"stationId":208,"stationName":"嘉善路","position":[4412,2053],"shape":"cicle","lineIds":[10,15]},{"stationId":209,"stationName":"桂林路","position":[3985,2333],"shape":"cicle","lineIds":[10,18]},{"stationId":210,"stationName":"漕河泾开发区","position":[3782,2375],"shape":"cicle","lineIds":[10]},{"stationId":211,"stationName":"合川路","position":[3652,2416],"shape":"cicle","lineIds":[10]},{"stationId":212,"stationName":"星中路","position":[3494,2500],"shape":"cicle","lineIds":[10]},{"stationId":213,"stationName":"七宝","position":[3297,2528],"shape":"cicle","lineIds":[10]},{"stationId":214,"stationName":"中春路","position":[3182,2587],"shape":"cicle","lineIds":[10]},{"stationId":215,"stationName":"九亭","position":[2999,2709],"shape":"cicle","lineIds":[10]},{"stationId":216,"stationName":"泗泾","position":[2407,2898],"shape":"cicle","lineIds":[10]},{"stationId":217,"stationName":"佘山","position":[2102,3040],"shape":"cicle","lineIds":[10]},{"stationId":218,"stationName":"洞泾","position":[2109,3236],"shape":"cicle","lineIds":[10]},{"stationId":219,"stationName":"松江大学城","position":[2130,3541],"shape":"cicle","lineIds":[10]},{"stationId":220,"stationName":"松江新城","position":[2112,3778],"shape":"cicle","lineIds":[10]},{"stationId":221,"stationName":"松江体育中心","position":[2110,3921],"shape":"cicle","lineIds":[10]},{"stationId":222,"stationName":"醉白池","position":[2098,4070],"shape":"cicle","lineIds":[10]},{"stationId":223,"stationName":"松江南站","position":[2114,4233],"shape":"cicle","lineIds":[10]},{"stationId":224,"stationName":"基隆路","position":[5709,568],"shape":"cicle","lineIds":[11]},{"stationId":225,"stationName":"高桥","position":[5434,555],"shape":"cicle","lineIds":[11],"tagDirection":0},{"stationId":226,"stationName":"高桥西","position":[5297,566],"shape":"cicle","lineIds":[11]},{"stationId":227,"stationName":"双江路","position":[5199,545],"shape":"cicle","lineIds":[11]},{"stationId":228,"stationName":"国帆路","position":[4936,686],"shape":"cicle","lineIds":[11],"tagDirection":3},{"stationId":229,"stationName":"新江湾城","position":[4874,796],"shape":"cicle","lineIds":[11]},{"stationId":230,"stationName":"殷高东路","position":[4873,864],"shape":"cicle","lineIds":[11]},{"stationId":231,"stationName":"三门路","position":[4888,949],"shape":"cicle","lineIds":[11],"tagDirection":1},{"stationId":232,"stationName":"江湾体育场","position":[4938,1038],"shape":"cicle","lineIds":[11],"tagDirection":2},{"stationId":233,"stationName":"五角场","position":[4951,1101],"shape":"cicle","lineIds":[11]},{"stationId":234,"stationName":"国权路","position":[4905,1188],"shape":"cicle","lineIds":[11,21]},{"stationId":235,"stationName":"同济大学","position":[4868,1260],"shape":"cicle","lineIds":[11]},{"stationId":236,"stationName":"邮电新村","position":[4747,1397],"shape":"cicle","lineIds":[11]},{"stationId":237,"stationName":"四川北路","position":[4647,1561],"shape":"cicle","lineIds":[11],"tagDirection":2},{"stationId":238,"stationName":"天潼路","position":[4628,1643],"shape":"cicle","lineIds":[11,15]},{"stationId":239,"stationName":"豫园","position":[4679,1801],"shape":"cicle","lineIds":[11,17]},{"stationId":240,"stationName":"新天地","position":[4556,1918],"shape":"cicle","lineIds":[11,16],"tagDirection":0},{"stationId":241,"stationName":"上海图书馆","position":[4248,2002],"shape":"cicle","lineIds":[11]},{"stationId":242,"stationName":"交通大学","position":[4157,2059],"shape":"cicle","lineIds":[11,14]},{"stationId":243,"stationName":"宋园路","position":[3925,2116],"shape":"cicle","lineIds":[11],"tagDirection":3},{"stationId":244,"stationName":"伊犁路","position":[3844,2092],"shape":"cicle","lineIds":[11],"tagDirection":0},{"stationId":245,"stationName":"水城路","position":[3727,2086],"shape":"cicle","lineIds":[11]},{"stationId":246,"stationName":"龙溪路","position":[3605,2137],"shape":"cicle","lineIds":[11,25]},{"stationId":247,"stationName":"龙柏新村","position":[3509,2312],"shape":"cicle","lineIds":[25]},{"stationId":248,"stationName":"紫藤路","position":[3453,2384],"shape":"cicle","lineIds":[25]},{"stationId":249,"stationName":"航中路","position":[3358,2427],"shape":"cicle","lineIds":[25]},{"stationId":250,"stationName":"上海动物园","position":[3486,2179],"shape":"cicle","lineIds":[11]},{"stationId":251,"stationName":"虹桥1号航站楼","position":[3278,2168],"shape":"cicle","lineIds":[11]},{"stationId":252,"stationName":"嘉定北","position":[2178,166],"shape":"cicle","lineIds":[26]},{"stationId":253,"stationName":"嘉定西","position":[2083,310],"shape":"cicle","lineIds":[26]},{"stationId":254,"stationName":"白银路","position":[2258,628],"shape":"cicle","lineIds":[26]},{"stationId":255,"stationName":"嘉定新城","position":[2348,781],"shape":"cicle","lineIds":[14,26]},{"stationId":256,"stationName":"马陆","position":[2574,884],"shape":"cicle","lineIds":[14]},{"stationId":257,"stationName":"陈翔公路","position":[2873,1016],"shape":"cicle","lineIds":[14]},{"stationId":258,"stationName":"南翔","position":[3036,1112],"shape":"cicle","lineIds":[14]},{"stationId":259,"stationName":"桃浦新村","position":[3301,1265],"shape":"cicle","lineIds":[14]},{"stationId":260,"stationName":"武威路","position":[3451,1315],"shape":"cicle","lineIds":[14]},{"stationId":261,"stationName":"祁连山路","position":[3565,1365],"shape":"cicle","lineIds":[14]},{"stationId":262,"stationName":"李子园","position":[3704,1391],"shape":"cicle","lineIds":[14]},{"stationId":263,"stationName":"上海西站","position":[3814,1454],"shape":"cicle","lineIds":[14,18]},{"stationId":264,"stationName":"真如","position":[3877,1574],"shape":"cicle","lineIds":[14,17]},{"stationId":265,"stationName":"枫桥路","position":[3919,1663],"shape":"cicle","lineIds":[14],"tagDirection":6},{"stationId":266,"stationName":"隆德路","position":[4040,1776],"shape":"cicle","lineIds":[14,16]},{"stationId":267,"stationName":"上海游泳馆","position":[4219,2290],"shape":"cicle","lineIds":[14],"tagDirection":1},{"stationId":268,"stationName":"龙华","position":[4334,2354],"shape":"cicle","lineIds":[14,15]},{"stationId":269,"stationName":"云锦路","position":[4390,2416],"shape":"cicle","lineIds":[14]},{"stationId":270,"stationName":"龙耀路","position":[4402,2484],"shape":"cicle","lineIds":[14]},{"stationId":271,"stationName":"三林","position":[4923,2649],"shape":"cicle","lineIds":[14]},{"stationId":272,"stationName":"三林东","position":[5035,2617],"shape":"cicle","lineIds":[14],"tagDirection":3},{"stationId":273,"stationName":"浦三路","position":[5195,2573],"shape":"cicle","lineIds":[14]},{"stationId":274,"stationName":"御桥","position":[5514,2500],"shape":"cicle","lineIds":[14,21],"tagDirection":7},{"stationId":275,"stationName":"罗山路","position":[5736,2549],"shape":"cicle","lineIds":[14,19]},{"stationId":276,"stationName":"秀沿路","position":[5789,2700],"shape":"cicle","lineIds":[14]},{"stationId":277,"stationName":"康新公路","position":[5977,2777],"shape":"cicle","lineIds":[14]},{"stationId":278,"stationName":"迪士尼","position":[6484,2669],"shape":"cicle","lineIds":[14]},{"stationId":279,"stationName":"上海赛车场","position":[2066,762],"shape":"cicle","lineIds":[14]},{"stationId":280,"stationName":"昌吉东路","position":[1809,1145],"shape":"cicle","lineIds":[14]},{"stationId":281,"stationName":"上海汽车城","position":[1612,1227],"shape":"cicle","lineIds":[14]},{"stationId":282,"stationName":"安亭","position":[1425,1196],"shape":"cicle","lineIds":[14]},{"stationId":283,"stationName":"兆丰路","position":[1308,1191],"shape":"cicle","lineIds":[14]},{"stationId":284,"stationName":"光明路","position":[977,1119],"shape":"cicle","lineIds":[14]},{"stationId":285,"stationName":"花桥","position":[849,1093],"shape":"cicle","lineIds":[14]},{"stationId":286,"stationName":"七莘路","position":[3429,2765],"shape":"cicle","lineIds":[15]},{"stationId":287,"stationName":"虹莘路","position":[3608,2707],"shape":"cicle","lineIds":[15]},{"stationId":288,"stationName":"顾戴路","position":[3723,2672],"shape":"cicle","lineIds":[15]},{"stationId":289,"stationName":"东兰路","position":[3724,2523],"shape":"cicle","lineIds":[15]},{"stationId":290,"stationName":"虹梅路","position":[3777,2478],"shape":"cicle","lineIds":[15]},{"stationId":291,"stationName":"虹漕路","position":[3910,2441],"shape":"cicle","lineIds":[15]},{"stationId":292,"stationName":"桂林公园","position":[4001,2411],"shape":"cicle","lineIds":[15,18],"tagDirection":1},{"stationId":293,"stationName":"国际客运中心","position":[4786,1580],"shape":"cicle","lineIds":[15]},{"stationId":294,"stationName":"提篮桥","position":[4873,1546],"shape":"cicle","lineIds":[15],"tagDirection":7},{"stationId":295,"stationName":"江浦公园","position":[5042,1436],"shape":"cicle","lineIds":[15,21]},{"stationId":296,"stationName":"宁国路","position":[5128,1395],"shape":"cicle","lineIds":[15]},{"stationId":297,"stationName":"隆昌路","position":[5252,1329],"shape":"cicle","lineIds":[15]},{"stationId":298,"stationName":"爱国路","position":[5331,1283],"shape":"cicle","lineIds":[15]},{"stationId":299,"stationName":"复兴岛","position":[5418,1273],"shape":"cicle","lineIds":[15]},{"stationId":300,"stationName":"东陆路","position":[5596,1256],"shape":"cicle","lineIds":[15]},{"stationId":301,"stationName":"杨高北路","position":[5834,1280],"shape":"cicle","lineIds":[15]},{"stationId":302,"stationName":"金京路","position":[5959,1283],"shape":"cicle","lineIds":[15]},{"stationId":303,"stationName":"申江路","position":[6073,1279],"shape":"cicle","lineIds":[15]},{"stationId":304,"stationName":"金运路","position":[2998,1671],"shape":"cicle","lineIds":[16]},{"stationId":305,"stationName":"金沙江西路","position":[3156,1670],"shape":"cicle","lineIds":[16]},{"stationId":306,"stationName":"丰庄","position":[3356,1656],"shape":"cicle","lineIds":[16]},{"stationId":307,"stationName":"祁连山南路","position":[3477,1705],"shape":"cicle","lineIds":[16]},{"stationId":308,"stationName":"真北路","position":[3624,1759],"shape":"cicle","lineIds":[16]},{"stationId":309,"stationName":"大渡河路","position":[3749,1764],"shape":"cicle","lineIds":[16,18],"tagDirection":5},{"stationId":310,"stationName":"武宁路","position":[4110,1738],"shape":"cicle","lineIds":[16,17]},{"stationId":311,"stationName":"江宁路","position":[4253,1638],"shape":"cicle","lineIds":[16]},{"stationId":312,"stationName":"自然博物馆","position":[4428,1717],"shape":"cicle","lineIds":[16],"tagDirection":6},{"stationId":313,"stationName":"淮海中路","position":[4448,1881],"shape":"cicle","lineIds":[16],"tagDirection":6},{"stationId":314,"stationName":"世博会博物馆","position":[4621,2105],"shape":"cicle","lineIds":[16],"tagDirection":4},{"stationId":315,"stationName":"世博大道","position":[4648,2253],"shape":"cicle","lineIds":[16]},{"stationId":316,"stationName":"华鹏路","position":[5070,2318],"shape":"cicle","lineIds":[16]},{"stationId":317,"stationName":"下南路","position":[5207,2288],"shape":"cicle","lineIds":[16]},{"stationId":318,"stationName":"北蔡","position":[5325,2280],"shape":"cicle","lineIds":[16],"tagDirection":0},{"stationId":319,"stationName":"陈春路","position":[5387,2330],"shape":"cicle","lineIds":[16],"tagDirection":5},{"stationId":320,"stationName":"莲溪路","position":[5469,2390],"shape":"cicle","lineIds":[16,21]},{"stationId":321,"stationName":"华夏中路","position":[5636,2324],"shape":"cicle","lineIds":[16,19]},{"stationId":322,"stationName":"中科路","position":[5829,2293],"shape":"cicle","lineIds":[16]},{"stationId":323,"stationName":"学林路","position":[5948,2246],"shape":"cicle","lineIds":[16]},{"stationId":324,"stationName":"张江路","position":[6096,2190],"shape":"cicle","lineIds":[16]},{"stationId":325,"stationName":"封浜","position":[2775,1406],"shape":"cicle","lineIds":[17]},{"stationId":326,"stationName":"乐秀路","position":[2946,1428],"shape":"cicle","lineIds":[17]},{"stationId":327,"stationName":"临洮路","position":[3113,1451],"shape":"cicle","lineIds":[17]},{"stationId":328,"stationName":"嘉怡路","position":[3262,1489],"shape":"cicle","lineIds":[17]},{"stationId":329,"stationName":"定边路","position":[3429,1517],"shape":"cicle","lineIds":[17]},{"stationId":330,"stationName":"真新新村","position":[3524,1526],"shape":"cicle","lineIds":[17]},{"stationId":331,"stationName":"真光路","position":[3646,1548],"shape":"cicle","lineIds":[17],"tagDirection":5},{"stationId":332,"stationName":"铜川路","position":[3775,1574],"shape":"cicle","lineIds":[17,18],"tagDirection":7},{"stationId":333,"stationName":"中宁路","position":[3950,1631],"shape":"cicle","lineIds":[17]},{"stationId":334,"stationName":"武定路","position":[4166,1808],"shape":"cicle","lineIds":[17]},{"stationId":335,"stationName":"浦东南路","position":[4929,1696],"shape":"cicle","lineIds":[17],"tagDirection":7},{"stationId":336,"stationName":"源深路","position":[5115,1668],"shape":"cicle","lineIds":[17]},{"stationId":337,"stationName":"昌邑路","position":[5206,1642],"shape":"cicle","lineIds":[17,21]},{"stationId":338,"stationName":"歇浦路","position":[5320,1574],"shape":"cicle","lineIds":[17]},{"stationId":339,"stationName":"黄杨路","position":[5715,1741],"shape":"cicle","lineIds":[17]},{"stationId":340,"stationName":"云顺路","position":[5808,1711],"shape":"cicle","lineIds":[17]},{"stationId":341,"stationName":"浦东足球场","position":[5959,1665],"shape":"cicle","lineIds":[17]},{"stationId":342,"stationName":"金粤路","position":[6095,1660],"shape":"cicle","lineIds":[17]},{"stationId":343,"stationName":"桂桥路","position":[6156,1587],"shape":"cicle","lineIds":[17]},{"stationId":344,"stationName":"锦秋路","position":[3622,879],"shape":"cicle","lineIds":[18]},{"stationId":345,"stationName":"丰翔路","position":[3613,999],"shape":"cicle","lineIds":[18]},{"stationId":346,"stationName":"南大路","position":[3608,1089],"shape":"cicle","lineIds":[18]},{"stationId":347,"stationName":"祁安路","position":[3653,1166],"shape":"cicle","lineIds":[18]},{"stationId":348,"stationName":"古浪路","position":[3727,1236],"shape":"cicle","lineIds":[18]},{"stationId":349,"stationName":"武威东路","position":[3726,1325],"shape":"cicle","lineIds":[18],"tagDirection":2},{"stationId":350,"stationName":"梅岭北路","position":[3775,1648],"shape":"cicle","lineIds":[18],"tagDirection":6},{"stationId":351,"stationName":"长风公园","position":[3768,1829],"shape":"cicle","lineIds":[18]},{"stationId":352,"stationName":"红宝石路","position":[3788,2093],"shape":"cicle","lineIds":[18]},{"stationId":353,"stationName":"姚虹路","position":[3869,2166],"shape":"cicle","lineIds":[18],"tagDirection":5},{"stationId":354,"stationName":"吴中路","position":[3944,2238],"shape":"cicle","lineIds":[18],"tagDirection":5},{"stationId":355,"stationName":"华东理工大学","position":[4095,2639],"shape":"cicle","lineIds":[18],"tagDirection":2},{"stationId":356,"stationName":"罗秀路","position":[4163,2766],"shape":"cicle","lineIds":[18]},{"stationId":357,"stationName":"朱梅路","position":[4183,2838],"shape":"cicle","lineIds":[18]},{"stationId":358,"stationName":"华泾西","position":[4206,2947],"shape":"cicle","lineIds":[18]},{"stationId":359,"stationName":"虹梅南路","position":[4135,3043],"shape":"cicle","lineIds":[18]},{"stationId":360,"stationName":"景西路","position":[3992,3084],"shape":"cicle","lineIds":[18]},{"stationId":361,"stationName":"曙建路","position":[3984,3175],"shape":"cicle","lineIds":[18]},{"stationId":362,"stationName":"双柏路","position":[4022,3249],"shape":"cicle","lineIds":[18]},{"stationId":363,"stationName":"元江路","position":[4124,3453],"shape":"cicle","lineIds":[18]},{"stationId":364,"stationName":"永德路","position":[4237,3690],"shape":"cicle","lineIds":[18]},{"stationId":365,"stationName":"紫竹高新区","position":[4317,3849],"shape":"cicle","lineIds":[18]},{"stationId":366,"stationName":"周浦东","position":[5874,2981],"shape":"cicle","lineIds":[19]},{"stationId":367,"stationName":"鹤沙航城","position":[5917,3303],"shape":"cicle","lineIds":[19]},{"stationId":368,"stationName":"航头东","position":[5980,3532],"shape":"cicle","lineIds":[19]},{"stationId":369,"stationName":"新场","position":[6294,3626],"shape":"cicle","lineIds":[19]},{"stationId":370,"stationName":"野生动物园","position":[6797,3578],"shape":"cicle","lineIds":[19]},{"stationId":371,"stationName":"惠南","position":[7421,3543],"shape":"cicle","lineIds":[19]},{"stationId":372,"stationName":"惠南东","position":[7743,3817],"shape":"cicle","lineIds":[19]},{"stationId":373,"stationName":"书院","position":[8310,4489],"shape":"cicle","lineIds":[19]},{"stationId":374,"stationName":"临港大道","position":[8913,4846],"shape":"cicle","lineIds":[19]},{"stationId":375,"stationName":"滴水湖","position":[9100,5009],"shape":"cicle","lineIds":[19]},{"stationId":376,"stationName":"诸光路","position":[2735,2164],"shape":"cicle","lineIds":[20]},{"stationId":377,"stationName":"蟠龙路","position":[2591,2218],"shape":"cicle","lineIds":[20]},{"stationId":378,"stationName":"徐盈路","position":[2344,2300],"shape":"cicle","lineIds":[20]},{"stationId":379,"stationName":"徐泾北城","position":[2221,2326],"shape":"cicle","lineIds":[20]},{"stationId":380,"stationName":"嘉松中路","position":[2044,2440],"shape":"cicle","lineIds":[20]},{"stationId":381,"stationName":"赵巷","position":[1727,2469],"shape":"cicle","lineIds":[20]},{"stationId":382,"stationName":"汇金路","position":[1321,2469],"shape":"cicle","lineIds":[20]},{"stationId":383,"stationName":"青浦新城","position":[1061,2492],"shape":"cicle","lineIds":[20]},{"stationId":384,"stationName":"漕盈路","position":[774,2477],"shape":"cicle","lineIds":[20]},{"stationId":385,"stationName":"淀山湖大道","position":[626,2737],"shape":"cicle","lineIds":[20]},{"stationId":386,"stationName":"朱家角","position":[295,3075],"shape":"cicle","lineIds":[20]},{"stationId":387,"stationName":"东方绿舟","position":[0,3096],"shape":"cicle","lineIds":[20]},{"stationId":388,"stationName":"殷高路","position":[4760,864],"shape":"cicle","lineIds":[21]},{"stationId":389,"stationName":"上海财经大学","position":[4768,1004],"shape":"cicle","lineIds":[21],"tagDirection":2},{"stationId":390,"stationName":"复旦大学","position":[4800,1118],"shape":"cicle","lineIds":[21]},{"stationId":391,"stationName":"抚顺路","position":[4963,1245],"shape":"cicle","lineIds":[21]},{"stationId":392,"stationName":"平凉路","position":[5072,1491],"shape":"cicle","lineIds":[21],"tagDirection":2},{"stationId":393,"stationName":"丹阳路","position":[5116,1543],"shape":"cicle","lineIds":[21],"tagDirection":2},{"stationId":394,"stationName":"迎春路","position":[5315,1871],"shape":"cicle","lineIds":[21],"tagDirection":1},{"stationId":395,"stationName":"芳芯路","position":[5397,2170],"shape":"cicle","lineIds":[21],"tagDirection":2},{"stationId":396,"stationName":"北中路","position":[5418,2254],"shape":"cicle","lineIds":[21],"tagDirection":2},{"stationId":397,"stationName":"康桥","position":[5478,2739],"shape":"cicle","lineIds":[21]},{"stationId":398,"stationName":"周浦","position":[5481,2940],"shape":"cicle","lineIds":[21]},{"stationId":399,"stationName":"繁荣路","position":[5510,3056],"shape":"cicle","lineIds":[21]},{"stationId":400,"stationName":"沈梅路","position":[5611,3170],"shape":"cicle","lineIds":[21]},{"stationId":401,"stationName":"鹤涛路","position":[5664,3363],"shape":"cicle","lineIds":[21]},{"stationId":402,"stationName":"下沙","position":[5695,3537],"shape":"cicle","lineIds":[21]},{"stationId":403,"stationName":"航头","position":[5765,3708],"shape":"cicle","lineIds":[21]},{"stationId":404,"stationName":"三鲁公路","position":[5079,3520],"shape":"cicle","lineIds":[23]},{"stationId":405,"stationName":"闵瑞路","position":[5108,3602],"shape":"cicle","lineIds":[23]},{"stationId":406,"stationName":"浦航路","position":[5111,3671],"shape":"cicle","lineIds":[23]},{"stationId":407,"stationName":"东城一路","position":[5126,3777],"shape":"cicle","lineIds":[23]},{"stationId":408,"stationName":"汇臻路","position":[5050,3829],"shape":"cicle","lineIds":[23]}],"lines":[{"lineId":1,"lineName":"1号线","color":"#E3002A","stationIds":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28],"sign":1,"order":1,"bendFirst":[true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true]},{"lineId":2,"lineName":"2号线","color":"#86B81C","stationIds":[29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,13,47,48,49,50,51,52,53,54,55,56,57],"sign":2,"order":2,"bendFirst":[true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true]},{"lineId":3,"lineName":"3号线","color":"#FCD600","stationIds":[58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,16,74,75,76,77,50,78,79,80,81,82,83,5],"sign":3,"order":4,"bendFirst":[true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,false,false,true,false,false,false,false,true,true,true,true,true]},{"lineId":4,"lineName":"4号线","color":"#5A2B8D","stationIds":[80,79,78,50,77,76,75,74,16,73,84,85,86,87,88,43,89,90,91,92,93,94,95,96,97,7,80],"sign":4,"order":3,"bendFirst":[true,true,true,true,false,true,true,false,false,true,true,true,true,true,true,true,false,true,true,true,true,true,true,true,true,false,true]},{"lineId":5,"lineName":"5号线","color":"#96499A","stationIds":[115,114,113,112,111,110,109,108,102,103,104,105,106,107,1],"sign":5,"order":5,"bendFirst":[true,true,true,true,true,true,true,true,true,true,true,true,true,true,true]},{"lineId":7,"lineName":"6号线","color":"#F0087D","stationIds":[116,117,118,119,120,121,122,123,124,90,125,43,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141],"sign":"6","order":7,"bendFirst":[true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,false,true]},{"lineId":8,"lineName":"7号线","color":"#EE782E","stationIds":[142,40,143,144,145,122,146,147,148,149,150,96,151,10,48,152,153,75,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168],"sign":"7","order":8,"bendFirst":[true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true]},{"lineId":9,"lineName":"8号线","color":"#01A2E2","stationIds":[169,170,171,172,173,174,116,175,176,147,177,93,178,179,180,13,181,182,183,71,184,185,186,187,188,189,190,191,192,193],"sign":"8","order":9,"bendFirst":[true,true,true,true,true,true,true,true,true,true,true,true,true,true,false,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true]},{"lineId":10,"lineName":"9号线","color":"#69C7F4","stationIds":[194,195,196,197,198,199,200,201,202,203,43,204,205,178,206,207,208,151,8,80,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223],"sign":"9","order":10,"bendFirst":[true,true,true,true,true,true,true,true,true,true,false,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true]},{"lineId":11,"lineName":"10号线","color":"#C6AFD4","stationIds":[224,141,225,226,227,228,229,230,231,232,233,234,235,185,236,84,237,238,46,239,179,240,11,241,242,79,243,244,245,246,250,251,55,56],"sign":"10","order":11,"bendFirst":[true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,false,true]},{"lineId":14,"lineName":"11号线","color":"#871C2A","stationIds":[278,277,276,275,274,273,272,271,116,270,269,268,267,8,242,49,266,76,265,264,263,262,261,260,259,258,257,256,255,279,280,281,282,283,284,285],"sign":"11","order":14,"bendFirst":[true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true]},{"lineId":15,"lineName":"12号线","color":"#007A61","stationIds":[286,287,288,289,290,291,292,6,82,268,150,95,208,11,47,15,181,238,293,294,86,295,296,297,298,299,300,134,301,302,303,197],"sign":"12","order":15,"bendFirst":[true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true]},{"lineId":16,"lineName":"13号线","color":"#EB81B9","stationIds":[304,305,306,307,308,309,77,266,310,153,311,15,312,47,313,240,206,314,315,148,176,121,316,317,318,319,320,321,322,323,324],"sign":"13","order":16,"bendFirst":[true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true]},{"lineId":17,"lineName":"14号线","color":"#818530","stationIds":[325,326,327,328,329,330,331,332,264,333,76,310,334,48,12,180,239,45,335,88,336,337,338,130,201,339,340,341,342,343],"sign":"14","order":17,"bendFirst":[true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true]},{"lineId":18,"lineName":"15号线","color":"#DAC17D","stationIds":[164,344,345,346,347,348,349,263,332,350,309,351,51,352,353,354,209,292,5,355,356,357,358,359,360,361,362,363,364,365],"sign":"15","order":18,"bendFirst":[true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,false,false,true,true,true,true,true,true,true,true,true,true]},{"lineId":19,"lineName":"16号线","color":"#98D1C0","stationIds":[40,321,275,366,367,368,369,370,371,372,373,374,375],"sign":"16","order":19,"bendFirst":[true,true,true,true,true,true,true,true,true,true,true,true,true]},{"lineId":20,"lineName":"17号线","color":"#B85A4E","stationIds":[56,376,377,378,379,380,381,382,383,384,385,386,387],"sign":"17","order":20,"bendFirst":[true,true,true,true,true,true,true,true,true,true,true,true,true]},{"lineId":21,"lineName":"18号线","color":"#D0970A","stationIds":[66,388,389,390,234,391,187,295,392,393,337,127,203,394,40,395,396,320,274,397,398,399,400,401,402,403],"sign":"18","order":21,"bendFirst":[true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true]},{"lineId":22,"lineName":"磁悬浮","color":"#008187","stationIds":[29,40],"sign":"磁浮线","order":22,"bendFirst":[true,true]},{"lineId":23,"lineName":"浦江线","color":"#B5B5B6","stationIds":[169,404,405,406,407,408],"sign":"浦江线","order":23,"bendFirst":[true,true,true,true,true,true]},{"lineId":24,"lineName":"5号线支线","color":"#96499A","stationIds":[98,99,100,101,102],"sign":"5","order":24,"bendFirst":[true,true,true,true,true],"subLine":true},{"lineId":25,"lineName":"10号线支线","color":"#C6AFD4","stationIds":[249,248,247,246],"sign":"10","order":25,"bendFirst":[true,true,true,true],"subLine":true},{"lineId":26,"lineName":"11号线支线","color":"#871C2A","stationIds":[255,254,253,252],"sign":"11","order":26,"bendFirst":[false,true,true,true],"subLine":true}],"title":"上海"}
================================================
FILE: public/shenzhen.json
================================================
{"stations":[{"stationId":1,"stationName":"罗湖","position":[3489,2743],"shape":"cicle","lineIds":[1],"tagDirection":6},{"stationId":2,"stationName":"国贸","position":[3491,2667],"shape":"cicle","lineIds":[1],"tagDirection":1},{"stationId":3,"stationName":"老街","position":[3472,2621],"shape":"cicle","lineIds":[1,4],"tagDirection":7},{"stationId":4,"stationName":"大剧院","position":[3380,2646],"shape":"cicle","lineIds":[1,3]},{"stationId":5,"stationName":"科学馆","position":[3254,2658],"shape":"cicle","lineIds":[1,7],"tagDirection":5},{"stationId":6,"stationName":"华强路","position":[3154,2659],"shape":"cicle","lineIds":[1]},{"stationId":7,"stationName":"岗厦","position":[2984,2715],"shape":"cicle","lineIds":[1,11],"tagDirection":3},{"stationId":8,"stationName":"会展中心","position":[2913,2716],"shape":"cicle","lineIds":[1,5],"tagDirection":4},{"stationId":9,"stationName":"购物公园","position":[2848,2717],"shape":"cicle","lineIds":[1,4]},{"stationId":10,"stationName":"香蜜湖","position":[2689,2675],"shape":"cicle","lineIds":[1],"tagDirection":4},{"stationId":11,"stationName":"车公庙","position":[2561,2701],"shape":"cicle","lineIds":[1,9,10,12],"tagDirection":3},{"stationId":12,"stationName":"竹子林","position":[2441,2730],"shape":"cicle","lineIds":[1]},{"stationId":13,"stationName":"侨城东","position":[2269,2740],"shape":"cicle","lineIds":[1]},{"stationId":14,"stationName":"华侨城","position":[2156,2729],"shape":"cicle","lineIds":[1],"tagDirection":4},{"stationId":15,"stationName":"世界之窗","position":[2044,2695],"shape":"cicle","lineIds":[1,3],"tagDirection":5},{"stationId":16,"stationName":"白石洲","position":[1973,2668],"shape":"cicle","lineIds":[1],"tagDirection":0},{"stationId":17,"stationName":"高新园","position":[1841,2661],"shape":"cicle","lineIds":[1]},{"stationId":18,"stationName":"深大","position":[1744,2677],"shape":"cicle","lineIds":[1]},{"stationId":19,"stationName":"桃园","position":[1550,2749],"shape":"cicle","lineIds":[1,13]},{"stationId":20,"stationName":"大新","position":[1453,2741],"shape":"cicle","lineIds":[1]},{"stationId":21,"stationName":"鲤鱼门","position":[1333,2744],"shape":"cicle","lineIds":[1],"tagDirection":1},{"stationId":22,"stationName":"前海湾","position":[1282,2693],"shape":"cicle","lineIds":[1,6,12]},{"stationId":23,"stationName":"新安","position":[1248,2589],"shape":"cicle","lineIds":[1]},{"stationId":24,"stationName":"宝安中心","position":[1175,2518],"shape":"cicle","lineIds":[1,6],"tagDirection":2},{"stationId":25,"stationName":"宝体","position":[1109,2456],"shape":"cicle","lineIds":[1],"tagDirection":1},{"stationId":26,"stationName":"坪洲","position":[1009,2375],"shape":"cicle","lineIds":[1],"tagDirection":1},{"stationId":27,"stationName":"西乡","position":[933,2312],"shape":"cicle","lineIds":[1],"tagDirection":1},{"stationId":28,"stationName":"固戍","position":[770,2050],"shape":"cicle","lineIds":[1]},{"stationId":29,"stationName":"后瑞","position":[657,1775],"shape":"cicle","lineIds":[1]},{"stationId":30,"stationName":"机场东","position":[529,1594],"shape":"cicle","lineIds":[1,13]},{"stationId":31,"stationName":"比亚迪北","position":[5913,1242],"shape":"cicle","lineIds":[2],"tagDirection":2},{"stationId":32,"stationName":"龙背","position":[5897,1191],"shape":"cicle","lineIds":[2],"tagDirection":1},{"stationId":33,"stationName":"自然博物馆西","position":[5884,1145],"shape":"cicle","lineIds":[2],"tagDirection":1},{"stationId":34,"stationName":"未来城","position":[5828,1080],"shape":"cicle","lineIds":[2],"tagDirection":2},{"stationId":35,"stationName":"燕子岭","position":[5918,1035],"shape":"cicle","lineIds":[2]},{"stationId":36,"stationName":"综合保税区","position":[5914,971],"shape":"cicle","lineIds":[2]},{"stationId":37,"stationName":"中芯国际","position":[5860,948],"shape":"cicle","lineIds":[2],"tagDirection":0},{"stationId":38,"stationName":"坪山中心","position":[5818,954],"shape":"cicle","lineIds":[2],"tagDirection":3},{"stationId":39,"stationName":"文化聚落","position":[5758,962],"shape":"cicle","lineIds":[2],"tagDirection":0},{"stationId":40,"stationName":"站前路东","position":[5707,979],"shape":"cicle","lineIds":[2],"tagDirection":0},{"stationId":41,"stationName":"坪山高铁站","position":[5577,1009],"shape":"cicle","lineIds":[2]},{"stationId":42,"stationName":"赤湾","position":[1277,3272],"shape":"cicle","lineIds":[3,6]},{"stationId":43,"stationName":"蛇口港","position":[1426,3298],"shape":"cicle","lineIds":[3]},{"stationId":44,"stationName":"海上世界","position":[1453,3213],"shape":"cicle","lineIds":[3,13],"tagDirection":3},{"stationId":45,"stationName":"水湾","position":[1499,3180],"shape":"cicle","lineIds":[3]},{"stationId":46,"stationName":"东角头","position":[1614,3201],"shape":"cicle","lineIds":[3]},{"stationId":47,"stationName":"湾厦","position":[1688,3130],"shape":"cicle","lineIds":[3]},{"stationId":48,"stationName":"海月","position":[1679,3060],"shape":"cicle","lineIds":[3]},{"stationId":49,"stationName":"登良","position":[1678,2972],"shape":"cicle","lineIds":[3]},{"stationId":50,"stationName":"后海","position":[1727,2880],"shape":"cicle","lineIds":[3,12]},{"stationId":51,"stationName":"科苑","position":[1764,2794],"shape":"cicle","lineIds":[3],"tagDirection":6},{"stationId":52,"stationName":"红树湾","position":[1987,2812],"shape":"cicle","lineIds":[3],"tagDirection":7},{"stationId":53,"stationName":"侨城北","position":[2194,2624],"shape":"cicle","lineIds":[3]},{"stationId":54,"stationName":"深康","position":[2291,2599],"shape":"cicle","lineIds":[3]},{"stationId":55,"stationName":"安托山","position":[2365,2576],"shape":"cicle","lineIds":[3,9],"tagDirection":0},{"stationId":56,"stationName":"侨香","position":[2446,2566],"shape":"cicle","lineIds":[3]},{"stationId":57,"stationName":"香蜜","position":[2541,2536],"shape":"cicle","lineIds":[3]},{"stationId":58,"stationName":"香梅北","position":[2629,2525],"shape":"cicle","lineIds":[3],"tagDirection":0},{"stationId":59,"stationName":"景田","position":[2736,2530],"shape":"cicle","lineIds":[3,10]},{"stationId":60,"stationName":"莲花西","position":[2803,2597],"shape":"cicle","lineIds":[3]},{"stationId":61,"stationName":"福田","position":[2831,2663],"shape":"cicle","lineIds":[3,4,12]},{"stationId":62,"stationName":"市民中心","position":[2914,2646],"shape":"cicle","lineIds":[3,5]},{"stationId":63,"stationName":"岗厦北","position":[2982,2681],"shape":"cicle","lineIds":[3,11,12,14],"tagDirection":3},{"stationId":64,"stationName":"华强北","position":[3156,2619],"shape":"cicle","lineIds":[3,9],"tagDirection":7},{"stationId":65,"stationName":"燕南","position":[3228,2618],"shape":"cicle","lineIds":[3],"tagDirection":0},{"stationId":66,"stationName":"湖贝","position":[3557,2621],"shape":"cicle","lineIds":[3],"tagDirection":2},{"stationId":67,"stationName":"黄贝岭","position":[3666,2603],"shape":"cicle","lineIds":[3,6]},{"stationId":68,"stationName":"新秀","position":[3790,2587],"shape":"cicle","lineIds":[3]},{"stationId":69,"stationName":"莲塘口岸","position":[3858,2529],"shape":"cicle","lineIds":[3]},{"stationId":70,"stationName":"仙湖路","position":[3966,2423],"shape":"cicle","lineIds":[3]},{"stationId":71,"stationName":"莲塘","position":[4045,2423],"shape":"cicle","lineIds":[3]},{"stationId":72,"stationName":"梧桐山南","position":[4134,2485],"shape":"cicle","lineIds":[3]},{"stationId":73,"stationName":"沙头角","position":[4534,2521],"shape":"cicle","lineIds":[3]},{"stationId":74,"stationName":"海山","position":[4679,2508],"shape":"cicle","lineIds":[3]},{"stationId":75,"stationName":"盐田港西","position":[4771,2438],"shape":"cicle","lineIds":[3]},{"stationId":76,"stationName":"深外高中","position":[4748,2223],"shape":"cicle","lineIds":[3]},{"stationId":77,"stationName":"盐田路","position":[4865,2167],"shape":"cicle","lineIds":[3]},{"stationId":78,"stationName":"鸿安围","position":[4944,2158],"shape":"cicle","lineIds":[3]},{"stationId":79,"stationName":"盐田墟","position":[5066,2191],"shape":"cicle","lineIds":[3]},{"stationId":80,"stationName":"大梅沙","position":[5380,2123],"shape":"cicle","lineIds":[3]},{"stationId":81,"stationName":"小梅沙","position":[5567,2042],"shape":"cicle","lineIds":[3]},{"stationId":82,"stationName":"福保","position":[2858,2985],"shape":"cicle","lineIds":[4]},{"stationId":83,"stationName":"益田","position":[2812,2901],"shape":"cicle","lineIds":[4],"tagDirection":3},{"stationId":84,"stationName":"石厦","position":[2838,2827],"shape":"cicle","lineIds":[4,9],"tagDirection":7},{"stationId":85,"stationName":"少年宫","position":[2904,2578],"shape":"cicle","lineIds":[4,5],"tagDirection":1},{"stationId":86,"stationName":"莲花村","position":[2981,2577],"shape":"cicle","lineIds":[4,11],"tagDirection":1},{"stationId":87,"stationName":"华新","position":[3169,2574],"shape":"cicle","lineIds":[4,9],"tagDirection":1},{"stationId":88,"stationName":"通新岭","position":[3265,2573],"shape":"cicle","lineIds":[4,7],"tagDirection":3},{"stationId":89,"stationName":"红岭","position":[3348,2580],"shape":"cicle","lineIds":[4,10]},{"stationId":90,"stationName":"晒布","position":[3529,2571],"shape":"cicle","lineIds":[4],"tagDirection":7},{"stationId":91,"stationName":"翠竹","position":[3601,2502],"shape":"cicle","lineIds":[4]},{"stationId":92,"stationName":"田贝","position":[3603,2391],"shape":"cicle","lineIds":[4,9]},{"stationId":93,"stationName":"水贝","position":[3552,2324],"shape":"cicle","lineIds":[4]},{"stationId":94,"stationName":"草埔","position":[3467,2219],"shape":"cicle","lineIds":[4]},{"stationId":95,"stationName":"布吉","position":[3514,2040],"shape":"cicle","lineIds":[4,6,14]},{"stationId":96,"stationName":"木棉湾","position":[3605,1994],"shape":"cicle","lineIds":[4]},{"stationId":97,"stationName":"大芬","position":[3686,1922],"shape":"cicle","lineIds":[4]},{"stationId":98,"stationName":"丹竹头","position":[3783,1866],"shape":"cicle","lineIds":[4]},{"stationId":99,"stationName":"六约","position":[4109,1721],"shape":"cicle","lineIds":[4]},{"stationId":100,"stationName":"塘坑","position":[4229,1672],"shape":"cicle","lineIds":[4]},{"stationId":101,"stationName":"横岗","position":[4392,1579],"shape":"cicle","lineIds":[4]},{"stationId":102,"stationName":"永湖","position":[4483,1474],"shape":"cicle","lineIds":[4]},{"stationId":103,"stationName":"荷坳","position":[4545,1333],"shape":"cicle","lineIds":[4]},{"stationId":104,"stationName":"大运","position":[4584,1207],"shape":"cicle","lineIds":[4,14,15]},{"stationId":105,"stationName":"爱联","position":[4646,1089],"shape":"cicle","lineIds":[4]},{"stationId":106,"stationName":"吉祥","position":[4745,969],"shape":"cicle","lineIds":[4]},{"stationId":107,"stationName":"龙城广场","position":[4848,895],"shape":"cicle","lineIds":[4]},{"stationId":108,"stationName":"南联","position":[4958,844],"shape":"cicle","lineIds":[4]},{"stationId":109,"stationName":"双龙","position":[5076,776],"shape":"cicle","lineIds":[4,15]},{"stationId":110,"stationName":"福田口岸","position":[2975,2895],"shape":"cicle","lineIds":[5,11]},{"stationId":111,"stationName":"福民","position":[2961,2832],"shape":"cicle","lineIds":[5,9,11]},{"stationId":112,"stationName":"莲花北","position":[2896,2458],"shape":"cicle","lineIds":[5]},{"stationId":113,"stationName":"上梅林","position":[2897,2359],"shape":"cicle","lineIds":[5,10]},{"stationId":114,"stationName":"民乐","position":[2790,2122],"shape":"cicle","lineIds":[5]},{"stationId":115,"stationName":"白石龙","position":[2727,2049],"shape":"cicle","lineIds":[5]},{"stationId":116,"stationName":"深圳北站","position":[2605,1959],"shape":"cicle","lineIds":[5,6,7]},{"stationId":117,"stationName":"红山","position":[2537,1845],"shape":"cicle","lineIds":[5,7]},{"stationId":118,"stationName":"上塘","position":[2430,1692],"shape":"cicle","lineIds":[5]},{"stationId":119,"stationName":"龙胜","position":[2422,1616],"shape":"cicle","lineIds":[5]},{"stationId":120,"stationName":"龙华","position":[2526,1547],"shape":"cicle","lineIds":[5]},{"stationId":121,"stationName":"清湖","position":[2668,1423],"shape":"cicle","lineIds":[5]},{"stationId":122,"stationName":"清湖北","position":[2706,1343],"shape":"cicle","lineIds":[5]},{"stationId":123,"stationName":"竹村","position":[2705,1197],"shape":"cicle","lineIds":[5]},{"stationId":124,"stationName":"茜坑","position":[2713,1091],"shape":"cicle","lineIds":[5]},{"stationId":125,"stationName":"长湖","position":[2750,956],"shape":"cicle","lineIds":[5]},{"stationId":126,"stationName":"观澜","position":[2850,912],"shape":"cicle","lineIds":[5]},{"stationId":127,"stationName":"松元厦","position":[2951,858],"shape":"cicle","lineIds":[5]},{"stationId":128,"stationName":"观澜湖","position":[3065,848],"shape":"cicle","lineIds":[5]},{"stationId":129,"stationName":"牛湖","position":[3195,818],"shape":"cicle","lineIds":[5]},{"stationId":130,"stationName":"荔湾","position":[1237,3086],"shape":"cicle","lineIds":[6]},{"stationId":131,"stationName":"铁路公园","position":[1202,3035],"shape":"cicle","lineIds":[6]},{"stationId":132,"stationName":"妈湾","position":[1162,2985],"shape":"cicle","lineIds":[6]},{"stationId":133,"stationName":"前湾公园","position":[1198,2903],"shape":"cicle","lineIds":[6]},{"stationId":134,"stationName":"前湾","position":[1260,2840],"shape":"cicle","lineIds":[6]},{"stationId":135,"stationName":"桂湾","position":[1282,2740],"shape":"cicle","lineIds":[6]},{"stationId":136,"stationName":"临海","position":[1195,2622],"shape":"cicle","lineIds":[6]},{"stationId":137,"stationName":"宝华","position":[1153,2567],"shape":"cicle","lineIds":[6]},{"stationId":138,"stationName":"翻身","position":[1235,2467],"shape":"cicle","lineIds":[6]},{"stationId":139,"stationName":"灵芝","position":[1344,2374],"shape":"cicle","lineIds":[6,13]},{"stationId":140,"stationName":"洪浪北","position":[1408,2318],"shape":"cicle","lineIds":[6]},{"stationId":141,"stationName":"兴东","position":[1492,2246],"shape":"cicle","lineIds":[6]},{"stationId":142,"stationName":"留仙洞","position":[1738,2258],"shape":"cicle","lineIds":[6]},{"stationId":143,"stationName":"西丽","position":[1846,2257],"shape":"cicle","lineIds":[6,9]},{"stationId":144,"stationName":"大学城","position":[1955,2244],"shape":"cicle","lineIds":[6]},{"stationId":145,"stationName":"塘朗","position":[2299,2163],"shape":"cicle","lineIds":[6]},{"stationId":146,"stationName":"长岭陂","position":[2405,2070],"shape":"cicle","lineIds":[6]},{"stationId":147,"stationName":"民治","position":[2711,1888],"shape":"cicle","lineIds":[6]},{"stationId":148,"stationName":"五和","position":[2909,1795],"shape":"cicle","lineIds":[6,11]},{"stationId":149,"stationName":"坂田","position":[3011,1789],"shape":"cicle","lineIds":[6]},{"stationId":150,"stationName":"杨美","position":[3102,1796],"shape":"cicle","lineIds":[6]},{"stationId":151,"stationName":"上水径","position":[3356,1843],"shape":"cicle","lineIds":[6]},{"stationId":152,"stationName":"下水径","position":[3409,1915],"shape":"cicle","lineIds":[6]},{"stationId":153,"stationName":"长龙","position":[3440,1983],"shape":"cicle","lineIds":[6]},{"stationId":154,"stationName":"百鸽笼","position":[3606,2109],"shape":"cicle","lineIds":[6]},{"stationId":155,"stationName":"布心","position":[3683,2254],"shape":"cicle","lineIds":[6]},{"stationId":156,"stationName":"太安","position":[3673,2329],"shape":"cicle","lineIds":[6,9]},{"stationId":157,"stationName":"怡景","position":[3703,2505],"shape":"cicle","lineIds":[6]},{"stationId":158,"stationName":"松岗","position":[599,341],"shape":"cicle","lineIds":[7,12]},{"stationId":159,"stationName":"溪头","position":[679,317],"shape":"cicle","lineIds":[7]},{"stationId":160,"stationName":"松岗公园","position":[785,285],"shape":"cicle","lineIds":[7]},{"stationId":161,"stationName":"薯田埔","position":[979,254],"shape":"cicle","lineIds":[7]},{"stationId":162,"stationName":"合水口","position":[1112,248],"shape":"cicle","lineIds":[7]},{"stationId":163,"stationName":"公明广场","position":[1216,289],"shape":"cicle","lineIds":[7]},{"stationId":164,"stationName":"红花山","position":[1375,287],"shape":"cicle","lineIds":[7]},{"stationId":165,"stationName":"楼村","position":[1536,305],"shape":"cicle","lineIds":[7]},{"stationId":166,"stationName":"科学公园","position":[1643,289],"shape":"cicle","lineIds":[7]},{"stationId":167,"stationName":"光明","position":[1755,347],"shape":"cicle","lineIds":[7,8]},{"stationId":168,"stationName":"光明大街","position":[1729,444],"shape":"cicle","lineIds":[7]},{"stationId":169,"stationName":"凤凰城","position":[1631,589],"shape":"cicle","lineIds":[7]},{"stationId":170,"stationName":"长圳","position":[1611,800],"shape":"cicle","lineIds":[7]},{"stationId":171,"stationName":"上屋","position":[1688,1173],"shape":"cicle","lineIds":[7]},{"stationId":172,"stationName":"官田","position":[1799,1231],"shape":"cicle","lineIds":[7]},{"stationId":173,"stationName":"阳台山东","position":[2220,1383],"shape":"cicle","lineIds":[7]},{"stationId":174,"stationName":"元芬","position":[2354,1501],"shape":"cicle","lineIds":[7]},{"stationId":175,"stationName":"上芬","position":[2469,1660],"shape":"cicle","lineIds":[7]},{"stationId":176,"stationName":"梅林关","position":[2834,2119],"shape":"cicle","lineIds":[7]},{"stationId":177,"stationName":"翰岭","position":[2991,2322],"shape":"cicle","lineIds":[7],"tagDirection":1},{"stationId":178,"stationName":"银湖","position":[3201,2381],"shape":"cicle","lineIds":[7,10]},{"stationId":179,"stationName":"八卦岭","position":[3249,2444],"shape":"cicle","lineIds":[7,9],"tagDirection":6},{"stationId":180,"stationName":"体育中心","position":[3263,2517],"shape":"cicle","lineIds":[7],"tagDirection":3},{"stationId":181,"stationName":"圳美","position":[1795,186],"shape":"cicle","lineIds":[8]},{"stationId":182,"stationName":"中大","position":[1838,96],"shape":"cicle","lineIds":[8]},{"stationId":183,"stationName":"深理工","position":[1988,0],"shape":"cicle","lineIds":[8]},{"stationId":184,"stationName":"西丽湖","position":[1959,2128],"shape":"cicle","lineIds":[9]},{"stationId":185,"stationName":"茶光","position":[1845,2322],"shape":"cicle","lineIds":[9]},{"stationId":186,"stationName":"珠光","position":[1908,2381],"shape":"cicle","lineIds":[9]},{"stationId":187,"stationName":"龙井","position":[2049,2424],"shape":"cicle","lineIds":[9]},{"stationId":188,"stationName":"桃源村","position":[2122,2465],"shape":"cicle","lineIds":[9]},{"stationId":189,"stationName":"深云","position":[2240,2498],"shape":"cicle","lineIds":[9]},{"stationId":190,"stationName":"农林","position":[2484,2660],"shape":"cicle","lineIds":[9]},{"stationId":191,"stationName":"上沙","position":[2657,2818],"shape":"cicle","lineIds":[9]},{"stationId":192,"stationName":"沙尾","position":[2728,2856],"shape":"cicle","lineIds":[9]},{"stationId":193,"stationName":"皇岗村","position":[2900,2832],"shape":"cicle","lineIds":[9],"tagDirection":4},{"stationId":194,"stationName":"皇岗口岸","position":[3042,2846],"shape":"cicle","lineIds":[9]},{"stationId":195,"stationName":"赤尾","position":[3138,2750],"shape":"cicle","lineIds":[9],"tagDirection":3},{"stationId":196,"stationName":"华强南","position":[3170,2692],"shape":"cicle","lineIds":[9],"tagDirection":3},{"stationId":197,"stationName":"黄木岗","position":[3175,2507],"shape":"cicle","lineIds":[9,14]},{"stationId":198,"stationName":"红岭北","position":[3345,2443],"shape":"cicle","lineIds":[9,10],"tagDirection":0},{"stationId":199,"stationName":"笋岗","position":[3415,2430],"shape":"cicle","lineIds":[9]},{"stationId":200,"stationName":"洪湖","position":[3527,2403],"shape":"cicle","lineIds":[9]},{"stationId":201,"stationName":"前湾","position":[1260,2840],"shape":"cicle","lineIds":[10],"tagDirection":2},{"stationId":202,"stationName":"梦海","position":[1290,2875],"shape":"cicle","lineIds":[10]},{"stationId":203,"stationName":"怡海","position":[1340,2914],"shape":"cicle","lineIds":[10]},{"stationId":204,"stationName":"荔林","position":[1434,2945],"shape":"cicle","lineIds":[10]},{"stationId":205,"stationName":"南油西","position":[1486,2973],"shape":"cicle","lineIds":[10]},{"stationId":206,"stationName":"南油","position":[1560,2961],"shape":"cicle","lineIds":[10,13]},{"stationId":207,"stationName":"南山书城","position":[1589,2870],"shape":"cicle","lineIds":[10],"tagDirection":3},{"stationId":208,"stationName":"深大南","position":[1659,2804],"shape":"cicle","lineIds":[10]},{"stationId":209,"stationName":"粤海门","position":[1758,2737],"shape":"cicle","lineIds":[10],"tagDirection":4},{"stationId":210,"stationName":"高新南","position":[1803,2736],"shape":"cicle","lineIds":[10]},{"stationId":211,"stationName":"红树湾南","position":[2017,2834],"shape":"cicle","lineIds":[10,12],"tagDirection":4},{"stationId":212,"stationName":"深湾","position":[2088,2833],"shape":"cicle","lineIds":[10]},{"stationId":213,"stationName":"深圳湾公园","position":[2233,2848],"shape":"cicle","lineIds":[10]},{"stationId":214,"stationName":"下沙","position":[2546,2775],"shape":"cicle","lineIds":[10]},{"stationId":215,"stationName":"香梅","position":[2699,2610],"shape":"cicle","lineIds":[10]},{"stationId":216,"stationName":"梅景","position":[2682,2453],"shape":"cicle","lineIds":[10]},{"stationId":217,"stationName":"下梅林","position":[2720,2407],"shape":"cicle","lineIds":[10]},{"stationId":218,"stationName":"梅村","position":[2826,2379],"shape":"cicle","lineIds":[10]},{"stationId":219,"stationName":"孖岭","position":[2980,2379],"shape":"cicle","lineIds":[10,11]},{"stationId":220,"stationName":"泥岗","position":[3279,2386],"shape":"cicle","lineIds":[10]},{"stationId":221,"stationName":"园岭","position":[3347,2501],"shape":"cicle","lineIds":[10],"tagDirection":2},{"stationId":222,"stationName":"红岭南","position":[3350,2664],"shape":"cicle","lineIds":[10]},{"stationId":223,"stationName":"鹿丹村","position":[3388,2707],"shape":"cicle","lineIds":[10]},{"stationId":224,"stationName":"人民南","position":[3484,2709],"shape":"cicle","lineIds":[10],"tagDirection":2},{"stationId":225,"stationName":"向西村","position":[3560,2666],"shape":"cicle","lineIds":[10],"tagDirection":3},{"stationId":226,"stationName":"文锦","position":[3612,2641],"shape":"cicle","lineIds":[10],"tagDirection":3},{"stationId":227,"stationName":"双拥街","position":[3632,1077],"shape":"cicle","lineIds":[11]},{"stationId":228,"stationName":"平湖","position":[3560,1127],"shape":"cicle","lineIds":[11]},{"stationId":229,"stationName":"禾花","position":[3513,1203],"shape":"cicle","lineIds":[11]},{"stationId":230,"stationName":"华南城","position":[3525,1304],"shape":"cicle","lineIds":[11]},{"stationId":231,"stationName":"木古","position":[3527,1370],"shape":"cicle","lineIds":[11]},{"stationId":232,"stationName":"上李朗","position":[3573,1523],"shape":"cicle","lineIds":[11]},{"stationId":233,"stationName":"凉帽山","position":[3492,1601],"shape":"cicle","lineIds":[11]},{"stationId":234,"stationName":"甘坑","position":[3360,1585],"shape":"cicle","lineIds":[11]},{"stationId":235,"stationName":"雪象","position":[3092,1495],"shape":"cicle","lineIds":[11]},{"stationId":236,"stationName":"岗头","position":[3021,1493],"shape":"cicle","lineIds":[11]},{"stationId":237,"stationName":"华为","position":[2974,1559],"shape":"cicle","lineIds":[11]},{"stationId":238,"stationName":"贝尔路","position":[2966,1647],"shape":"cicle","lineIds":[11]},{"stationId":239,"stationName":"坂田北","position":[2936,1715],"shape":"cicle","lineIds":[11]},{"stationId":240,"stationName":"光雅园","position":[2911,1900],"shape":"cicle","lineIds":[11]},{"stationId":241,"stationName":"南坑","position":[2908,1955],"shape":"cicle","lineIds":[11]},{"stationId":242,"stationName":"雅宝","position":[2905,2018],"shape":"cicle","lineIds":[11]},{"stationId":243,"stationName":"冬瓜岭","position":[2978,2459],"shape":"cicle","lineIds":[11]},{"stationId":244,"stationName":"碧头","position":[502,219],"shape":"cicle","lineIds":[12]},{"stationId":245,"stationName":"后亭","position":[571,538],"shape":"cicle","lineIds":[12]},{"stationId":246,"stationName":"沙井","position":[547,755],"shape":"cicle","lineIds":[12]},{"stationId":247,"stationName":"马安山","position":[472,894],"shape":"cicle","lineIds":[12]},{"stationId":248,"stationName":"塘尾","position":[481,1043],"shape":"cicle","lineIds":[12]},{"stationId":249,"stationName":"桥头","position":[412,1182],"shape":"cicle","lineIds":[12]},{"stationId":250,"stationName":"福永","position":[363,1328],"shape":"cicle","lineIds":[12,13]},{"stationId":251,"stationName":"机场北","position":[284,1552],"shape":"cicle","lineIds":[12,16]},{"stationId":252,"stationName":"机场","position":[439,1824],"shape":"cicle","lineIds":[12]},{"stationId":253,"stationName":"碧海湾","position":[863,2313],"shape":"cicle","lineIds":[12]},{"stationId":254,"stationName":"宝安","position":[1106,2518],"shape":"cicle","lineIds":[12],"tagDirection":5},{"stationId":255,"stationName":"南山","position":[1537,2823],"shape":"cicle","lineIds":[12,13]},{"stationId":256,"stationName":"海上田园东","position":[115,752],"shape":"cicle","lineIds":[13]},{"stationId":257,"stationName":"海上田园南","position":[46,881],"shape":"cicle","lineIds":[13],"tagDirection":2},{"stationId":258,"stationName":"国展北","position":[71,1032],"shape":"cicle","lineIds":[13,16]},{"stationId":259,"stationName":"国展","position":[82,1104],"shape":"cicle","lineIds":[13,16]},{"stationId":260,"stationName":"福海西","position":[197,1180],"shape":"cicle","lineIds":[13]},{"stationId":261,"stationName":"桥头西","position":[277,1233],"shape":"cicle","lineIds":[13]},{"stationId":262,"stationName":"怀德","position":[491,1397],"shape":"cicle","lineIds":[13]},{"stationId":263,"stationName":"福围","position":[514,1495],"shape":"cicle","lineIds":[13]},{"stationId":264,"stationName":"兴围","position":[647,1635],"shape":"cicle","lineIds":[13]},{"stationId":265,"stationName":"黄田","position":[759,1762],"shape":"cicle","lineIds":[13],"tagDirection":1},{"stationId":266,"stationName":"钟屋南","position":[894,1878],"shape":"cicle","lineIds":[13]},{"stationId":267,"stationName":"西乡桃源","position":[926,1954],"shape":"cicle","lineIds":[13]},{"stationId":268,"stationName":"平峦山","position":[1000,2032],"shape":"cicle","lineIds":[13]},{"stationId":269,"stationName":"宝田一路","position":[1087,2119],"shape":"cicle","lineIds":[13]},{"stationId":270,"stationName":"宝安客运站","position":[1139,2170],"shape":"cicle","lineIds":[13]},{"stationId":271,"stationName":"流塘","position":[1195,2226],"shape":"cicle","lineIds":[13]},{"stationId":272,"stationName":"上川","position":[1254,2285],"shape":"cicle","lineIds":[13]},{"stationId":273,"stationName":"新安公园","position":[1411,2441],"shape":"cicle","lineIds":[13]},{"stationId":274,"stationName":"同乐南","position":[1490,2500],"shape":"cicle","lineIds":[13]},{"stationId":275,"stationName":"中山公园","position":[1534,2594],"shape":"cicle","lineIds":[13]},{"stationId":276,"stationName":"南头古城","position":[1544,2679],"shape":"cicle","lineIds":[13]},{"stationId":277,"stationName":"南光","position":[1545,2897],"shape":"cicle","lineIds":[13]},{"stationId":278,"stationName":"四海","position":[1522,3060],"shape":"cicle","lineIds":[13]},{"stationId":279,"stationName":"花果山","position":[1493,3120],"shape":"cicle","lineIds":[13],"tagDirection":6},{"stationId":280,"stationName":"太子湾","position":[1413,3336],"shape":"cicle","lineIds":[13]},{"stationId":281,"stationName":"左炮台东","position":[1281,3369],"shape":"cicle","lineIds":[13]},{"stationId":282,"stationName":"罗湖北","position":[3432,2256],"shape":"cicle","lineIds":[14]},{"stationId":283,"stationName":"石芽岭","position":[3682,1779],"shape":"cicle","lineIds":[14]},{"stationId":284,"stationName":"六约北","position":[4060,1638],"shape":"cicle","lineIds":[14]},{"stationId":285,"stationName":"四联","position":[4231,1580],"shape":"cicle","lineIds":[14]},{"stationId":286,"stationName":"坳背","position":[4437,1377],"shape":"cicle","lineIds":[14]},{"stationId":287,"stationName":"嶂背","position":[4798,1141],"shape":"cicle","lineIds":[14]},{"stationId":288,"stationName":"南约","position":[5083,1183],"shape":"cicle","lineIds":[14]},{"stationId":289,"stationName":"宝龙","position":[5280,1181],"shape":"cicle","lineIds":[14]},{"stationId":290,"stationName":"锦龙","position":[5641,1262],"shape":"cicle","lineIds":[14]},{"stationId":291,"stationName":"坪山围","position":[5739,1150],"shape":"cicle","lineIds":[14,15]},{"stationId":292,"stationName":"坪山广场","position":[5790,1058],"shape":"cicle","lineIds":[14]},{"stationId":293,"stationName":"坪山中心","position":[5818,995],"shape":"cicle","lineIds":[14],"tagDirection":5},{"stationId":294,"stationName":"坑梓","position":[6012,610],"shape":"cicle","lineIds":[14]},{"stationId":295,"stationName":"沙田","position":[6308,502],"shape":"cicle","lineIds":[14]},{"stationId":296,"stationName":"大运中心","position":[4510,1111],"shape":"cicle","lineIds":[15]},{"stationId":297,"stationName":"龙城公园","position":[4486,1019],"shape":"cicle","lineIds":[15]},{"stationId":298,"stationName":"黄阁坑","position":[4484,873],"shape":"cicle","lineIds":[15]},{"stationId":299,"stationName":"愉园","position":[4536,781],"shape":"cicle","lineIds":[15]},{"stationId":300,"stationName":"回龙埔","position":[4661,772],"shape":"cicle","lineIds":[15]},{"stationId":301,"stationName":"尚景","position":[4738,770],"shape":"cicle","lineIds":[15]},{"stationId":302,"stationName":"盛平","position":[4829,748],"shape":"cicle","lineIds":[15]},{"stationId":303,"stationName":"龙园","position":[4966,754],"shape":"cicle","lineIds":[15]},{"stationId":304,"stationName":"新塘围","position":[5167,809],"shape":"cicle","lineIds":[15]},{"stationId":305,"stationName":"龙东","position":[5266,849],"shape":"cicle","lineIds":[15]},{"stationId":306,"stationName":"宝龙同乐","position":[5425,972],"shape":"cicle","lineIds":[15]},{"stationId":307,"stationName":"坪山","position":[5577,1007],"shape":"cicle","lineIds":[15],"tagDirection":4},{"stationId":308,"stationName":"新和","position":[5657,1032],"shape":"cicle","lineIds":[15]},{"stationId":309,"stationName":"六和","position":[5680,1104],"shape":"cicle","lineIds":[15]},{"stationId":310,"stationName":"坪环","position":[5769,1210],"shape":"cicle","lineIds":[15],"tagDirection":5},{"stationId":311,"stationName":"东纵纪念馆","position":[5854,1204],"shape":"cicle","lineIds":[15],"tagDirection":4},{"stationId":312,"stationName":"沙壆","position":[5952,1199],"shape":"cicle","lineIds":[15],"tagDirection":2},{"stationId":313,"stationName":"燕子湖","position":[6056,1179],"shape":"cicle","lineIds":[15]},{"stationId":314,"stationName":"石井","position":[6133,1145],"shape":"cicle","lineIds":[15]},{"stationId":315,"stationName":"技术大学","position":[6314,1080],"shape":"cicle","lineIds":[15]},{"stationId":316,"stationName":"田心","position":[6444,1126],"shape":"cicle","lineIds":[15]},{"stationId":317,"stationName":"国展南","position":[86,1226],"shape":"cicle","lineIds":[16]},{"stationId":318,"stationName":"会展城","position":[0,942],"shape":"cicle","lineIds":[16]}],"lines":[{"lineId":1,"lineName":"1号线/罗宝线","color":"#00AB4F","stationIds":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30],"sign":"1","order":1,"bendFirst":[true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true]},{"lineId":2,"lineName":"坪山云巴1号线","color":"#2249A3","stationIds":[31,32,33,34,35,36,37,38,39,40,41],"sign":"坪山云巴1","order":2,"bendFirst":[true,true,true,true,true,true,true,true,true,false,true]},{"lineId":3,"lineName":"2号线/8号线","color":"#B35A1F","stationIds":[42,43,44,45,46,47,48,49,50,51,52,15,53,54,55,56,57,58,59,60,61,62,63,64,65,4,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81],"sign":"2","order":3,"bendFirst":[true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true]},{"lineId":4,"lineName":"3号线/龙岗线","color":"#01A2E2","stationIds":[82,83,84,9,61,85,86,87,88,89,3,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109],"sign":"3","order":4,"bendFirst":[true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true]},{"lineId":5,"lineName":"4号线/龙华线","color":"#CC0000","stationIds":[110,111,8,62,85,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129],"sign":"4","order":5,"bendFirst":[true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true]},{"lineId":6,"lineName":"5号线/环中线","color":"#96499A","stationIds":[42,130,131,132,133,134,135,22,136,137,24,138,139,140,141,142,143,144,145,146,116,147,148,149,150,151,152,153,95,154,155,156,157,67],"sign":"5","order":6,"bendFirst":[true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true]},{"lineId":7,"lineName":"6号线/光明线","color":"#008187","stationIds":[158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,117,116,176,177,178,179,180,88,5],"sign":"6","order":7,"bendFirst":[true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true]},{"lineId":8,"lineName":"6号线支线","color":"#00AD8E","stationIds":[167,181,182,183],"sign":"6","order":8,"bendFirst":[true,true,true,true]},{"lineId":9,"lineName":"7号线/西丽线","color":"#2249A3","stationIds":[184,143,185,186,187,188,189,55,190,11,191,192,84,193,111,194,195,196,64,87,197,179,198,199,200,92,156],"sign":"7","order":9,"bendFirst":[true,true,true,true,true,true,true,true,true,false,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true]},{"lineId":10,"lineName":"9号线/梅林线","color":"#86656D","stationIds":[201,202,203,204,205,206,207,208,209,210,211,212,213,214,11,215,59,216,217,218,113,219,178,220,198,221,89,222,223,224,225,226],"sign":"9","order":10,"bendFirst":[true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true]},{"lineId":11,"lineName":"10号线/坂田线","color":"#EA6183","stationIds":[227,228,229,230,231,232,233,234,235,236,237,238,239,148,240,241,242,219,243,86,63,7,111,110],"sign":"10","order":11,"bendFirst":[true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true]},{"lineId":12,"lineName":"11号线/机场线","color":"#741D51","stationIds":[244,158,245,246,247,248,249,250,251,252,253,254,22,255,50,211,11,61,63],"sign":"11","order":12,"bendFirst":[true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,false,true]},{"lineId":13,"lineName":"12号线/南宝线","color":"#A49ABD","stationIds":[256,257,258,259,260,261,250,262,263,30,264,265,266,267,268,269,270,271,272,139,273,274,275,276,19,255,277,206,278,279,44,280,281],"sign":"12","order":13,"bendFirst":[true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true]},{"lineId":14,"lineName":"14号线/东部快线","color":"#DAC17D","stationIds":[63,197,282,95,283,284,285,286,104,287,288,289,290,291,292,293,294,295],"sign":"14","order":14,"bendFirst":[true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true]},{"lineId":15,"lineName":"16号线/龙坪线","color":"#1C24A4","stationIds":[104,296,297,298,299,300,301,302,303,109,304,305,306,307,308,309,291,310,311,312,313,314,315,316],"sign":"16","order":15,"bendFirst":[true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true]},{"lineId":16,"lineName":"20号线","color":"#019AC3","stationIds":[251,317,259,258,318],"sign":"20","order":16,"bendFirst":[true,true,true,true,true]}],"title":"深圳"}
================================================
FILE: public/tianjing.json
================================================
{"stations":[{"stationId":1,"stationName":"刘园","position":[538,599],"shape":"cicle","lineIds":[1]},{"stationId":2,"stationName":"瑞景新苑","position":[598,677],"shape":"cicle","lineIds":[1]},{"stationId":3,"stationName":"佳园里","position":[661,759],"shape":"cicle","lineIds":[1]},{"stationId":4,"stationName":"本溪路","position":[774,824],"shape":"cicle","lineIds":[1]},{"stationId":5,"stationName":"勤俭道","position":[916,895],"shape":"cicle","lineIds":[1]},{"stationId":6,"stationName":"洪湖里","position":[998,970],"shape":"cicle","lineIds":[1]},{"stationId":7,"stationName":"西站","position":[1047,1109],"shape":"cicle","lineIds":[1,6],"tagDirection":4},{"stationId":8,"stationName":"西北角","position":[1096,1213],"shape":"cicle","lineIds":[1]},{"stationId":9,"stationName":"西南角","position":[1099,1305],"shape":"cicle","lineIds":[1,2]},{"stationId":10,"stationName":"二纬路","position":[1126,1376],"shape":"cicle","lineIds":[1]},{"stationId":11,"stationName":"海光寺","position":[1154,1455],"shape":"cicle","lineIds":[1]},{"stationId":12,"stationName":"鞍山道","position":[1252,1475],"shape":"cicle","lineIds":[1]},{"stationId":13,"stationName":"营口道","position":[1356,1492],"shape":"cicle","lineIds":[1,3]},{"stationId":14,"stationName":"小白楼","position":[1533,1530],"shape":"cicle","lineIds":[1],"tagDirection":5},{"stationId":15,"stationName":"下瓦房","position":[1608,1627],"shape":"cicle","lineIds":[1,5]},{"stationId":16,"stationName":"南楼","position":[1618,1719],"shape":"cicle","lineIds":[1],"tagDirection":2},{"stationId":17,"stationName":"土城","position":[1702,1787],"shape":"cicle","lineIds":[1]},{"stationId":18,"stationName":"陈塘庄","position":[1864,1844],"shape":"cicle","lineIds":[1]},{"stationId":19,"stationName":"复兴门","position":[1981,1907],"shape":"cicle","lineIds":[1]},{"stationId":20,"stationName":"华山里","position":[1998,2017],"shape":"cicle","lineIds":[1],"tagDirection":2},{"stationId":21,"stationName":"财经大学","position":[2148,2039],"shape":"cicle","lineIds":[1,9]},{"stationId":22,"stationName":"双林","position":[2300,2105],"shape":"cicle","lineIds":[1]},{"stationId":23,"stationName":"李楼","position":[2551,2134],"shape":"cicle","lineIds":[1]},{"stationId":24,"stationName":"洪泥河东","position":[2828,2203],"shape":"cicle","lineIds":[1]},{"stationId":25,"stationName":"高庄子","position":[2987,2248],"shape":"cicle","lineIds":[1]},{"stationId":26,"stationName":"国家会展中心","position":[3219,2389],"shape":"cicle","lineIds":[1]},{"stationId":27,"stationName":"国瑞路","position":[3286,2459],"shape":"cicle","lineIds":[1]},{"stationId":28,"stationName":"东沽路","position":[3463,2555],"shape":"cicle","lineIds":[1]},{"stationId":29,"stationName":"滨海国际机场","position":[3005,1358],"shape":"cicle","lineIds":[2]},{"stationId":30,"stationName":"空港经济区","position":[2729,1102],"shape":"cicle","lineIds":[2]},{"stationId":31,"stationName":"国山路","position":[2479,1138],"shape":"cicle","lineIds":[2]},{"stationId":32,"stationName":"登州路","position":[2339,1174],"shape":"cicle","lineIds":[2]},{"stationId":33,"stationName":"屿东城","position":[2177,1207],"shape":"cicle","lineIds":[2,9]},{"stationId":34,"stationName":"翠阜新村","position":[1959,1239],"shape":"cicle","lineIds":[2],"tagDirection":3},{"stationId":35,"stationName":"靖江路","position":[1821,1254],"shape":"cicle","lineIds":[2,5],"tagDirection":3},{"stationId":36,"stationName":"顺驰桥","position":[1719,1265],"shape":"cicle","lineIds":[2]},{"stationId":37,"stationName":"远洋国际中心","position":[1589,1314],"shape":"cicle","lineIds":[2],"tagDirection":3},{"stationId":38,"stationName":"天津站","position":[1496,1301],"shape":"cicle","lineIds":[2,3,8],"tagDirection":3},{"stationId":39,"stationName":"建国道","position":[1389,1289],"shape":"cicle","lineIds":[2]},{"stationId":40,"stationName":"东南角","position":[1282,1310],"shape":"cicle","lineIds":[2,4]},{"stationId":41,"stationName":"鼓楼","position":[1191,1307],"shape":"cicle","lineIds":[2]},{"stationId":42,"stationName":"广开四马路","position":[999,1302],"shape":"cicle","lineIds":[2]},{"stationId":43,"stationName":"长虹公园","position":[873,1301],"shape":"cicle","lineIds":[2,6]},{"stationId":44,"stationName":"咸阳路","position":[729,1301],"shape":"cicle","lineIds":[2]},{"stationId":45,"stationName":"芥园西道","position":[579,1252],"shape":"cicle","lineIds":[2]},{"stationId":46,"stationName":"卞兴","position":[469,1217],"shape":"cicle","lineIds":[2],"tagDirection":7},{"stationId":47,"stationName":"曹庄","position":[289,1222],"shape":"cicle","lineIds":[2]},{"stationId":48,"stationName":"小淀","position":[1955,287],"shape":"cicle","lineIds":[3]},{"stationId":49,"stationName":"丰产河","position":[1739,297],"shape":"cicle","lineIds":[3]},{"stationId":50,"stationName":"华北集团","position":[1659,403],"shape":"cicle","lineIds":[3]},{"stationId":51,"stationName":"天士力","position":[1529,620],"shape":"cicle","lineIds":[3],"tagDirection":2},{"stationId":52,"stationName":"宜兴埠","position":[1569,703],"shape":"cicle","lineIds":[3],"tagDirection":2},{"stationId":53,"stationName":"张兴庄","position":[1527,759],"shape":"cicle","lineIds":[3,5]},{"stationId":54,"stationName":"铁东路","position":[1449,880],"shape":"cicle","lineIds":[3]},{"stationId":55,"stationName":"北站","position":[1453,1012],"shape":"cicle","lineIds":[3,6],"tagDirection":1},{"stationId":56,"stationName":"中山路","position":[1439,1061],"shape":"cicle","lineIds":[3]},{"stationId":57,"stationName":"金狮桥","position":[1459,1168],"shape":"cicle","lineIds":[3]},{"stationId":58,"stationName":"津湾广场","position":[1459,1359],"shape":"cicle","lineIds":[3],"tagDirection":6},{"stationId":59,"stationName":"和平路","position":[1426,1410],"shape":"cicle","lineIds":[3,4]},{"stationId":60,"stationName":"西康路","position":[1259,1557],"shape":"cicle","lineIds":[3]},{"stationId":61,"stationName":"吴家窑","position":[1239,1681],"shape":"cicle","lineIds":[3]},{"stationId":62,"stationName":"天塔","position":[1159,1721],"shape":"cicle","lineIds":[3]},{"stationId":63,"stationName":"周邓纪念馆","position":[1019,1752],"shape":"cicle","lineIds":[3]},{"stationId":64,"stationName":"红旗南路","position":[860,1751],"shape":"cicle","lineIds":[3,6],"tagDirection":1},{"stationId":65,"stationName":"王顶堤","position":[769,1758],"shape":"cicle","lineIds":[3]},{"stationId":66,"stationName":"华苑","position":[669,1807],"shape":"cicle","lineIds":[3]},{"stationId":67,"stationName":"大学城","position":[499,1955],"shape":"cicle","lineIds":[3],"tagDirection":3},{"stationId":68,"stationName":"高新区","position":[369,1960],"shape":"cicle","lineIds":[3]},{"stationId":69,"stationName":"学府工业区","position":[169,1960],"shape":"cicle","lineIds":[3]},{"stationId":70,"stationName":"杨伍庄","position":[79,1996],"shape":"cicle","lineIds":[3]},{"stationId":71,"stationName":"南站","position":[0,2108],"shape":"cicle","lineIds":[3]},{"stationId":72,"stationName":"金街","position":[1301,1361],"shape":"cicle","lineIds":[4]},{"stationId":73,"stationName":"徐州道","position":[1564,1524],"shape":"cicle","lineIds":[4],"tagDirection":0},{"stationId":74,"stationName":"六纬路","position":[1654,1522],"shape":"cicle","lineIds":[4],"tagDirection":4},{"stationId":75,"stationName":"成林道","position":[1835,1376],"shape":"cicle","lineIds":[4,5]},{"stationId":76,"stationName":"泰昌路","position":[1944,1456],"shape":"cicle","lineIds":[4]},{"stationId":77,"stationName
gitextract_0n7p8h2y/ ├── .gitignore ├── .vscode/ │ └── settings.json ├── README-cn.md ├── README.md ├── package.json ├── public/ │ ├── beijing.json │ ├── changsha.json │ ├── guangzhou.json │ ├── hongkong.json │ ├── index.html │ ├── manifest.json │ ├── robots.txt │ ├── shanghai.json │ ├── shenzhen.json │ └── tianjing.json ├── src/ │ ├── Common/ │ │ ├── AutoGrowthInput.scss │ │ ├── AutoGrowthInput.tsx │ │ ├── api.ts │ │ ├── color.ts │ │ ├── const.ts │ │ ├── teyvat.ts │ │ └── util.ts │ ├── Data/ │ │ ├── Shape.ts │ │ └── UserData.ts │ ├── DataStructure/ │ │ ├── Bend.ts │ │ ├── ConnectType.ts │ │ ├── Direction.ts │ │ ├── Display.ts │ │ ├── Line.ts │ │ ├── LineRecord.ts │ │ ├── Mode.ts │ │ ├── Point.ts │ │ ├── Rail.ts │ │ ├── RailPair.ts │ │ ├── Station.ts │ │ ├── Straight.ts │ │ ├── Track.ts │ │ └── Vector.ts │ ├── Entrance/ │ │ ├── App.scss │ │ ├── App.test.tsx │ │ ├── App.tsx │ │ ├── reportWebVitals.js │ │ └── setupTests.js │ ├── Grid/ │ │ └── Scale.ts │ ├── Line/ │ │ ├── Handle.ts │ │ └── LinePoints.ts │ ├── Render/ │ │ ├── Card/ │ │ │ ├── Cards.scss │ │ │ ├── Cards.tsx │ │ │ ├── LineCard.scss │ │ │ ├── LineCard.tsx │ │ │ ├── StationCard.scss │ │ │ └── StationCard.tsx │ │ ├── Component/ │ │ │ └── LineRender.tsx │ │ ├── Delete/ │ │ │ ├── DeleteConfirmation.scss │ │ │ └── DeleteConfirmation.tsx │ │ ├── ErrorFallback/ │ │ │ ├── ErrorFallback.scss │ │ │ └── ErrorFallback.tsx │ │ ├── Header/ │ │ │ ├── Component/ │ │ │ │ ├── OpacityControl.scss │ │ │ │ ├── OpacityControl.tsx │ │ │ │ ├── ShapeSelector.scss │ │ │ │ └── ShapeSelector.tsx │ │ │ ├── Menu.scss │ │ │ └── Menu.tsx │ │ ├── Layer/ │ │ │ ├── DevelopLayer.scss │ │ │ ├── DevelopLayer.tsx │ │ │ ├── RenderLayer.scss │ │ │ ├── RenderLayer.tsx │ │ │ ├── ScaleLayer.scss │ │ │ └── ScaleLayer.tsx │ │ └── Recovery/ │ │ ├── Recovery.scss │ │ └── Recovery.tsx │ ├── Resource/ │ │ ├── Icon/ │ │ │ ├── airwave.tsx │ │ │ ├── arrow.tsx │ │ │ ├── auto.tsx │ │ │ ├── bolt.tsx │ │ │ ├── edit.tsx │ │ │ ├── expand.tsx │ │ │ ├── export.tsx │ │ │ ├── finished.tsx │ │ │ ├── goto.tsx │ │ │ ├── infinity.tsx │ │ │ ├── pageview.tsx │ │ │ ├── plus.tsx │ │ │ ├── shrink.tsx │ │ │ └── touch.tsx │ │ └── Shape/ │ │ └── shape.tsx │ ├── Style/ │ │ └── Cursor.ts │ ├── WelcomeTour/ │ │ ├── Driver.ts │ │ ├── HightLights.tsx │ │ ├── Steps/ │ │ │ ├── common-operation.ts │ │ │ ├── export.ts │ │ │ ├── line-card.ts │ │ │ ├── quick-edit.ts │ │ │ ├── skip.ts │ │ │ ├── station-card.ts │ │ │ └── tag-setting.ts │ │ ├── WelcomeTour.scss │ │ └── WelcomeTour.tsx │ ├── i18n/ │ │ ├── config.ts │ │ └── locales/ │ │ ├── en.json │ │ └── zh.json │ ├── index.js │ └── types/ │ └── svg.d.ts └── tsconfig.json
SYMBOL INDEX (143 symbols across 31 files)
FILE: src/Common/AutoGrowthInput.tsx
type InputProps (line 15) | type InputProps = {
FILE: src/Common/util.ts
function generateRandomColor (line 71) | function generateRandomColor(): string {
function base64ToFile (line 89) | async function base64ToFile(base64: string): Promise<File> {
function fileToBase64 (line 95) | function fileToBase64(file: File): Promise<string> {
function exportJson (line 103) | function exportJson(content: string, filename: string) {
function exportPNG (line 139) | function exportPNG(content: Blob, filename: string) {
function exportFile (line 149) | function exportFile(content: string, filename: string, type: string) {
function importFromFile (line 159) | function importFromFile() {
function parseSelectedFile (line 173) | function parseSelectedFile(input: HTMLInputElement): Promise<any> {
function importImage (line 285) | function importImage(): Promise<File | null> {
type TransformValues (line 303) | interface TransformValues {
function calculateTransform (line 309) | function calculateTransform(file: File): Promise<TransformValues> {
function storeFileInIndexedDB (line 353) | function storeFileInIndexedDB(
function readFileFromIndexedDB (line 400) | function readFileFromIndexedDB(fileName: string): Promise<File | null> {
function deleteFileFromIndexedDB (line 435) | function deleteFileFromIndexedDB(fileName: string): Promise<void> {
FILE: src/Data/UserData.ts
class StationProps (line 8) | class StationProps {
class LineProps (line 16) | class LineProps {
type ChangeSteps (line 27) | type ChangeSteps = {
type LineChanges (line 35) | type LineChanges = {
type RecordType (line 41) | type RecordType = StationProps[] | ChangeSteps[] | LineChanges[];
class CardShowing (line 43) | class CardShowing {
method constructor (line 44) | constructor() {
type InsertInfo (line 53) | type InsertInfo = { insertIndex: number; line: LineProps };
class UserDataType (line 55) | class UserDataType {
type ShowNameProps (line 67) | type ShowNameProps = {
type DrawProps (line 74) | type DrawProps = {
type DrawerSize (line 79) | type DrawerSize = {
type TransformProps (line 84) | type TransformProps = {
type ShowTourProps (line 93) | type ShowTourProps = {
type PageProps (line 98) | type PageProps = {
FILE: src/DataStructure/Bend.ts
class Bend (line 4) | class Bend {
method round1 (line 6) | static round1(track: Track) {
method round2 (line 12) | static round2(track: Track, round1Indexes: number[], rail?: Rail) {
method round3 (line 21) | static round3(round2Indexes: number[]) {
method round4 (line 26) | static round4(track: Track, rail?: Rail) {
method getBestRailIndex (line 31) | static getBestRailIndex(track: Track, rail?: Rail) {
FILE: src/DataStructure/ConnectType.ts
type ConnectType (line 1) | enum ConnectType {
FILE: src/DataStructure/Direction.ts
type Direct (line 3) | enum Direct {
class Direction (line 27) | class Direction {
method constructor (line 31) | constructor(direct: Direct) {
method delta (line 37) | delta(direct: Direct){
method opposite (line 42) | opposite() {
method oppositeTo (line 51) | oppositeTo(direction: Direction | undefined) {
method sameTo (line 56) | sameTo(direction: Direction) {
method rotationTo (line 65) | rotationTo(direction: Direction) {
method getBendSteps (line 72) | getBendSteps(bendFirst: boolean) {
FILE: src/DataStructure/Display.ts
class DisplayStation (line 3) | class DisplayStation {
method constructor (line 6) | constructor(stationName: string, bendFirst: boolean){
FILE: src/DataStructure/Line.ts
class Line (line 10) | class Line {
method constructor (line 15) | constructor() {
method getTerminalRecord (line 19) | getTerminalRecord(){
method linkAll (line 28) | linkAll(stations: Station[]){
method link (line 37) | link(B: Station, C: Station, bendFirst: boolean = true) {
method applyBestRailPair (line 60) | applyBestRailPair(B: Station, C: Station, bendFirst: boolean) {
class EmptyLine (line 88) | class EmptyLine extends Line {
method constructor (line 89) | constructor() {
FILE: src/DataStructure/LineRecord.ts
class LineRecord (line 7) | class LineRecord {
method constructor (line 15) | constructor(station: Station, line?: Line) {
method getInDirection (line 22) | getInDirection(){
method getOutDirection (line 26) | getOutDirection(){
method establishConnectionTo (line 29) | establishConnectionTo(BRecord: LineRecord) {
method establishConnection (line 33) | static establishConnection(ARecord: LineRecord, BRecord: LineRecord) {
method updateLineRecords (line 39) | static updateLineRecords(
FILE: src/DataStructure/Mode.ts
type Mode (line 1) | enum Mode {
type FunctionMode (line 9) | enum FunctionMode{
FILE: src/DataStructure/Point.ts
class Point (line 4) | class Point {
method constructor (line 11) | constructor(x: number = 0, y: number = 0, yReversed: boolean = false) {
method round (line 20) | round(){
method offset (line 24) | offset(A: Point) {
method displacementTo (line 28) | displacementTo(A: Point) {
method distanceTo (line 32) | distanceTo(A: Point) {
method sameTo (line 36) | sameTo(A: Point) {
method reverseY (line 40) | reverseY() {
method getPointFromTouch (line 44) | static getPointFromTouch(A: Touch) {
method getPointFromMouse (line 48) | static getPointFromMouse(A: MouseEvent) {
method getMidPoint (line 52) | static getMidPoint(A: Point, B: Point) {
method getDisplacement (line 56) | static getDisplacement(A: Point, B: Point) {
FILE: src/DataStructure/Rail.ts
class Rail (line 5) | class Rail {
method constructor (line 10) | constructor(track: Track, index: number) {
method oppositeIndex (line 17) | oppositeIndex(){
method setLine (line 21) | setLine(line: Line){
method getStraightConnectRailPair (line 25) | static getStraightConnectRailPair(aEmptyRails: Rail[], bEmptyRails: Ra...
method getBestRail (line 39) | static getBestRail(rails: Rail[]){
method getRailByIndex (line 43) | static getRailByIndex(rails: Rail[], index: number){
method oppositeIndex (line 47) | static oppositeIndex(index: number){
class ExtraRail (line 53) | class ExtraRail extends Rail{
method constructor (line 54) | constructor(track: Track, index: number){
FILE: src/DataStructure/RailPair.ts
class RailPair (line 6) | class RailPair {
method constructor (line 10) | constructor(departureRail: Rail, arrivalRail: Rail) {
method reverse (line 16) | reverse(){
method setLine (line 22) | setLine(line: Line){
FILE: src/DataStructure/Station.ts
class Station (line 9) | class Station {
method constructor (line 16) | constructor(position: Point) {
method lineCount (line 25) | lineCount(){
method isEmpty (line 32) | isEmpty(direct: Direct){
method getBestDirectionForName (line 36) | getBestDirectionForName() {
method getBestDirectionForName2 (line 87) | getBestDirectionForName2(){
method addLineRecord (line 91) | addLineRecord(lineRecord: LineRecord) {
method getTrack (line 109) | getTrack(direction: Direction) {
method getRail (line 113) | getRail(direction: Direction, index: number) {
method getJoint (line 124) | getJoint(line: Line) {
FILE: src/DataStructure/Straight.ts
class Straight (line 9) | class Straight {
method round1 (line 11) | static round1(B: Station, C: Station) {
method round2 (line 42) | static round2(
method round3 (line 80) | static round3(B: Station, C: Station, round2Indexes: RoundResult[]) {
method round4 (line 86) | static round4(B: Station, C: Station, line: Line) {
method getBestRailIndex (line 105) | static getBestRailIndex(B: Station, C: Station, line: Line) {
class RoundResult (line 130) | class RoundResult {
FILE: src/DataStructure/Track.ts
class Track (line 5) | class Track {
method constructor (line 12) | constructor(station: Station, direction: Direction) {
method isEmpty (line 21) | isEmpty(){
method getEmptyRails (line 25) | getEmptyRails() {
method getRail (line 29) | getRail(index: number) {
method applyExtraRail (line 33) | applyExtraRail(index: number) {
method getAvailableRail (line 39) | getAvailableRail(index: number) {
FILE: src/DataStructure/Vector.ts
class Vector (line 4) | class Vector extends Direction {
method constructor (line 7) | constructor(start: Point, end: Point) {
method verticalProlong (line 13) | verticalProlong(length: number) {
method prolong (line 36) | prolong(length: number) {
method normalize (line 49) | normalize(k: number = 1) {
method passesThroughPoint (line 61) | passesThroughPoint(A: Point) {
method round (line 68) | round() {
method passesThroughPointRound (line 72) | passesThroughPointRound(point: Point) {
method getCrossPointTo (line 78) | getCrossPointTo(b: Vector) {
method getVectorByPointAndDirection (line 96) | static getVectorByPointAndDirection(A: Point, direction: Direction) {
method getDirection (line 101) | static getDirection(start: Point, end: Point) {
FILE: src/Entrance/App.tsx
function App (line 36) | function App() {
FILE: src/Render/Card/Cards.tsx
function Cards (line 22) | function Cards({
FILE: src/Render/Card/LineCard.tsx
function LineCard (line 43) | function LineCard({
FILE: src/Render/Card/StationCard.tsx
function StationCard (line 31) | function StationCard({
FILE: src/Render/Component/LineRender.tsx
function LineRender (line 26) | function LineRender({
FILE: src/Render/Delete/DeleteConfirmation.tsx
type showConfirmationInterface (line 16) | interface showConfirmationInterface {
type ShowMode (line 26) | enum ShowMode {
FILE: src/Render/Header/Component/OpacityControl.tsx
type OpacityControlProps (line 12) | interface OpacityControlProps {
FILE: src/Render/Header/Component/ShapeSelector.tsx
type OpacityControlProps (line 16) | interface OpacityControlProps {
FILE: src/Render/Header/Menu.tsx
type MenuType (line 60) | type MenuType = {
FILE: src/Render/Layer/DevelopLayer.tsx
function DevelopLayer (line 9) | function DevelopLayer() {
FILE: src/Render/Layer/RenderLayer.tsx
type RenderProps (line 43) | type RenderProps = {
function RenderLayer (line 132) | function RenderLayer({
FILE: src/Render/Layer/ScaleLayer.tsx
type ScaleLayerProp (line 37) | type ScaleLayerProp = {
function ScaleLayer (line 57) | function ScaleLayer({
FILE: src/Render/Recovery/Recovery.tsx
function Recovery (line 17) | function Recovery({
FILE: src/WelcomeTour/WelcomeTour.tsx
function WelcomeTour (line 21) | function WelcomeTour({
Condensed preview — 104 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (657K chars).
[
{
"path": ".gitignore",
"chars": 310,
"preview": "# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.\n\n# dependencies\n/node_modules\n/.pn"
},
{
"path": ".vscode/settings.json",
"chars": 522,
"preview": "{\n \"i18n-ally.localesPaths\": [\"src/i18n/locales\"],\n \"i18n-ally.extract.autoDetect\": true,\n \"i18n-ally.keystyle\": \"nes"
},
{
"path": "README-cn.md",
"chars": 1243,
"preview": "\n<img style=\"border-radius: 5px\" width=\"50\" src=\"https://mini-metro-web.gitlab.io/app-icon.png\">\n\n# Mini Metro Web \n迷你地"
},
{
"path": "README.md",
"chars": 2222,
"preview": "\n<img style=\"border-radius: 5px\" width=\"50\" src=\"https://mini-metro-web.gitlab.io/app-icon.png\">\n\n# Mini Metro Web \nMin"
},
{
"path": "package.json",
"chars": 1346,
"preview": "{\n \"name\": \"mini-metro-web\",\n \"version\": \"1.2.1\",\n \"private\": true,\n \"dependencies\": {\n \"@svgr/webpack\": \"^8.1.0\""
},
{
"path": "public/beijing.json",
"chars": 43755,
"preview": "{\"title\":\"北京\",\"stations\":[{\"stationId\":1,\"stationName\":\"苹果园\",\"position\":[2056,3189],\"shape\":\"cicle\",\"lineIds\":[1,6]},{\"s"
},
{
"path": "public/changsha.json",
"chars": 15047,
"preview": "{\"stations\":[{\"stationId\":1,\"stationName\":\"开福区政府\",\"position\":[1496,328],\"shape\":\"cicle\",\"lineIds\":[1]},{\"stationId\":2,\"s"
},
{
"path": "public/guangzhou.json",
"chars": 31581,
"preview": "{\"stations\":[{\"stationId\":1,\"stationName\":\"西塱\",\"position\":[2254,5008],\"shape\":\"cicle\",\"lineIds\":[1,19],\"tagDirection\":4}"
},
{
"path": "public/hongkong.json",
"chars": 11387,
"preview": "{\"stations\":[{\"stationId\":1,\"stationName\":\"迪士尼\",\"position\":[1084,2120],\"shape\":\"cicle\",\"lineIds\":[1]},{\"stationId\":2,\"st"
},
{
"path": "public/index.html",
"chars": 1938,
"preview": "<!DOCTYPE html>\n<html lang=\"zh-CN\">\n <head>\n <meta charset=\"utf-8\" />\n <link rel=\"icon\" href=\"%PUBLIC_URL%/favico"
},
{
"path": "public/manifest.json",
"chars": 490,
"preview": "{\n \"short_name\": \"Mini Metro Web\",\n \"name\": \"Mini Metro Web\",\n \"icons\": [\n {\n \"src\": \"favicon.ico\",\n \"si"
},
{
"path": "public/robots.txt",
"chars": 67,
"preview": "# https://www.robotstxt.org/robotstxt.html\nUser-agent: *\nDisallow:\n"
},
{
"path": "public/shanghai.json",
"chars": 46056,
"preview": "{\"stations\":[{\"stationId\":1,\"stationName\":\"莘庄\",\"position\":[3658,2970],\"shape\":\"cicle\",\"lineIds\":[1,5]},{\"stationId\":2,\"s"
},
{
"path": "public/shenzhen.json",
"chars": 35007,
"preview": "{\"stations\":[{\"stationId\":1,\"stationName\":\"罗湖\",\"position\":[3489,2743],\"shape\":\"cicle\",\"lineIds\":[1],\"tagDirection\":6},{\""
},
{
"path": "public/tianjing.json",
"chars": 20985,
"preview": "{\"stations\":[{\"stationId\":1,\"stationName\":\"刘园\",\"position\":[538,599],\"shape\":\"cicle\",\"lineIds\":[1]},{\"stationId\":2,\"stati"
},
{
"path": "src/Common/AutoGrowthInput.scss",
"chars": 1267,
"preview": ".auto-growth-container {\n position: relative;\n width: fit-content;\n .auto-growth-span {\n // font-size: 3"
},
{
"path": "src/Common/AutoGrowthInput.tsx",
"chars": 1514,
"preview": "import classNames from \"classnames\";\nimport React, {\n CSSProperties,\n Dispatch,\n LegacyRef,\n RefAttributes,\n RefObj"
},
{
"path": "src/Common/api.ts",
"chars": 121,
"preview": "export const getExistMap = (id:string) => {\n const url = `/${id}.json`;\n return fetch(url).then(res=>res.text());\n"
},
{
"path": "src/Common/color.ts",
"chars": 2084,
"preview": "import { arrayToMap } from \"./util\";\n\nexport const colorSH = [\n {\n \"line\": \"1号线\",\n \"color\": \"#EA0B2A\",\n"
},
{
"path": "src/Common/const.ts",
"chars": 149,
"preview": "const gauge = 10;\nconst line_radius = 10;\nconst handleLength = 45;\nconst handleWidth = 15;\nexport { gauge, line_radius, "
},
{
"path": "src/Common/teyvat.ts",
"chars": 16157,
"preview": "import { UserDataType } from \"../Data/UserData\";\nimport { t } from \"i18next\";\nexport const teyvat: UserDataType = {\n st"
},
{
"path": "src/Common/util.ts",
"chars": 13059,
"preview": "import { MouseEvent, WheelEventHandler } from \"react\";\nimport UAParser from \"ua-parser-js\";\nimport { TransformProps, Use"
},
{
"path": "src/Data/Shape.ts",
"chars": 269,
"preview": "export const Shape = {\n 'cicle': '圆形', // typo\n 'square': '正方形',\n 'triangle': '三角形',\n 'start': '五角星', // typ"
},
{
"path": "src/Data/UserData.ts",
"chars": 11880,
"preview": "import { Dispatch, SetStateAction } from \"react\";\nimport { base64ToFile, generateRandomColor, mapToArr } from \"../Common"
},
{
"path": "src/DataStructure/Bend.ts",
"chars": 1446,
"preview": "import { Rail } from \"./Rail\";\nimport { Track } from \"./Track\";\n\nexport class Bend {\n // filter empty indexes\n static "
},
{
"path": "src/DataStructure/ConnectType.ts",
"chars": 76,
"preview": "export enum ConnectType {\n straight,\n straightFirst,\n bendFirst\n }"
},
{
"path": "src/DataStructure/Direction.ts",
"chars": 2294,
"preview": "//clockwise\n\nexport enum Direct {\n up,\n upRight,\n right,\n rightDown,\n down,\n downLeft,\n left,\n leftUp,\n // Quad"
},
{
"path": "src/DataStructure/Display.ts",
"chars": 258,
"preview": "import { Station } from \"./Station\";\n\nexport class DisplayStation {\n stationName: string;\n bendFirst: boolean;\n "
},
{
"path": "src/DataStructure/Line.ts",
"chars": 3115,
"preview": "import { LineProps } from \"../Data/UserData\";\nimport { Bend } from \"./Bend\";\nimport { ConnectType } from \"./ConnectType\""
},
{
"path": "src/DataStructure/LineRecord.ts",
"chars": 1241,
"preview": "import { ConnectType } from \"./ConnectType\";\nimport { Line } from \"./Line\";\nimport { Rail } from \"./Rail\";\nimport { Rail"
},
{
"path": "src/DataStructure/Mode.ts",
"chars": 308,
"preview": "export enum Mode {\n normal,\n moving,\n touchMoving,\n touchScaling\n }\n\n\n export enum FunctionMode{\n norma"
},
{
"path": "src/DataStructure/Point.ts",
"chars": 1324,
"preview": "import { MouseEvent, Touch } from \"react\";\nimport { Straight } from \"./Straight\";\n\nexport class Point {\n x: number;\n y"
},
{
"path": "src/DataStructure/Rail.ts",
"chars": 1338,
"preview": "import { EmptyLine, Line } from \"./Line\";\nimport { RailPair } from \"./RailPair\";\nimport { Track } from \"./Track\";\n\nexpor"
},
{
"path": "src/DataStructure/RailPair.ts",
"chars": 675,
"preview": "import { Direction } from \"./Direction\";\nimport { Line } from \"./Line\";\nimport { Rail } from \"./Rail\";\nimport { Station "
},
{
"path": "src/DataStructure/Station.ts",
"chars": 3726,
"preview": "import { StationProps } from \"../Data/UserData\";\nimport { Direct, Direction } from \"./Direction\";\nimport { Line } from \""
},
{
"path": "src/DataStructure/Straight.ts",
"chars": 3869,
"preview": "import { Direction } from \"./Direction\";\nimport { Line } from \"./Line\";\nimport { Point } from \"./Point\";\nimport { Rail }"
},
{
"path": "src/DataStructure/Track.ts",
"chars": 1154,
"preview": "import { Direction } from \"./Direction\";\nimport { ExtraRail, Rail } from \"./Rail\";\nimport { Station } from \"./Station\";\n"
},
{
"path": "src/DataStructure/Vector.ts",
"chars": 4187,
"preview": "import { Direct, Direction, DirectionVictorReverseY } from \"./Direction\";\nimport { Point } from \"./Point\";\n\nexport class"
},
{
"path": "src/Entrance/App.scss",
"chars": 316,
"preview": "\nbody{\n margin: 0;\n touch-action: none;\n overscroll-behavior: none;\n}\nhtml{\n touch-action: none;\n overscr"
},
{
"path": "src/Entrance/App.test.tsx",
"chars": 1191,
"preview": "import { render, screen } from '@testing-library/react';\nimport App from './App';\nimport React from 'react';\nimport { Di"
},
{
"path": "src/Entrance/App.tsx",
"chars": 6884,
"preview": "import '../i18n/config';\nimport { ErrorBoundary } from \"react-error-boundary\";\nimport {\n browserInfo,\n mapToArr,\n med"
},
{
"path": "src/Entrance/reportWebVitals.js",
"chars": 362,
"preview": "const reportWebVitals = onPerfEntry => {\n if (onPerfEntry && onPerfEntry instanceof Function) {\n import('web-vitals'"
},
{
"path": "src/Entrance/setupTests.js",
"chars": 241,
"preview": "// jest-dom adds custom jest matchers for asserting on DOM nodes.\n// allows you to do things like:\n// expect(element).to"
},
{
"path": "src/Grid/Scale.ts",
"chars": 9030,
"preview": "import { CardShowing, ChangeSteps, RecordType, StationProps, UserDataType, addNewStation } from \"./../Data/UserData\";\nim"
},
{
"path": "src/Line/Handle.ts",
"chars": 6873,
"preview": "import { Station } from \"./../DataStructure/Station\";\nimport {\n Direct,\n Direction,\n DirectionVictorReverseY,\n} from "
},
{
"path": "src/Line/LinePoints.ts",
"chars": 8651,
"preview": "import { gauge, line_radius } from \"../Common/const\";\nimport { Direction } from \"../DataStructure/Direction\";\nimport { L"
},
{
"path": "src/Render/Card/Cards.scss",
"chars": 1072,
"preview": ".cards {\n position: fixed;\n bottom: 0;\n // left: -65px;\n // zoom: 0.85\n width: fit-content;\n max-width"
},
{
"path": "src/Render/Card/Cards.tsx",
"chars": 3948,
"preview": "import React, {\n CSSProperties,\n Dispatch,\n RefObject,\n SetStateAction,\n useEffect,\n useLayoutEffect,\n useRef,\n "
},
{
"path": "src/Render/Card/LineCard.scss",
"chars": 10594,
"preview": ".line-card {\n width: 455px;\n height: 250px;\n border-radius: 23px;\n display: inline-block;\n // margin-left"
},
{
"path": "src/Render/Card/LineCard.tsx",
"chars": 14445,
"preview": "import React, {\n Dispatch,\n RefObject,\n SetStateAction,\n useEffect,\n useState,\n useTransition,\n} from \"react\";\nimp"
},
{
"path": "src/Render/Card/StationCard.scss",
"chars": 11325,
"preview": ".station-card {\n width: 455px;\n height: 250px;\n border-radius: 23px;\n display: inline-block;\n // margin-l"
},
{
"path": "src/Render/Card/StationCard.tsx",
"chars": 10399,
"preview": "import React, {\n Dispatch,\n RefObject,\n SetStateAction,\n useEffect,\n useState,\n} from \"react\";\n\nimport \"./StationCa"
},
{
"path": "src/Render/Component/LineRender.tsx",
"chars": 2680,
"preview": "import React, {\n CSSProperties,\n Dispatch,\n SetStateAction,\n memo,\n useEffect,\n useState,\n} from \"react\";\nimport {"
},
{
"path": "src/Render/Delete/DeleteConfirmation.scss",
"chars": 3224,
"preview": ".delete-confirmation-container {\n position: fixed;\n top: 0;\n left: 0;\n z-index: -1000;\n height: 100vh;\n width: 100"
},
{
"path": "src/Render/Delete/DeleteConfirmation.tsx",
"chars": 4417,
"preview": "import React, {\n Dispatch,\n SetStateAction,\n forwardRef,\n useEffect,\n useImperativeHandle,\n useState,\n} from \"reac"
},
{
"path": "src/Render/ErrorFallback/ErrorFallback.scss",
"chars": 1215,
"preview": ".error-layer {\n text-align: center;\n .title {\n margin-top: 20vh;\n font-size: 36px;\n font-weight: 1000;\n }\n "
},
{
"path": "src/Render/ErrorFallback/ErrorFallback.tsx",
"chars": 1646,
"preview": "import React from \"react\";\nimport \"./ErrorFallback.scss\";\nimport { ReactComponent as RecoverIcon } from \"../../Resource/"
},
{
"path": "src/Render/Header/Component/OpacityControl.scss",
"chars": 2978,
"preview": ".tool {\n position: relative;\n display: inline-block;\n cursor: pointer;\n perspective: 1000px;\n perspective"
},
{
"path": "src/Render/Header/Component/OpacityControl.tsx",
"chars": 3843,
"preview": "import React, {\n useState,\n useRef,\n useEffect,\n CSSProperties,\n useLayoutEffect,\n} from \"react\";\nimport \"./Opacity"
},
{
"path": "src/Render/Header/Component/ShapeSelector.scss",
"chars": 5375,
"preview": ".tool {\n position: relative;\n display: inline-block;\n cursor: pointer;\n perspective: 1000px;\n perspective"
},
{
"path": "src/Render/Header/Component/ShapeSelector.tsx",
"chars": 4500,
"preview": "import React, {\n useState,\n useRef,\n useEffect,\n CSSProperties,\n useLayoutEffect,\n SetStateAction,\n Dispatch,\n} f"
},
{
"path": "src/Render/Header/Menu.scss",
"chars": 7421,
"preview": ".menu {\n &.page-menu {\n position: fixed;\n top: 0;\n left: 0;\n height: 100vh;\n width"
},
{
"path": "src/Render/Header/Menu.tsx",
"chars": 31112,
"preview": "import React, {\n Dispatch,\n SetStateAction,\n forwardRef,\n useEffect,\n useImperativeHandle,\n useRef,\n useState,\n} "
},
{
"path": "src/Render/Layer/DevelopLayer.scss",
"chars": 375,
"preview": ".DevelopLayer {\n .grid {\n display: grid;\n grid-template-columns: repeat(100, 100px);\n grid-templ"
},
{
"path": "src/Render/Layer/DevelopLayer.tsx",
"chars": 2499,
"preview": "import React from \"react\";\nimport \"./DevelopLayer.scss\";\nimport { Point } from \"../../DataStructure/Point\";\nimport { Sta"
},
{
"path": "src/Render/Layer/RenderLayer.scss",
"chars": 1216,
"preview": ".station-render {\n cursor: pointer;\n .station-shape {\n height: 30px;\n width: 30px;\n // transfor"
},
{
"path": "src/Render/Layer/RenderLayer.tsx",
"chars": 15392,
"preview": "import React, {\n CSSProperties,\n Dispatch,\n MouseEventHandler,\n SetStateAction,\n useEffect,\n useLayoutEffect,\n us"
},
{
"path": "src/Render/Layer/ScaleLayer.scss",
"chars": 677,
"preview": " .ScaleLayer{\n width: 100vw;\n height: 100vh;\n overflow: hidden;\n .layer-for-welcome-tour{\n position: fixed;\n "
},
{
"path": "src/Render/Layer/ScaleLayer.tsx",
"chars": 11015,
"preview": "import React, {\n CSSProperties,\n Dispatch,\n SetStateAction,\n useMemo,\n useState,\n} from \"react\";\nimport { FunctionM"
},
{
"path": "src/Render/Recovery/Recovery.scss",
"chars": 2398,
"preview": ".App{\n perspective: 1000px;\n perspective-origin: 100vw 105px; \n z-index: 10000;\n}\n.recovery-notification-contai"
},
{
"path": "src/Render/Recovery/Recovery.tsx",
"chars": 3596,
"preview": "import React, {\n Dispatch,\n SetStateAction,\n useEffect,\n useRef,\n useState,\n} from \"react\";\nimport { ReactComponent"
},
{
"path": "src/Resource/Icon/airwave.tsx",
"chars": 2961,
"preview": "import React from \"react\";\n\nconst AirWaveIcon =({className}:{className?: string})=> (\n<svg width=\"23\" height=\"21\" viewBo"
},
{
"path": "src/Resource/Icon/arrow.tsx",
"chars": 2151,
"preview": "import React from \"react\";\n\nconst arrowIcon = ({ className }: { className?: string }) => (\n <svg\n width=\"20\"\n hei"
},
{
"path": "src/Resource/Icon/auto.tsx",
"chars": 2021,
"preview": "import React from \"react\";\n\nconst AutoIcon = ({ className }: { className?: string }) => (<svg width=\"31\" height=\"31\" vie"
},
{
"path": "src/Resource/Icon/bolt.tsx",
"chars": 669,
"preview": "import React from \"react\";\n\nconst BoltIcon = ({ className }: { className?: string }) => (<svg width=\"31\" height=\"31\" vie"
},
{
"path": "src/Resource/Icon/edit.tsx",
"chars": 2337,
"preview": "import React from \"react\";\n\nconst edit =({className}:{className: string})=> (\n <svg\n width=\"22\"\n height=\"22\"\n "
},
{
"path": "src/Resource/Icon/expand.tsx",
"chars": 2099,
"preview": "import React from \"react\";\n\nconst expand =({className}:{className?: string})=> (\n<svg width=\"19\" height=\"19\" viewBox=\"0 "
},
{
"path": "src/Resource/Icon/export.tsx",
"chars": 1087,
"preview": "import React from \"react\";\n\nconst ExportIcon = ({ className }: { className?: string }) => (<svg width=\"31\" height=\"31\" v"
},
{
"path": "src/Resource/Icon/finished.tsx",
"chars": 590,
"preview": "import React from \"react\";\n\nconst FinishedIcon =({className}:{className?: string})=> (\n<svg width=\"35\" height=\"35\" viewB"
},
{
"path": "src/Resource/Icon/goto.tsx",
"chars": 874,
"preview": "import React from \"react\";\n\nconst GoToIcon = ({ className }: { className?: string }) => (\n <svg\n width=\"50\"\n heig"
},
{
"path": "src/Resource/Icon/infinity.tsx",
"chars": 2233,
"preview": "import React from \"react\";\n\nconst Infinity = ({ className }: { className?: string }) => (\n <svg\n width=\"31\"\n heig"
},
{
"path": "src/Resource/Icon/pageview.tsx",
"chars": 1863,
"preview": "import React from \"react\";\n\nconst PageViewIcon =({className}:{className?: string})=> (<svg width=\"31\" height=\"31\" viewBo"
},
{
"path": "src/Resource/Icon/plus.tsx",
"chars": 2171,
"preview": "import React from \"react\";\n\nconst plusIcon = ({ className }: { className?: string }) => (\n <svg\n width=\"20\"\n heig"
},
{
"path": "src/Resource/Icon/shrink.tsx",
"chars": 2144,
"preview": "import React from \"react\";\n\nconst shrink =({className}:{className: string})=> (\n<svg width=\"20\" height=\"20\" viewBox=\"0 0"
},
{
"path": "src/Resource/Icon/touch.tsx",
"chars": 2281,
"preview": "import React from \"react\";\n\nconst TouchIcon = ({ className }: { className?: string }) => (<svg width=\"31\" height=\"31\" vi"
},
{
"path": "src/Resource/Shape/shape.tsx",
"chars": 9610,
"preview": "import React, { CSSProperties } from \"react\";\nconst shapes = {\n cicle: (\n <svg\n width=\"29\"\n height=\"29\"\n "
},
{
"path": "src/Style/Cursor.ts",
"chars": 404,
"preview": "import { Mode } from \"../DataStructure/Mode\";\n\nexport const getCursor = (mode: Mode)=>{\n let cursor;\n //chrome has"
},
{
"path": "src/WelcomeTour/Driver.ts",
"chars": 2630,
"preview": "import { driver as Driver, Config } from \"driver.js\";\nimport {t} from 'i18next';\nexport const showTour = async (id: stri"
},
{
"path": "src/WelcomeTour/HightLights.tsx",
"chars": 2795,
"preview": "import React from \"react\";\nimport Infinity from \"../Resource/Icon/infinity\";\nimport AirWaveIcon from \"../Resource/Icon/a"
},
{
"path": "src/WelcomeTour/Steps/common-operation.ts",
"chars": 1730,
"preview": "import { DriveStep, Driver } from \"driver.js\";\nimport {t} from 'i18next';\n\nexport const getSteps = (driver: Driver): Dri"
},
{
"path": "src/WelcomeTour/Steps/export.ts",
"chars": 2479,
"preview": "import { DriveStep, Driver } from \"driver.js\";\nimport { browserInfo } from \"../../Common/util\";\nimport {t} from 'i18next"
},
{
"path": "src/WelcomeTour/Steps/line-card.ts",
"chars": 2207,
"preview": "import { DriveStep, Driver } from \"driver.js\";\nimport {t} from 'i18next';\nexport const getSteps = (driver: Driver): Driv"
},
{
"path": "src/WelcomeTour/Steps/quick-edit.ts",
"chars": 1961,
"preview": "import { DriveStep, Driver } from \"driver.js\";\nimport {t} from 'i18next';\nexport const getSteps = (driver: Driver): Driv"
},
{
"path": "src/WelcomeTour/Steps/skip.ts",
"chars": 530,
"preview": "import { DriveStep, Driver } from \"driver.js\";\n\nexport const getSteps = (driver: Driver): DriveStep[] => [\n {\n eleme"
},
{
"path": "src/WelcomeTour/Steps/station-card.ts",
"chars": 1567,
"preview": "import { DriveStep, Driver } from \"driver.js\";\nimport {t} from 'i18next';\nexport const getSteps = (driver: Driver): Driv"
},
{
"path": "src/WelcomeTour/Steps/tag-setting.ts",
"chars": 1704,
"preview": "import { DriveStep, Driver } from \"driver.js\";\nimport {t} from 'i18next';\nexport const getSteps = (driver: Driver): Driv"
},
{
"path": "src/WelcomeTour/WelcomeTour.scss",
"chars": 7360,
"preview": ".welcome-tour-container {\n position: fixed;\n height: 100vh;\n width: 100vw;\n left: 0;\n top: 0;\n backgro"
},
{
"path": "src/WelcomeTour/WelcomeTour.tsx",
"chars": 7486,
"preview": "import React, {\n LegacyRef,\n MutableRefObject,\n RefObject,\n useEffect,\n useRef,\n useState,\n useTransition,\n} from"
},
{
"path": "src/i18n/config.ts",
"chars": 683,
"preview": "\nimport i18n from 'i18next';\nimport { initReactI18next } from 'react-i18next';\nimport translation_en from './locales/en."
},
{
"path": "src/i18n/locales/en.json",
"chars": 21026,
"preview": "{\n \"language\": \"english\",\n \"menu\": {\n \"alreadyAddStations\": \"{{count}} stations added\",\n \"clickBlankToAddStation"
},
{
"path": "src/i18n/locales/zh.json",
"chars": 15579,
"preview": "{\n \"language\": \"中文\",\n \"menu\": {\n \"alreadyAddStations\": \"已添加{{count}}站\",\n \"clickBlankToAddStation\": \"点击空白处新增站点\",\n"
},
{
"path": "src/index.js",
"chars": 531,
"preview": "import React from 'react';\nimport ReactDOM from 'react-dom/client';\n\nimport App from './Entrance/App';\nimport reportWebV"
},
{
"path": "src/types/svg.d.ts",
"chars": 176,
"preview": "declare module '*.svg' {\n import React = require('react');\n export const ReactComponent: React.FC<React.SVGProps<SVGSV"
},
{
"path": "tsconfig.json",
"chars": 6124,
"preview": "{\n \"compilerOptions\": {\n \"jsx\": \"react\",\n /* Visit https://aka.ms/tsconfig.json to read more about this file */\n\n"
}
]
About this extraction
This page contains the full source code of the RyanEdo/mini-metro-web GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 104 files (572.7 KB), approximately 183.2k tokens, and a symbol index with 143 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.