【AI大模型】深入解析 存储和展示地理数据(.kmz)文件格式:结构、应用与项目实战

在这里插入图片描述

文章目录

      • 1. 引言
      • 2. 什么是 .kmz 文件?
        • 2.1 `.kmz` 文件的定义与用途
        • 2.2 `.kmz` 与 `.kml` 的关系
        • 2.3 常见的 `.kmz` 文件使用场景
      • 3. `.kmz` 文件的内部结构
        • 3.1 `.kmz` 文件的压缩格式
        • 3.2 解压缩 `.kmz` 文件的方法
        • 3.3 `.kmz` 文件的典型内容
        • 3.4 `.kml` 文件的结构与主要元素介绍
      • 4. 深入解析 `.kml` 文件格式
        • 4.1 `.kml` 文件的 XML 结构
        • 4.2 常见的 `.kml` 元素及其功能
          • 4.2.1 `<Placemark>`
          • 4.2.2 `<Document>`
          • 4.2.3 `<Point>`
          • 4.2.4 `<coordinates>`
        • 4.3 示例分析:实际 `.kml` 文件的解读
      • 5. 使用 Python 解析 `.kmz` 文件
        • 5.1 使用 `zipfile` 模块解压 `.kmz` 文件
        • 5.2 使用 `xml.etree.ElementTree` 解析 `.kml` 文件
        • 5.3 提取 `.kml` 文件中的地理坐标与描述信息
        • 5.4 处理复杂 `.kml` 文件的技巧
      • 6. `.kmz` 文件的应用场景
        • 6.1 在 Google Earth 中的应用与操作
        • 6.2 GIS 软件中的 `.kmz` 文件处理
        • 6.3 导航系统中的 `.kmz` 数据导入与解析
        • 6.4 3D 模型在 `.kmz` 文件中的使用
      • 7. 高级主题:自定义 `.kmz` 文件
        • 7.1 创建 `.kml` 文件并打包为 `.kmz`
        • 7.2 自定义地理标记与路径
        • 7.3 添加图像、3D 模型和样式
        • 7.4 使用 HTML 与 CDATA 定义复杂的描述信息
        • 7.5 处理与优化大型 `.kmz` 文件
      • 8. `.kmz` 文件的可视化
        • 8.1 在不同平台上展示 `.kmz` 数据
        • 8.2 使用 Python 进行 `.kmz` 数据的可视化
        • 8.3 将 `.kmz` 转换为其他格式(如 GeoJSON)并展示
      • 9. 常见问题与解决方案
        • 9.1 `.kmz` 文件解压失败的常见原因
        • 9.2 `.kml` 文件解析中的命名空间问题
        • 9.3 处理含有多个 `.kml` 文件的 `.kmz` 文件
        • 9.4 优化 `.kmz` 文件体积的技巧
      • 10. 项目实战
        • 10.1 文件格式(关键部分)
        • 10.2 主要代码片段
        • 10.3 保存Excel文件
      • 11. 未来发展与前景
        • 11.1 `.kmz` 文件格式的演变与未来
        • 11.2 在大数据与地理信息分析中的应用潜力
        • 11.3 与其他地理信息格式的比较与整合
      • 12. 结论
      • 13. 参考文献

1. 引言

在现代地理信息系统 (GIS) 和导航应用中,.kmz 文件是一种广泛使用的格式。它通过压缩 .kml 文件,将地理数据、图像、3D 模型和其他资源打包成一个单一文件,方便了数据的传输和共享。本文旨在详细探讨 .kmz 文件的内部结构、应用场景以及如何使用 Python 进行解析和处理,并提供丰富的实践示例和应用指南。

.kmz 文件的出现,使得复杂的地理信息变得易于管理和传递。无论是在 Google Earth 中展示地标,还是在专业导航系统中导入路线,.kmz 文件都起到了关键作用。然而,由于其内部结构相对复杂,许多用户在实际使用中遇到了解析与应用的难题。因此,本文将深入剖析 .kmz 文件的各个组成部分,并提供详尽的代码示例,帮助读者全面掌握 .kmz 文件的解析与应用。

