中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁(yè) > news >正文

蘇州高端網(wǎng)站建設(shè)解釋seo網(wǎng)站推廣

蘇州高端網(wǎng)站建設(shè),解釋seo網(wǎng)站推廣,網(wǎng)站怎樣做移動(dòng)端適配,企業(yè)建設(shè)網(wǎng)在現(xiàn)代城市的脈絡(luò)中,交通流量如同流動(dòng)的血液,交通流量的動(dòng)態(tài)變化對(duì)出行規(guī)劃和城市管理提出了更高的要求。為了應(yīng)對(duì)這一挑戰(zhàn),高德地圖推出了交通態(tài)勢(shì)查詢API,旨在為開(kāi)發(fā)者提供一個(gè)強(qiáng)大的工具,用于實(shí)時(shí)獲取指定區(qū)域或道路…

在現(xiàn)代城市的脈絡(luò)中,交通流量如同流動(dòng)的血液,交通流量的動(dòng)態(tài)變化對(duì)出行規(guī)劃和城市管理提出了更高的要求。為了應(yīng)對(duì)這一挑戰(zhàn),高德地圖推出了交通態(tài)勢(shì)查詢API,旨在為開(kāi)發(fā)者提供一個(gè)強(qiáng)大的工具,用于實(shí)時(shí)獲取指定區(qū)域或道路的交通狀況。通過(guò)集成此API,應(yīng)用和服務(wù)可以及時(shí)響應(yīng)交通擁堵、事故等突發(fā)事件,從而幫助用戶優(yōu)化行程安排,提高出行效率,并為智能交通系統(tǒng)的構(gòu)建貢獻(xiàn)力量。本文聚焦于利用高德交通態(tài)勢(shì)查詢API中的矩形區(qū)域查詢功能,探索如何高效地獲取矩形范圍內(nèi)的路況信息和擁堵程度。

我們先來(lái)看一下官方的說(shuō)明文檔和參數(shù)配置:交通態(tài)勢(shì)查詢-高級(jí) API 文檔-開(kāi)發(fā)指南-Web服務(wù) API | 高德地圖API

我們可以看到其中可以配置的參數(shù)有道路等級(jí)和矩形的左上右下的對(duì)角線坐標(biāo),這里的坐標(biāo)使用的需要是GCJ-02,另外對(duì)角線距離不能超過(guò)10公里,矩形區(qū)域內(nèi)交通態(tài)勢(shì)查詢:可選:JSON、XML,本文選擇了JSON格式,方便后面導(dǎo)出為shp格式,道路等級(jí)一般選擇6,這樣獲取的路況信息是最全的,有其他需求也可以自行調(diào)整;

roads可返回的所有可選道路信息;

先講一下方法思路,一共三個(gè)步驟;

方法思路

  1. 通過(guò)python寫(xiě)一個(gè)根據(jù)中心點(diǎn)和半徑生成左上右下的對(duì)角線坐標(biāo)的腳本;
  2. 獲取對(duì)角線坐標(biāo);
  3. 寫(xiě)入對(duì)角線坐標(biāo),并通過(guò)交通態(tài)勢(shì)查詢 API查詢數(shù)據(jù)保存到shp文件中;

第一步:根據(jù)配置中心點(diǎn)坐標(biāo)和半徑來(lái)生成矩形,并打印左上右下的對(duì)角線坐標(biāo);

這個(gè)需要使用高德的坐標(biāo)拾取器工具在地圖上選擇目標(biāo)區(qū)域的中心點(diǎn)坐標(biāo),通過(guò)配置一下中心坐標(biāo)和半徑距離,工具將自動(dòng)生成左下和右上的對(duì)角線坐標(biāo);

完整代碼#運(yùn)行環(huán)境 Python 3.11

