1. <nobr id="easjo"><address id="easjo"></address></nobr>

      <track id="easjo"><source id="easjo"></source></track>
      1. 
        

      2. <bdo id="easjo"><optgroup id="easjo"></optgroup></bdo>
      3. <track id="easjo"><source id="easjo"><em id="easjo"></em></source></track><option id="easjo"><span id="easjo"><em id="easjo"></em></span></option>
          貴州做網站公司
          貴州做網站公司~專業!靠譜!
          10年網站模板開發經驗,熟悉國內外開源網站程序,包括DEDECMS,WordPress,ZBlog,Discuz! 等網站程序,可為您提供網站建設,網站克隆,仿站,網頁設計,網站制作,網站推廣優化等服務。我們專注高端營銷型網站,企業官網,集團官網,自適應網站,手機網站,網絡營銷,網站優化,網站服務器環境搭建以及托管運維等。為客戶提供一站式網站解決方案?。?!

          Python教程 | 最標準的地圖調用方式

          來源:互聯網轉載 時間:2024-01-29 08:29:34

          天地圖是國家測繪地理信息局建設的地理信息綜合服務網站,是國家地理信息公共服務平臺的公眾版。與常用的谷歌地圖、騰訊地圖、百度地圖、微軟地圖、必應地圖相比,天地圖有什么不同呢?主要體現在數據的權威性和準確性。天地圖發布的國界線、九段線等是準確無誤的;另外國內只有天地圖影像的坐標是無偏移的,其余地圖的坐標都進行過加密處理。Cartopy是一個基于Python的制圖模塊,其提供了加載在線地圖的功能,那么如何添加調用天地圖服務功能呢?其實前期已有相關的工作,但是由于天地圖服務升級,原先的方法都不再適用,這里給出的是最新的調用方法。

          準備工作

          網站:天地圖首先需要注冊賬號,然后選擇開發資源→地圖API

          進入控制臺,點擊創建新應用,選擇服務器端,這樣可以得到一個密鑰(key)

          天地圖地圖服務采用OGC WMTS標準,但是該方法目前沒有試成功,故采用了瓦片地圖(XYZ Tiles)的形式。

          添加調用方法

          添加以下代碼,注意把代碼中的'your_key'替換成之前得到的key

          import cartopy.io.img_tiles as cimgt# 天地圖矢量class TDT_vec(cimgt.GoogleWTS):    def _image_url(self, tile):        x, y, z = tile        key = 'your_key'        url = 'http://t0.tianditu.gov.cn/DataServer?T=vec_w&x=%s&y=%s&l=%s&tk=%s' % (x, y, z, key)        return url# 天地圖遙感class TDT_img(cimgt.GoogleWTS):    def _image_url(self, tile):        x, y, z = tile        key = 'your_key'        url = 'http://t0.tianditu.gov.cn/DataServer?T=img_w&x=%s&y=%s&l=%s&tk=%s' % (x, y, z, key)        return url# 天地圖地形class TDT_ter(cimgt.GoogleWTS):    def _image_url(self, tile):        x, y, z = tile        key = 'your_key'        url = 'http://t0.tianditu.gov.cn/DataServer?T=ter_w&x=%s&y=%s&l=%s&tk=%s' % (x, y, z, key)        return url

          調用演示

          1、矢量底圖、影像底圖、地形底圖

          # 導入模塊import matplotlib.pyplot as pltimport cartopy.crs as ccrsimport cartopy.feature as cfeatfrom cartopy.mpl.gridliner import LONGITUDE_FORMATTER, LATITUDE_FORMATTERfrom cartopy.mpl.ticker import LongitudeFormatter,LatitudeFormatterimport cartopy.io.shapereader as shpreaderimport numpy as npplt.rcParams['font.sans-serif'] = ['SimHei'] plt.rcParams['axes.unicode_minus'] = False fig = plt.figure(figsize=(18, 12))ax = fig.add_subplot(1, 3, 1, projection=ccrs.PlateCarree())ax.set_extent([118, 122, 28, 32],crs=ccrs.PlateCarree())request = TDT_vec()ax.add_image(request, 9)ax.set_title('天地圖矢量底圖',fontsize=15)gl = ax.gridlines(draw_labels=True, linewidth=1, color='k', alpha=0.5, linestyle='--')gl.xlabels_top = gl.ylabels_right = False gl.xformatter = LONGITUDE_FORMATTER gl.yformatter = LATITUDE_FORMATTERax = fig.add_subplot(1, 3, 2, projection=ccrs.PlateCarree())ax.set_extent([118, 122, 28, 32],crs=ccrs.PlateCarree())request = TDT_img()ax.add_image(request, 9)ax.set_title('天地圖影像底圖',fontsize=15)gl = ax.gridlines(draw_labels=True, linewidth=1, color='k', alpha=0.5, linestyle='--')gl.xlabels_top = gl.ylabels_right = False gl.xformatter = LONGITUDE_FORMATTER gl.yformatter = LATITUDE_FORMATTERax = fig.add_subplot(1, 3, 3, projection=ccrs.PlateCarree())ax.set_extent([118, 122, 28, 32],crs=ccrs.PlateCarree())request = TDT_ter()ax.add_image(request, 9)ax.set_title('天地圖地形底圖',fontsize=15)gl = ax.gridlines(draw_labels=True, linewidth=1, color='k', alpha=0.5, linestyle='--')gl.xlabels_top = gl.ylabels_right = False gl.xformatter = LONGITUDE_FORMATTER gl.yformatter = LATITUDE_FORMATTERplt.show()

          2、不同層級的底圖

          fig = plt.figure(figsize=(18, 12))for i in range(6,9):    ax = fig.add_subplot(1, 3, i-5, projection=ccrs.PlateCarree())    ax.set_extent([120.4, 122.1, 30.6, 32.1],crs=ccrs.PlateCarree())    request = TDT_img()    ax.add_image(request, i)    ax.set_title('Level='+str(i),fontsize=15)    gl = ax.gridlines(xlocs=np.arange(120.5, 122.5, 0.5),                      ylocs=np.arange(30, 32.5, 0.5),                      draw_labels=True,linewidth = 0.5,color='k',                      alpha=0.5,linestyle='--')    gl.xlabels_top = gl.ylabels_right = Falseplt.show()

          參考:

          1. https://my.oschina.net/u/4581316/blog/4396806
          2. http://bbs.06climate.com/forum.php?mod=viewthread&tid=89165

          網絡推廣與網站優化公司(網絡優化與推廣專家)作為數字營銷領域的核心服務提供方,其價值在于通過技術手段與策略規劃幫助企業提升線上曝光度、用戶轉化率及品牌影響力。這...

          在當今數字化時代,公司網站已成為企業展示形象、傳遞信息和開展業務的重要平臺。然而,對于許多公司來說,網站建設的價格是一個關鍵考量因素。本文將圍繞“公司網站建設價...

          在當今的數字化時代,企業網站已成為企業展示形象、吸引客戶和開展業務的重要平臺。然而,對于許多中小企業來說,高昂的網站建設費用可能會成為其發展的瓶頸。幸運的是,隨...

          ps4剛發布的時候賣多少錢?你好,。500克的給國行2200,1噸的給國行2600(除了一些限量發售,好像還沒有 尚未正式發布)。非國行的價格相對更隨意,但一般都比國行便宜。ps4多少錢?美版PS4售價399美元,約合2430元。上映日期是2013年11月15日。PS4的售價為3380港幣,約合2657元。上映日期是2013年12月17日。港版PS4《地帶:陰影墜落》中英文售價為3780港幣,約合...

          DNF銀錠有什么用?等級40以上的戰士可以在赫頓馬爾廣場加入NPC喬安費瑞諾進入地下城。也可以通過入場券進入地下城。進入地下城后,玩家可以自行選擇基礎護送物資【銅錠】。還可以加上其他地下城獲得的【銅錠】【銀錠】【金錠】。dnf金錠有什么用:用金錠,銀錠等。用金幣換票。加了他們之后,通關后獎勵會更高。f如何獲得鏢局的金元寶:1。根據護送物資的價值獲得不同的獎勵。護送成功后會發放獎勵【護送證書】。其他...

          世界上最小的裙子?世界上最短的裙子是苗寨的裙子。如果你偶爾去山里的這個村子看看,你會看到很多人會穿這種裙子。在當地穿這樣的短裙是一種習慣和自然。但是在城市里,看到這個,會覺得比較暴露。世界上最短的裙子只有五英寸,通常在演出時穿。但是到了苗寨就變成普通衣服了,因為這里的工作人員都穿這種裙子。女生天生愛美,喜歡很多漂亮的衣服,尤其是短裙,夏天會很酷。在山里這個非常特別的地方,所有的女人都穿著同樣的衣服...

          TOP
          国产初高中生视频在线观看|亚洲一区中文|久久亚洲欧美国产精品|黄色网站入口免费进人
          1. <nobr id="easjo"><address id="easjo"></address></nobr>

              <track id="easjo"><source id="easjo"></source></track>
              1. 
                

              2. <bdo id="easjo"><optgroup id="easjo"></optgroup></bdo>
              3. <track id="easjo"><source id="easjo"><em id="easjo"></em></source></track><option id="easjo"><span id="easjo"><em id="easjo"></em></span></option>