2. 什么是 .kmz 文件?

2.1 .kmz 文件的定义与用途

.kmz 文件是 Keyhole Markup Language (KML) 的压缩版本,用于存储和展示地理数据。.kml 文件使用 XML 格式来定义地标、路径、图形覆盖和其他地理信息。通过将 .kml 文件及其关联资源(如图像和模型)压缩成 .kmz 文件,用户可以更方便地分享这些数据。

2.2 .kmz.kml 的关系

.kml 文件是 .kmz 文件的核心部分,所有的地理信息都以 XML 标签的形式定义在 .kml 文件中。.kmz 文件不仅仅是压缩了 .kml 文件,它还可以包含其他文件,如图像和 3D 模型。这使得 .kmz 文件更为强大,因为它可以在一个文件中包含完整的地理数据及其关联资源。

2.3 常见的 .kmz 文件使用场景
  • Google Earth:用户可以通过 .kmz 文件在 Google Earth 中展示自定义地图、地标和路径。
  • 导航系统:导航设备和软件通常使用 .kmz 文件导入预定义的路线和兴趣点。
  • GIS 软件:许多 GIS 应用程序支持导入和导出 .kmz 文件,用于数据分析和可视化。

3. .kmz 文件的内部结构

3.1 .kmz 文件的压缩格式

.kmz 文件实际上是一个使用 ZIP 格式压缩的文件。因此,.kmz 文件可以通过任何支持 ZIP 的工具(如 7-Zip、WinRAR 等)进行解压缩。解压缩后,可以看到 .kml 文件及其相关的图像、3D 模型等资源。

3.2 解压缩 .kmz 文件的方法

你可以使用以下方式解压缩 .kmz 文件:

  • 使用解压工具:直接将 .kmz 文件重命名为 .zip,然后使用解压工具解压。
  • 使用 Python:使用 Python 的 zipfile 模块进行解压缩。

例如,使用 Python 解压缩 .kmz 文件的代码如下:

import zipfiledef extract_kmz(kmz_file, output_dir):with zipfile.ZipFile(kmz_file, 'r') as kmz:kmz.extractall(output_dir)# 示例
extract_kmz('example.kmz', 'output_directory')
3.3 .kmz 文件的典型内容

一个 .kmz 文件通常包含以下内容:

  • doc.kml 文件:主要的 .kml 文件,包含地理数据和描述信息。
  • 图像文件:支持 .kml 文件中使用的图像,通常用于地面覆盖(GroundOverlay)或地标图标。
  • 3D 模型文件:如 COLLADA (.dae) 文件,用于展示三维建筑或地形。
3.4 .kml 文件的结构与主要元素介绍

.kml 文件是一个基于 XML 的文件,包含描述地理数据的标签。常见的元素包括:

  • <kml>:根元素,定义命名空间。
  • <Document>:包含一个或多个地理数据的集合。
  • <Placemark>:定义一个地标或路径。
  • <Point>:定义地理位置(经纬度)。
  • <coordinates>:包含经度、纬度和高度信息。
  • <Style><StyleMap>:定义地标的样式和外观。
  • <GroundOverlay>:在地图上覆盖图像。
  • <TimeStamp><TimeSpan>:定义时间信息。

4. 深入解析 .kml 文件格式

4.1 .kml 文件的 XML 结构

.kml 文件使用 XML 语法,包含一系列定义地理信息的标签。每个标签对应一个地理元素,如地标、路径或图像覆盖。

4.2 常见的 .kml 元素及其功能
4.2.1 <Placemark>

<Placemark>.kml 文件中最常见的元素之一,表示地图上的一个地标。它通常包含以下子元素:

  • <name>:地标的名称。
  • <description>:地标的描述信息,可以包含 HTML 或 CDATA。
  • <Point>:地标的位置。
  • <coordinates>:地标的地理坐标。