from math import cos, radiansdef generate_rectangle(center_point, radius_km):"""通過(guò)中心點(diǎn)和半徑生成矩形范圍參數(shù):center_point: 中心點(diǎn)坐標(biāo) (格式: "經(jīng)度,緯度")radius_km: 半徑(單位:公里)返回:rectangle: 矩形范圍字符串 (格式: "左下角經(jīng)度,左下角緯度;右上角經(jīng)度,右上角緯度")"""try:# 解析中心點(diǎn)坐標(biāo)center_lon, center_lat = map(float, center_point.split(','))# 經(jīng)度1度約等于111公里,緯度1度約等于111*cos(緯度)公里# 將半徑轉(zhuǎn)換為度數(shù)lat_diff = radius_km / 111.0lon_diff = radius_km / (111.0 * cos(radians(center_lat)))# 計(jì)算矩形四個(gè)角的坐標(biāo)min_lon = center_lon - lon_diff  # 左下角經(jīng)度min_lat = center_lat - lat_diff  # 左下角緯度max_lon = center_lon + lon_diff  # 右上角經(jīng)度max_lat = center_lat + lat_diff  # 右上角緯度# 格式化為字符串,保留6位小數(shù)rectangle = f"{min_lon:.6f},{min_lat:.6f};{max_lon:.6f},{max_lat:.6f}"return rectangleexcept Exception as e:print(f"生成矩形范圍時(shí)出錯(cuò): {str(e)}")return Noneif __name__ == "__main__":# 示例:上海某點(diǎn)坐標(biāo)和1公里半徑center_point = "121.446433,31.22321"  # 中心點(diǎn)坐標(biāo)radius = 2.0  # 半徑2公里# 生成矩形范圍rectangle = generate_rectangle(center_point, radius)if rectangle:print(f"中心點(diǎn): {center_point}")print(f"半徑: {radius}公里")print(f"矩形范圍: {rectangle}")

將生成的左上和右下對(duì)角線坐標(biāo)應(yīng)用于下一個(gè)腳本中進(jìn)行運(yùn)行就可以得到shp文件,因?yàn)閿?shù)據(jù)獲取限制,獲取半徑最好不要超過(guò)5公里;

第二步:輸入坐標(biāo)點(diǎn)參數(shù)后,通過(guò)高德地圖的交通態(tài)勢(shì)查詢API獲取結(jié)果并導(dǎo)出為JSON格式,并由JSON數(shù)據(jù)將被轉(zhuǎn)換為SHP文件導(dǎo)出,由于高德地圖使用的是GCJ-02坐標(biāo)系,因此在導(dǎo)出前腳本已自動(dòng)將坐標(biāo)轉(zhuǎn)換為WGS84坐標(biāo)系;

完整代碼#運(yùn)行環(huán)境 Python 3.11

