#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Fri Nov 6 11:16:45 2020
Chengdu Metro Lines by plotly with python
@author: 进击的SB
"""
import requests
import time
import numpy as np
import math
# import plotly.offline as py
# import plotly.graph_objs as go
import pandas as pd
PI = math.pi
null = None
city_code=75
station_info = requests.get('http://map.baidu.com/?qt=bsi&c=%s&t=%s' % (
city_code,
int(time.time() * 1000)
))
station_info_json = eval(station_info.content)
# print(station_info_json)
# 解析地铁线路站点信息
for line in station_info_json['content']:
# i = 0
plots = []
plots_name = []
for plot in line['stops']:
plots.append([plot['x'], plot['y']])
plots_name.append(plot['name'])
# print(plots)
plot_mercator = np.array(plots)
def _transformlat(coordinates):
lng = coordinates[ : , 0] - 105
lat = coordinates[ : , 1] - 35
ret = -100 + 2 * lng + 3 * lat + 0.2 * lat * lat +
0.1 * lng * lat + 0.2 * np.sqrt(np.fabs(lng))
ret += (20 * np.sin(6 * lng * PI) + 20 *
np.sin(2 * lng * PI)) * 2 / 3
ret += (20 * np.sin(lat * PI) + 40 *
np.sin(lat / 3 * PI)) * 2 / 3
ret +=