4.2.2 <Document>

<Document> 是一个容器元素,包含多个 <Placemark> 元素以及其他相关元素。

4.2.3 <Point>

<Point> 元素用于定义一个点的地理位置,通常包含一个 <coordinates> 子元素。

4.2.4 <coordinates>

<coordinates> 元素定义经度、纬度和高度,格式为:<longitude>,<latitude>,<altitude>

4.3 示例分析:实际 .kml 文件的解读

以下是一个简单的 .kml 文件示例:

<kml xmlns="http://www.opengis.net/kml/2.2"><Document><name>Example KML</name><Placemark><name>Example Placemark</name><Point><coordinates>-122.0822035425683,37.42228990140251,0</coordinates></Point></Placemark></Document>
</kml>

在这个示例中,<Placemark> 定义了一个名为 “Example Placemark” 的地标,位于西经 122.0822035425683 度、北纬 37.42228990140251 度的地点,高度为 0 米。

5. 使用 Python 解析 .kmz 文件

5.1 使用 zipfile 模块解压 .kmz 文件

在 Python 中,可以使用 zipfile 模块来解压缩 .kmz 文件。解压缩后,我们可以访问其中的 .kml 文件及其他资源。

以下是一个解压缩 .kmz 文件的示例:

import zipfiledef extract_kmz(kmz_file, output_dir):with zipfile.ZipFile(kmz_file, 'r') as kmz:kmz.extractall(output_dir)# 示例
extract_kmz('example.kmz', 'output_directory')
5.2 使用 xml.etree.ElementTree 解析 .kml 文件

解压缩 .kmz 文件后,我们可以使用 xml.etree.ElementTree 模块来解析 .kml 文件的内容。以下是一个简单的解析示例:

import xml.etree.ElementTree as ETdef parse_kml(kml_file):tree = ET.parse(kml_file)root = tree.getroot()namespace = {'kml': 'http://www.opengis.net/kml/2.2'}# 查找所有的 Placemark 元素placemarks = root.findall('.//kml:Placemark', namespace)for placemark in placemarks:name = placemark.find('kml:name', namespace).textcoordinates = placemark.find('.//kml:coordinates', namespace).textprint(f'Name: {name}, Coordinates: {coordinates}')# 示例
parse_kml('output_directory/doc.kml')
5.3 提取 .kml 文件中的地理坐标与描述信息

在解析 .kml 文件时,我们可以提取特定的地理坐标和描述信息。以下代码展示了如何提取地

标名称和坐标:

import xml.etree.ElementTree as ETdef extract_coordinates(kml_file):tree = ET.parse(kml_file)root = tree.getroot()namespace = {'kml': 'http://www.opengis.net/kml/2.2'}# 提取所有地标的名称和坐标for placemark in root.findall('.//kml:Placemark', namespace):name = placemark.find('kml:name', namespace).textcoords = placemark.find('.//kml:coordinates', namespace).textprint(f'地标名称: {name}, 坐标: {coords}')# 示例
extract_coordinates('output_directory/doc.kml')
5.4 处理复杂 .kml 文件的技巧

在实际应用中,.kml 文件可能包含多种元素和嵌套结构。处理这些复杂结构时,使用命名空间和 XPath 进行精确查找是非常重要的。

6. .kmz 文件的应用场景

6.1 在 Google Earth 中的应用与操作

Google Earth 是 .kmz 文件的主要应用平台之一。用户可以通过 .kmz 文件创建和展示自定义地图、地标、路径和图形覆盖。

6.2 GIS 软件中的 .kmz 文件处理

在专业 GIS 软件中,.kmz 文件被广泛用于地理数据的存储和传输。GIS 专家可以通过 .kmz 文件分析地理信息,并将结果导出为其他格式。

6.3 导航系统中的 .kmz 数据导入与解析