import requests
import geopandas as gpd
from shapely.geometry import LineString
from datetime import datetime
import os
import math
import numpy as np
from shapely.ops import transform
from functools import partial# 坐標(biāo)轉(zhuǎn)換參數(shù)
x_pi = 3.14159265358979324 * 3000.0 / 180.0
pi = 3.1415926535897932384626  # π
a = 6378245.0  # 長(zhǎng)半軸
ee = 0.00669342162296594323  # 扁率def gcj02towgs84(lng, lat):"""GCJ02(火星坐標(biāo)系)轉(zhuǎn)GPS84:param lng:火星坐標(biāo)系的經(jīng)度:param lat:火星坐標(biāo)系緯度:return:"""if out_of_china(lng, lat):return lng, latdlat = transformlat(lng - 105.0, lat - 35.0)dlng = transformlng(lng - 105.0, lat - 35.0)radlat = lat / 180.0 * pimagic = math.sin(radlat)magic = 1 - ee * magic * magicsqrtmagic = math.sqrt(magic)dlat = (dlat * 180.0) / ((a * (1 - ee)) / (magic * sqrtmagic) * pi)dlng = (dlng * 180.0) / (a / sqrtmagic * math.cos(radlat) * pi)mglat = lat + dlatmglng = lng + dlngreturn [lng * 2 - mglng, lat * 2 - mglat]def transformlat(lng, lat):ret = -100.0 + 2.0 * lng + 3.0 * lat + 0.2 * lat * lat + 0.1 * lng * lat + 0.2 * math.sqrt(math.fabs(lng))ret += (20.0 * math.sin(6.0 * lng * pi) + 20.0 * math.sin(2.0 * lng * pi)) * 2.0 / 3.0ret += (20.0 * math.sin(lat * pi) + 40.0 * math.sin(lat / 3.0 * pi)) * 2.0 / 3.0ret += (160.0 * math.sin(lat / 12.0 * pi) + 320 * math.sin(lat * pi / 30.0)) * 2.0 / 3.0return retdef transformlng(lng, lat):ret = 300.0 + lng + 2.0 * lat + 0.1 * lng * lng + 0.1 * lng * lat + 0.1 * math.sqrt(math.fabs(lng))ret += (20.0 * math.sin(6.0 * lng * pi) + 20.0 * math.sin(2.0 * lng * pi)) * 2.0 / 3.0ret += (20.0 * math.sin(lng * pi) + 40.0 * math.sin(lng / 3.0 * pi)) * 2.0 / 3.0ret += (150.0 * math.sin(lng / 12.0 * pi) + 300.0 * math.sin(lng / 30.0 * pi)) * 2.0 / 3.0return retdef out_of_china(lng, lat):"""判斷是否在國(guó)內(nèi),不在國(guó)內(nèi)不做偏移"""if lng < 72.004 or lng > 137.8347:return Trueif lat < 0.8293 or lat > 55.8271:return Truereturn Falsedef transform_geometry(geom):"""轉(zhuǎn)換幾何對(duì)象的坐標(biāo)"""def transform_coords(x, y, z=None):wgs_x, wgs_y = gcj02towgs84(x, y)return wgs_x, wgs_yreturn transform(transform_coords, geom)def get_and_save_traffic_status(rectangle, key='你的key', output_dir='output'):try:# 初始化數(shù)據(jù)字典data = {'name': [],'status': [],  # 路況狀態(tài)碼 (將轉(zhuǎn)換為double)'direction': [],'angle': [],'speed': [],'geometry': []}# 構(gòu)建API請(qǐng)求URLurl = f'https://restapi.amap.com/v3/traffic/status/rectangle?rectangle={rectangle}&output=json&extensions=all&key={key}&level=6'# 發(fā)送請(qǐng)求并獲取JSON響應(yīng)res = requests.get(url, timeout=10).json()# 遍歷每條道路數(shù)據(jù)for road in res['trafficinfo']['roads']:try:polylines = [(float(y[0]), float(y[1])) for y in[x.split(',') for x in road['polyline'].split(';')]]# 創(chuàng)建線幾何對(duì)象line = LineString(polylines)# 轉(zhuǎn)換為WGS84坐標(biāo)系wgs84_line = transform_geometry(line)data['geometry'].append(wgs84_line)data['name'].append(road.get('name', ''))# 將status轉(zhuǎn)換為float類型data['status'].append(float(road.get('status', '0')))data['direction'].append(road.get('direction', ''))data['angle'].append(float(road.get('angle', 0)))data['speed'].append(int(road.get('speed', 0)))except:continue# 創(chuàng)建GeoDataFrame對(duì)象gdf = gpd.GeoDataFrame(data, geometry='geometry', crs='EPSG:4326')# 確保status列為float64類型gdf['status'] = gdf['status'].astype(np.float64)# 創(chuàng)建輸出目錄os.makedirs(output_dir, exist_ok=True)# 生成文件名filename = f'traffic_status_{datetime.now().strftime("%Y%m%d%H%M%S")}_wgs84.shp'# 保存為shapefileoutput_path = os.path.join(output_dir, filename)gdf.to_file(output_path, encoding='utf-8')print(f"已保存WGS84坐標(biāo)系數(shù)據(jù)到: {output_path}")except Exception as e:print(f"處理出錯(cuò): {str(e)}")if __name__ == "__main__":rectangle = '121.425363,31.205192;121.467503,31.241228' # 替換生成的坐標(biāo)get_and_save_traffic_status(rectangle)

這里結(jié)果會(huì)保存在腳本所在目錄的output/traffic_status_2025xxxxxx_wgs84.shp,直接把導(dǎo)出結(jié)果在arcgis加載即可,其中的status字段是路況字段,在可視化的過(guò)程中,符號(hào)系統(tǒng)字段選擇status字段,這樣我們就可以在圖上直觀的看出擁堵的位置區(qū)域;

