使用 gma 繪制隋唐洛陽城

背景

最近河南文旅大伙,給家鄉帶了一波熱度,想想又是王子又是公主,著實羨慕。出門在外,還是對加很有感覺得,不過很遺憾,本人不能為家鄉做出貢獻,只能使用這種小伎倆,稍稍展示,稍作關聯。

環境和數據準備

安裝 gma:pip install gma

本文基于:gma 2.0.5,Python 3.11

本文用到的矢量數據為:
鏈接:https://pan.baidu.com/s/1_jP6qXle1ixnWo_A_kjEYQ?pwd=w9vu
提取碼:w9vu

繪圖目標

代碼

from gma import io
from gma.map import plotSYG = io.ReadVector('上陽宮.shp')
SYG_M = io.ReadVector('上陽宮_門.shp')CQ = io.ReadVector('城墻.shp')
CM = io.ReadVector('城門.shp')
TWC = io.ReadVector('太微城.shp')
Q = io.ReadVector('橋.shp')
LS = io.ReadVector('洛水(澗水).shp')
ZWC = io.ReadVector('紫微城.shp')
LF = io.ReadVector('里坊.shp')MapF = plot.MapFrame(BaseMapProj = SYG.Projection)MapSYG = MapF.AddLayer(SYG, FaceColor = '#D7FCDC')MapLF = MapF.AddLayer(LF, FaceColor = '#DCCFFC')
MapTWC = MapF.AddLayer(TWC, FaceColor = '#FCCAB3')
MapZWC = MapF.AddLayer(ZWC, FaceColor = '#FFD37F')MapCQ = MapF.AddLayer(CQ, LineColor = '#31B07D', LineWidth = 0.6, Zorder = 5)MapLS = MapF.AddLayer(LS, FaceColor = '#BEE8FF', LineWidth = 0.1)MapSYG_M = MapF.AddLayer(SYG_M, PointColor = '#89438C', PointSize = 4, Zorder = 8, FieldName = '門')
SYG_MLabel = MapSYG_M.AddLabel(Font = 'SimSun', FontSize = 5, Offset = (-30, 10), Zorder = 9)MapCM = MapF.AddLayer(CM, PointColor = '#58992F', PointSize = 4, Zorder = 10, FieldName = '城門')
CMLabel = MapCM.AddLabel(Font = 'SimSun', FontSize = 5, Offset = (-30, 10), Zorder = 11)MapQ = MapF.AddLayer(Q, LineColor = '#22A19A', LineWidth = 0.6, Zorder = 12, FieldName = '橋')
QLabel = MapQ.AddLabel(Font = 'SimSun', FontSize = 5, Zorder = 13, Position = 'Geometric')

再來一遍

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/711039.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/711039.shtml
英文地址,請注明出處:http://en.pswp.cn/news/711039.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【網絡編程】理解客戶端和服務器并使用Java提供的api實現回顯服務器

目錄 一、網絡編程 二、客戶端和服務器 三、客戶端和服務器的交互模式 四、TCP 和 UDP UDP socket api 的使用 1、DatagramSoket 2、DatagramPacket TCP socket api 的使用 1、ServerSocket 2、Socket 一、網絡編程 本質上就是學習傳輸層給應用層提供的 api&#x…

Leetcode 128. 最長連續序列

最長連續序列 給定一個未排序的整數數組 nums ,找出數字連續的最長序列(不要求序列元素在原數組中連續)的長度。 請你設計并實現時間復雜度為 O(n) 的算法解決此問題。 示例 1: 輸入:nums [100,4,200,1,3,2] 輸出&am…

ARM簡介

ARM:ARM是Advanced RISC Machine的縮寫,意為高級精簡指令集計算機。 英國ARM公司,2016年被軟銀創始人孫正義斥資320億美元收購了。現在是軟銀旗下的芯片設計公司,總部位于英國劍橋,專注于設計芯片,賣芯片生…

揭秘:頭部房企如何借助數據分析實現穩健發展?

房地產行業是我國國民經濟中的重要支柱產業之一,在房地產市場供求關系發生重大變化的當下,房企面臨多重挑戰。Kyligence 服務的這家頭部房企把發展的重點聚焦于內生,關注內生的轉化率、接管的效率以及內生毛利率的提升,引入 Kylig…

基于springboot實現保險信息網站系統項目【項目源碼+論文說明】計算機畢業設計

基于springboot實現保險信息網站系統演示 摘要 隨著互聯網的不斷發展,現在人們獲取最新資訊的主要途徑來源于網上新聞,當下的網上信息宣傳門戶網站的發展十分的迅速。而保險產品,作為當下人們非常關注的一款能夠給人們帶來醫療、生活、養老或…

面試筆記系列七之多線程+分布式系統基礎知識點整理及常見面試題

目錄 多線程 介紹一下線程的生命周期及狀態? 線程的sleep、wait、join、yield如何使用? sleep與yield方法的區別在于, 進程調度算法 創建線程有哪些方式? 什么是守護線程? ThreadLocal的原理是什么,…