许多导航系统支持 .kmz 文件格式,用户可以导入预定义的路线和兴趣点,从而提高导航的准确性和用户体验。

6.4 3D 模型在 .kmz 文件中的使用

.kmz 文件不仅可以存储二维地理信息,还可以包含 3D 模型,使其在虚拟现实和三维地图中具有广泛的应用。

7. 高级主题:自定义 .kmz 文件

7.1 创建 .kml 文件并打包为 .kmz

用户可以通过文本编辑器创建 .kml 文件,然后使用 ZIP 工具将其与相关资源压缩成 .kmz 文件。例如:

  1. 创建 example.kml 文件。
  2. 创建相关的图像或模型文件夹。
  3. .kml 文件和资源文件夹压缩为 example.kmz
7.2 自定义地理标记与路径

.kml 文件中,用户可以自定义地理标记和路径。例如,使用 <Placemark><LineString> 元素定义路径:

<Placemark><name>Example Path</name><LineString><coordinates>-122.084,37.421,0 -122.084,37.422,0 -122.084,37.423,0</coordinates></LineString>
</Placemark>
7.3 添加图像、3D 模型和样式

用户可以通过 <GroundOverlay> 添加图像覆盖,通过 <Model> 添加 3D 模型,并使用 <Style> 元素定义样式。例如:

<Style id="exampleStyle"><IconStyle><Icon><href>http://example.com/icon.png</href></Icon></IconStyle>
</Style>
7.4 使用 HTML 与 CDATA 定义复杂的描述信息

.kml 文件中,描述信息可以使用 HTML 进行格式化,并通过 CDATA 区块嵌入复杂的内容。例如:

<description><![CDATA[<h1>地标标题</h1><p>详细描述内容,可以包含 <b>HTML</b> 标签。</p>
]]></description>
7.5 处理与优化大型 .kmz 文件

处理大型 .kmz 文件时,用户应注意优化文件大小和加载性能。可以通过减少资源文件的分辨率和压缩比来优化 .kmz 文件。

8. .kmz 文件的可视化

8.1 在不同平台上展示 .kmz 数据

.kmz 文件可以在多个平台上进行展示,如 Google Earth、ArcGIS 等。用户可以通过这些平台直观地查看 .kmz 文件的内容。

8.2 使用 Python 进行 .kmz 数据的可视化

通过 Python 的地理可视化库(如 foliumgeopandas),用户可以将 .kmz 文件中的地理数据可视化。例如,使用 folium 库展示地标:

import foliumdef visualize_kml(kml_file):m = folium.Map(location=[37.422, -122.084], zoom_start=13)folium.GeoJson(kml_file).add_to(m)m.save('kml_map.html')# 示例
visualize_kml('output_directory/doc.kml')
8.3 将 .kmz 转换为其他格式(如 GeoJSON)并展示

用户可以将 .kmz 文件中的 .kml 数据转换为其他地理数据格式,如 GeoJSON,然后在 Web 地图应用中展示。

9. 常见问题与解决方案

9.1 .kmz 文件解压失败的常见原因
  • 压缩格式错误:确保 .kmz 文件使用标准 ZIP 格式压缩。
  • 文件损坏:如果 .kmz 文件损坏,可能需要重新下载或重新生成。
9.2 .kml 文件解析中的命名空间问题

在解析 .kml 文件时,命名空间可能会导致元素查找失败。用户应使用正确的命名空间前缀进行查找。

9.3 处理含有多个 .kml 文件的 .kmz 文件

如果 .kmz 文件中包含多个 .kml 文件,用户需要分别提取和解析每个文件,确保所有地理信息都能正确加载。

9.4 优化 .kmz 文件体积的技巧
  • 图像压缩:使用更高效的图像压缩格式,如 JPEG。
  • 减少冗余数据:删除不必要的 <Placemark> 或其他冗余元素。

10. 项目实战

10.1 文件格式(关键部分)

在这里插入图片描述
在这里插入图片描述