status

路況

0:未知;1:暢通;2:緩行;3:擁堵

數(shù)據(jù)更新頻率參考高德的擁堵延時(shí)指數(shù)應(yīng)該是5分鐘自動(dòng)刷新,可以通過(guò)增加腳本定時(shí)自動(dòng)運(yùn)行的邏輯來(lái)實(shí)現(xiàn)全時(shí)段監(jiān)測(cè);

文章僅用于分享個(gè)人學(xué)習(xí)成果與個(gè)人存檔之用,分享知識(shí),如有侵權(quán),請(qǐng)聯(lián)系作者進(jìn)行刪除。所有信息均基于作者的個(gè)人理解和經(jīng)驗(yàn),不代表任何官方立場(chǎng)或權(quán)威解讀。

http://www.risenshineclean.com/news/30765.html

相關(guān)文章:

  • 電腦做會(huì)計(jì)從業(yè)題目用什么網(wǎng)站最新新聞事件
  • 建設(shè)銀行網(wǎng)站個(gè)人中心大量微信群推廣代發(fā)廣告
  • axure怎么做網(wǎng)站引流推廣營(yíng)銷
  • c 網(wǎng)站開(kāi)發(fā)如何每天10點(diǎn)執(zhí)行任務(wù)東莞有哪些做推廣的網(wǎng)站
  • 浙江疫情最新消息2020seo超級(jí)外鏈工具免費(fèi)
  • 馬云早期在政府做網(wǎng)站學(xué)電商哪個(gè)培訓(xùn)學(xué)校好
  • 日本風(fēng)格網(wǎng)站seo快速優(yōu)化
  • 哪些企業(yè)網(wǎng)站做得好本地推薦本地推薦
  • 南京建設(shè)工程監(jiān)管網(wǎng)站營(yíng)銷100個(gè)引流方案
  • 怎樣做網(wǎng)站服務(wù)器亞馬遜關(guān)鍵詞搜索工具
  • 做網(wǎng)站要多長(zhǎng)時(shí)間重慶森林電影簡(jiǎn)介
  • 自動(dòng)寫(xiě)作文網(wǎng)站建站模板免費(fèi)下載
  • 如何做招商性網(wǎng)站百度資源搜索平臺(tái)
  • 做代購(gòu)直接網(wǎng)站下單成都關(guān)鍵詞優(yōu)化報(bào)價(jià)
  • c2c電子商務(wù)網(wǎng)站建設(shè)欄目結(jié)構(gòu)圖最近國(guó)際新聞
  • 有沒(méi)有好的網(wǎng)站是JSP做的高端網(wǎng)站建設(shè)哪個(gè)好
  • 江西省興贛建設(shè)監(jiān)理咨詢有限公司網(wǎng)站個(gè)人網(wǎng)站建設(shè)
  • 西寧 網(wǎng)站建設(shè)武漢最新疫情
  • dell網(wǎng)站的網(wǎng)站設(shè)計(jì)特色優(yōu)化營(yíng)商環(huán)境 提升服務(wù)效能
  • 網(wǎng)站建設(shè)解決方中國(guó)疫情最新數(shù)據(jù)
  • 陽(yáng)春網(wǎng)站開(kāi)發(fā)鄭州本地seo顧問(wèn)
  • 甘肅蘭州做網(wǎng)站企業(yè)qq怎么申請(qǐng)
  • 電子商務(wù)項(xiàng)目策劃書(shū)范文沈陽(yáng)seo建站
  • 瑜伽網(wǎng)站設(shè)計(jì)廣告網(wǎng)站推薦
  • 高端網(wǎng)站建設(shè)價(jià)格百度指數(shù)有三個(gè)功能模塊
  • 網(wǎng)站建設(shè)業(yè)務(wù)范圍b2b網(wǎng)站推廣排名
  • 濟(jì)南又出了一例梁水才seo優(yōu)化專家
  • 做網(wǎng)站布局流程小程序推廣賺傭金平臺(tái)
  • 政府網(wǎng)站建設(shè)個(gè)人先進(jìn)推薦材料域名權(quán)重
  • 網(wǎng)站必須做公安部備案51鏈