當大語言模型遇到AI繪畫-google gemma與stable diffusion webui融合方法-礦卡40hx的AI一體機

你有想過建一臺主機,又能AI聊天又能AI繪畫,還可以直接把聊天內容直接畫出來的機器嗎? 當Google最新的大語言模型Gemma碰到stable diffusion webui會怎么樣? 首先我們安裝stable diffusion webui(automatic1111開源項目&#xff…

微信小程序構建npm失敗解決方式

安裝完所需要的依賴后,在微信開發者工具菜單欄中選擇:“工具” -> “構建 npm”,但是失敗。 解決方法:修改 project.config.json 開發者工具創建的項目,miniprogramRoot 默認為 miniprogram,package.js…

數據遷移DTS | 云上MySQL 數據庫遷移至達夢數據庫

引入 云上 MySQL 數據庫 —> 向達夢國產化數據庫遷移 下載&安裝 達夢客戶端工具 DM->可參考之前國產化專欄達夢文章 創建模式 在客戶端分別依次執行以下命令腳本(這里沒有通過客戶端管理工具去創建達夢數據庫的模式,當然也可以通過圖形化界…

WordPress通過寶塔面板的入門安裝教程【保姆級】

WordPress安裝教程【保姆級】【寶塔面板】 前言一:安裝環境二:提前準備三:域名解析四:開始安裝五:安裝成功 前言 此教程適合新手,即使不懂代碼,也可輕松安裝wordpress 一:安裝環…

node如何解析前端傳遞過來的命令行字符串

node如何解析前端傳遞過來的命令行字符串 在Node.js中,如果你想處理從前端傳遞過來的命令行字符串,你可以根據你的應用程序的架構來決定如何接收這些字符串,然后進行解析。一般來說,命令行字符串可能會通過HTTP請求(如…

視頻在線轉換,四種方法任你選!(建議收藏)

在當今的數字時代,視頻已經成為人們日常生活中不可或缺的一部分。我們通過視頻分享知識、表達創造力、觀看娛樂節目,甚至參與遠程學習和工作。然而,隨著視頻格式的多樣化和設備的激增,我們經常會遇到一個常見的問題:視…

Linux(CentOS)學習

一、認識Linux 1、如何修改Linux時區 2、配置固定IP 3、重啟網絡服務 3、小技巧快捷鍵 4、環境變量設置 5、Linux文件的上傳和下載 6、壓縮和解壓 二、基礎命令 1、目錄命令 (1、)查看目錄內容(ls) 1、ls //查看當前目錄內容 2、- a //顯示隱藏內容 3…

深入理解Lucene:開源全文搜索引擎的核心技術解析

1. 介紹 Lucene是什么? Lucene是一個開源的全文搜索引擎庫,提供了強大的文本搜索和檢索功能。它由Apache軟件基金會維護和開發,采用Java語言編寫,因其高性能、可擴展性和靈活性而備受歡迎。 Lucene的作用和應用場景 Lucene主要…

Linux下創建用戶并且賦root權限

背景:好幾次都要求自己在服務器上創建用戶,并且賦權限給這個用戶的root權限,因為生產服務器上不讓用root用戶操作,之前沒怎么記錄,因為這個操作不多,但是又記不住這個操作,一到用上,…

【算法】二叉搜索樹的插入、刪除、轉換操作

1 二叉搜索樹的插入操作 給定二叉搜索樹(BST)的根節點 root 和要插入樹中的值 value ,將值插入二叉搜索樹。 返回插入后二叉搜索樹的根節點。 輸入數據 保證 ,新值和原始二叉搜索樹中的任意節點值都不同。 注意,可能…

小程序原生 API

微信原生 API 1. API 基礎 小程序開發框架提供豐富的微信原生 API,可以方便的調起微信提供的能力,如獲取用戶信息,本地存儲,支付功能等,幾乎所有小程序的 API 都掛載在 wx 對象底下,例如:wx.c…

#LLM入門|Prompt#2.2_ AI 應用開發的范式_Language_Models,the_Chat_Format_and_Tokens

在本章中,我們將和您分享大型語言模型(LLM)的工作原理、訓練方式以及分詞器(tokenizer)等細節對 LLM 輸出的影響。 我們還將介紹 LLM 的提問范式(chat format),這是一種指定系統消息…

STM32合并燒錄IAP+APP

STM32合并燒錄IAPAPP 通過查找相關資料 有以下幾種合并方法 第一種直接將二進制文件用記事本合并 而要合并的就是就將IAP最后的一行刪除,然后將APP程序追加在后面。 (修改前) 把APP的.hex 全部內容拷貝復制到 剛才刪掉結束語句的 IAP的.…

Win32匯編ListView控件學習

此控件比較復雜;和基礎win32控件不同;需要先初始化Windows公共控件庫, invoke InitCommonControls 之后才可使用; lvdemo.asm, .386.model flat, stdcalloption casemap :none ; case sensitiveinclude window…