10.2 主要代码片段

在这里插入图片描述

def extract_kmz_info(self, kmz_file_path):all_timestamps = []all_coordinates = []with zipfile.ZipFile(kmz_file_path, 'r') as kmz:# 查找 .kml 或 .KML 文件kml_files = [name for name in kmz.namelist() if name.lower().endswith('.kml')]if not kml_files:print(f"Warning: {kmz_file_path} does not contain any .kml files.")return [], []for kml_filename in kml_files:with kmz.open(kml_filename) as kml_file:print(f'打开: {kml_filename}')kml_content = kml_file.read()soup = BeautifulSoup(kml_content, 'xml')# 打印XML结构以调试# print(soup.prettify())timestamps = []coordinates = []for placemark in soup.find_all('Placemark'):timestamp = placemark.find('TimeStamp')coordinate = placemark.find('coordinates')if timestamp and coordinate:timestamp_text = timestamp.find('when').text if timestamp.find('when') else Noneif timestamp_text:# 解析时间字符串为 datetime 对象utc_datetime = datetime.strptime(timestamp_text, '%Y-%m-%dT%H:%M:%SZ')# 转换为北京时间(东八区)beijing_datetime = utc_datetime + timedelta(hours=8)# 格式化为可读的日期时间字符串,保留到毫秒datetime_str = beijing_datetime.strftime('%Y-%m-%d %H:%M:%S.%f')[:-4]timestamps.append(datetime_str)coordinates.append(coordinate.text.strip())else:# print(f"在 Placemark 中缺少时间戳或坐标: {placemark.prettify()}")passall_timestamps.extend(timestamps)all_coordinates.extend(coordinates)# 打印提取到的时间戳和坐标# print('提取到的时间戳:', all_timestamps)# print('提取到的坐标:', all_coordinates)return all_timestamps, all_coordinates
10.3 保存Excel文件

在这里插入图片描述

11. 未来发展与前景

11.1 .kmz 文件格式的演变与未来

随着 GIS 技术的不断发展,.kmz 文件格式可能会继续演变,以支持更多的功能和更高效的数据存储。

11.2 在大数据与地理信息分析中的应用潜力

.kmz 文件格式在大数据和地理信息分析中有着巨大的应用潜力。未来,随着数据处理能力的增强,.kmz 文件将能够更好地支持复杂的地理数据集分析。

11.3 与其他地理信息格式的比较与整合

.kmz 文件格式将继续与其他地理信息格式(如 GeoJSON、Shapefile)竞争和整合,为用户提供更广泛的数据交换和分析能力。

12. 结论

通过本次深入解析 .kmz 文件格式,我们了解了其结构、应用场景以及使用 Python 进行解析和处理的方法。.kmz 文件作为一种灵活而强大的地理数据格式,在 GIS 和导航系统中具有广泛的应用。通过掌握 .kmz 文件的解析与应用技能,用户可以更有效地处理地理数据,并在实践中更好地利用这一重要的文件格式。

13. 参考文献

  • Google Developers. “KML Documentation”. https://developers.google.com/kml/documentation
  • Open Geospatial Consortium. “KML Standard”. http://www.opengeospatial.org/standards/kml/
  • Python 官方文档. “zipfile — Work with ZIP archives”. https://docs.python.org/3/library/zipfile.html
  • ArcGIS 文档. “Working with KML”. https://pro.arcgis.com/en/pro-app/help/sharing/overview/working-with-kml.htm

以上内容完整覆盖了 .kmz 文件解析的各个方面,并提供了详细的实践和应用指导,旨在为读者在 GIS 和导航领域的实际应用中提供有力的支持和帮助。

欢迎点赞|关注|收藏|评论,您的肯定是我创作的动力

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/457991.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python对文件的读写操作

任务:读取文件夹下的批量txt数据&#xff0c;并将其写入到对应的word文档中。 txt文件中包含&#xff1a;编号、报告内容和表格数据。写入到word当中&#xff1a;编号、报告内容、表格数据、人格雷达图以及对应的详细说明&#xff08;详细说明是根据表格中的标识那一列中的加号…

安徽对口高考Python试题选:输入一个正整数,然后输出该整数的3的幂数相加形式。

第一步&#xff1a;求出3的最高次幂是多少 guoint(input("请输入一个正整数:")) iguo a0 while i>0: if 3**i<guo: ai break ii-1print(a)#此语句为了看懂题目&#xff0c;题目中不需要打印出最高幂数 第二步…

开源模型应用落地-Qwen2-VL-7B-Instruct-vLLM-OpenAI API Client调用

一、前言 学习Qwen2-VL &#xff0c;为我们打开了一扇通往先进人工智能技术的大门。让我们能够深入了解当今最前沿的视觉语言模型的工作原理和强大能力。这不仅拓宽了我们的知识视野&#xff0c;更让我们站在科技发展的潮头&#xff0c;紧跟时代的步伐。 Qwen2-VL 具有卓越的图…

ELK日志收集

目前&#xff0c;各个微服务系统的日志都保存在各自指定的目录中&#xff0c;如果这些微服务部署在不同的服务器上&#xff0c;那么日志文件也是分散在各自的服务器上。分散的日志不利于我们快速通过日志定位问题&#xff0c;我们可以借助ELK来收集各个微服务系统的日志并集中展…

智能台灯设计(一)原理图设计

1. 前言 作者最近突发奇想&#xff0c;想自己做一个小台灯&#xff0c;设想的功能有&#xff1a;带锂电池可充电、可以调节亮度&#xff0c;后续通过增加WIFI模块实现手机控制开关功能。目前先实现最简单的功能&#xff0c;有时间再一步步完善吧。 2. 原理图设计 充电芯片使用…

B端产品常用组件及设计规则 原型图 Axure原型图 交互设计

B端产品常用组件及设计规则 本作品总结整理了B端产品原型设计时常用的组件、设计指南、常用模板等。为原型设计人员提供实用的组件和指南&#xff0c;帮助他们快速灵活地构建出更加美观、高质量的产品原型&#xff0c;更加高效地完成原型设计工作。 原型演示地址&#xff1a;…

【笔记】软件测试09——接口测试

九、接口测试 一)接口测试的概念 1)接口测试 通过数据包的方式观察客户端向服务器发送了什么请求,模拟这些请求的过程 接口测试是测试系统组件间数据交互的一种方式。 接口测试是通过测试不同情况下的输入参数和与之对应的输出结果来判断接口是否符合或满足相应 的功能性、…

鸿蒙原生应用开发及部署:首选华为云,开启HarmonyOS NEXT App新纪元

目录 前言 HarmonyOS NEXT&#xff1a;下一代操作系统的愿景 1、核心特性和优势 2、如何推动应用生态的发展 3、对开发者和用户的影响 华为云服务在鸿蒙原生应用开发中的作用 1、华为云ECS C系列实例 &#xff08;1&#xff09;全维度性能升级 &#xff08;2&#xff…

人工智能进程;算子加速的具体计算部分;大模型GPT5:参数18万亿;大模型面临问题

目录 人工智能进程 算子加速的简单理解,举例说明 一、简单理解 二、举例说明 一、算子加速的具体计算部分 二、举例说明 三、算子加速是否仅针对GPU 大模型GPT5:参数18万亿 大模型面临问题 算力集群设计框架 人工智能进程

论文阅读(二十六):Dual Attention Network for Scene Segmentation

文章目录 1.Introduction3.DANet3.1Position Attention Module3.2Channel Attention Module 论文&#xff1a;Dual Attention Network for Scene Segmentation   论文链接&#xff1a;Dual Attention Network for Scene Segmentation   代码链接&#xff1a;Github 1.Intr…

C++——string的模拟实现(下)

目录 成员函数 3.4 修改操作 (3)insert()函数 (4)pop_back()函数 (5)erase()函数 (6)swap()函数 3.5 查找操作 (1)find()函数 (2)substr()函数 3.6 重载函数 (1)operator赋值函数 (2)其他比较函数 (3)流插入和流提取 完整代码 结束语 第一篇链接&#xff1a;C——…

vue通过JSON文件生成KML文件源码

可以使用封装的json解析器进行JSON数据获取&#xff0c;读取点的经度、维度、高程等数据&#xff0c;再使用对应的KML文件生成函数使用该源码下载KML文件&#xff08;固定KML生成&#xff1a;js模板式生成大疆上云kml文件&#xff08;含详细注释&#xff0c;已封装成函数&#…

unity中GameObject介绍

在 Unity 中&#xff0c;Cube和Sphere等基本几何体是 Unity 引擎的内置预制体&#xff08;Prefabs&#xff09;&#xff0c;它们属于 Unity 中的GameObject 系统&#xff0c;可以在 Unity 的 Hierarchy 视图或 Scene 视图中右键点击&#xff0c;然后在弹出的菜单中选择 3D Obje…

MySQL 数据出海之数据同步方案

优质博文&#xff1a;IT-BLOG-CN 数据库出海流程 【1】业务出海&#xff1a;1&#xff09;数据库出海&#xff1b;2&#xff09;应用出海&#xff1b;3&#xff09;流量分发&#xff1b; 【2】数据库出海&#xff1a;涉及业务方、信安、DBA和框架组。 数据库出海&#xff0c…

Go 语言基础教程:7.Switch 语句

在这篇教程中&#xff0c;我们将学习 Go 语言中的 switch 语句&#xff0c;它是条件分支的重要结构。我们将通过一个示例程序逐步解析 switch 的不同用法。 package mainimport ("fmt""time" )func main() {i : 2fmt.Print("Write ", i, " …

Python画笔案例-094 绘制 神奇彩条动画

1、绘制 神奇彩条动画 通过 python 的turtle 库绘制 神奇彩条动画,如下图: 2、实现代码 绘制 神奇彩条动画,以下为实现代码: """神奇彩条动画.py一个用海龟画图的图章功能配合颜色渐变和动画原理做成的动画。 """ from random import randi…

重学SpringBoot3-Spring WebFlux之SSE服务器发送事件

更多SpringBoot3内容请关注我的专栏&#xff1a;《SpringBoot3》 期待您的点赞&#x1f44d;收藏⭐评论✍ Spring WebFlux之SSE服务器发送事件 1. 什么是 SSE&#xff1f;2. Spring Boot 3 响应式编程与 SSE为什么选择响应式编程实现 SSE&#xff1f; 3. 实现 SSE 的基本步骤3.…

MySQL-32.索引-操作语法

一.语法 二.代码实现 指定某个字段为主键&#xff0c;其实就是建立一个主键索引。而指定某个字段唯一&#xff0c;就是建立一个唯一索引。 -- 索引 -- 创建&#xff1a;为tb_emp表的name字段建立一个索引 create index idx_emp_name on tb_emp(name);-- 查询&#xff1a;查…

Handler、Looper、message进阶知识

Android Handler、Looper、Message的进阶知识 在Android开发中&#xff0c;Handler、Looper和Message机制是多线程通信的核心。为了深入理解并优化它们的使用&#xff0c;尤其是在高并发和UI性能优化中&#xff0c;可以利用一些高级特性。 1. Handler的高阶知识 Handler在基本…

Axure随机验证码高级交互

亲爱的小伙伴&#xff0c;在您浏览之前&#xff0c;烦请关注一下&#xff0c;在此深表感谢&#xff01; 课程主题&#xff1a;字母数字随机验证码高级交互 主要内容&#xff1a;4位字母数字随机验证码生成、错误提示与State状态同步 应用场景&#xff1a;登录验证码、其他类…