【python011】经纬度点位可视化html生成(有效方案)

1.熟悉、梳理、总结项目研发实战中的Python开发日常使用中的问题、知识点等,如获取省市等边界区域经纬度进行可视化,从而辅助判断、决策。
2.欢迎点赞、关注、批评、指正,互三走起来,小手动起来!
3.欢迎点赞、关注、批评、指正,互三走起来,小手动起来!

  • 如获取省市等特定区域经纬度进行可视化,从而辅助判断、决策
  • 如获取省市等特定区域经纬度进行可视化,从而辅助判断、决策
  • 如获取省市等特定区域经纬度进行可视化,从而辅助判断、决策

文章目录

    • 1.省市边界经纬度`json`获取并解析
    • 2.读取特定区域经纬度点位`execl`解析并自动生成html文件
    • 3.可视效果

1.省市边界经纬度json获取并解析

  • 经纬度点位初步压缩
    import re
    import os
    import sys
    import json
    import nltk
    import time
    import pickle
    import random
    import base64
    import datetime
    import requests
    import openpyxl
    import readline
    import itertools
    import numpy as np
    import pandas as pd
    from PIL import Image
    from tqdm import tqdm, trange
    from bs4 import BeautifulSoup
    import matplotlib.pyplot as plt
    from collections import Counter
    from pypinyin import lazy_pinyin, Style
    from joblib import Parallel, delayed
    from sklearn.linear_model import LinearRegression
    import warnings
    warnings.filterwarnings('ignore')pd.set_option('display.width', 500)
    pd.set_option('display.max_rows', 200)
    pd.set_option('display.max_columns', 200)
    pd.set_option('display.max_colwidth', 1000)# step 1: 浙江省边界数据
    zjbj_url = "https://up.caup.net/guihuayun/json/330000.json"
    zjbj_datas = requests.get( zjbj_url )
    zjbj_datas_json = json.loads( zjbj_datas.content )
    zjbj_datas_json_list = zjbj_datas_json['geometry']['coordinates'][-1]zjbj_points = zjbj_datas_json_list[0]
    zjbj_merged_points = merge_points( zjbj_points, threshold=5000 )
    print( len(zjbj_merged_points), len( zjbj_points ) )# step 2: 杭州市边界数据
    hzbj_url = "https://up.caup.net/guihuayun/json/330100.json"
    datas = requests.get( hzbj_url )
    datas_json = json.loads( datas.content )
    datas_json_list = datas_json['geometry']['coordinates'][0]points = datas_json_list
    merged_points = merge_points(points, threshold=4000)
    print(len(merged_points), len(points))
    

2.读取特定区域经纬度点位execl解析并自动生成html文件

  • import folium
    import pandas as pd_titles = 'http://webrd02.is.autonavi.com/appmaptile?lang=zh_cn&size=1&scale=1&style=7&x={x}&y={y}&z={z}'
    _gd_tiles='http://webrd02.is.autonavi.com/appmaptile?lang=zh_cn&size=1&scale=1&style=7&x={x}&y={y}&z={z}'
    san_map=folium.Map(location=[30.245853, 120.209947], zoom_start=14, tiles= _gd_tiles, attr='default')data=pd.read_excel(r'.\gsddw_youli.xlsx')
    data2 = data[['youli_dz', 'youli_jd', 'youli_wd']]data2.columns = ['qymc','lng','lat']
    data2 = data2[(data2.lng.notna()) & (data2.lng>118) & (data2.lng<121)]
    # data=pd.read_csv('./stlz.csv',encoding='gbk')
    data2.head(3)for ii in data2.iterrows():qymc, lon, lat = ii[1][0], ii[1][1], ii[1][2]folium.Marker([lat,lon], popup=folium.Popup(qymc, max_width=100), tooltip=qymc, icon=folium.Icon(icon='cloud', color='green')).add_to(san_map)folium.Circle([lat,lon], 500, color='yellow', fill_color='yellow', fillOpacity=0.3).add_to(san_map)for ii in merged_points:lon, lat = ii[0], ii[1]folium.Marker([lat, lon], popup=folium.Popup(qymc, max_width=100), tooltip=qymc, icon=folium.Icon(color='red', icon='info-sign')).add_to(san_map)folium.Circle([lat, lon], 500, color='red', fill_color='red', fillOpacity=0.3).add_to(san_map)for ii in zjbj_merged_points:lon, lat = ii[0], ii[1]folium.Marker([lat, lon], popup=folium.Popup(qymc, max_width=100), tooltip=qymc, icon=folium.Icon(color='blue', icon='info-sign')).add_to(san_map)folium.Circle([lat, lon], 500, color='blue', fill_color='blue', fillOpacity=0.3).add_to(san_map)san_map.save('sy_youli_vis.html')html_lis_vis = open( r'./sy_youli_vis.html', encoding='utf8').readlines()
    html_str_vis = ''.join(html_lis_vis)
    html_str_vis2 = html_str_vis.replace( 'https://cdn.jsdelivr.net/npm/leaflet@1.9.3/dist/leaflet.js','./leaflet.js' ) \.replace( 'https://code.jquery.com/jquery-3.7.1.min.js','./jquery-3.7.1.min.js' )
    #                              .replace( 'https://cdn.jsdelivr.net/npm/bootstrap@5.2.2/dist/js/bootstrap.bundle.min.js','./bootstrap.bundle.min.js' ) \
    #                              .replace( 'https://cdnjs.cloudflare.com/ajax/libs/Leaflet.awesome-markers/2.0.2/leaflet.awesome-markers.js','./leaflet.awesome-markers.js' ) \
    #                              .replace( 'https://cdn.jsdelivr.net/npm/leaflet@1.9.3/dist/leaflet.css','./leaflet.css' ) \
    #                              .replace( 'https://cdn.jsdelivr.net/npm/bootstrap@5.2.2/dist/css/bootstrap.min.css','./bootstrap.min.css' ) \
    #                              .replace( 'https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@6.2.0/css/all.min.css','./all.min.css' ) \
    #                              .replace( 'https://cdnjs.cloudflare.com/ajax/libs/Leaflet.awesome-markers/2.0.2/leaflet.awesome-markers.css','./leaflet.awesome-markers.css' ) \
    #                              .replace( 'https://netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap.min.css','./bootstrap.min.css' )html_str_vis2_html = r"sy_youli_vis_new.html" 
    f = open( html_str_vis2_html,'w', encoding='utf8')f.write( html_str_vis2 ) 
    f.close()
    

3.可视效果

  • 在这里插入图片描述

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

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

相关文章

Android InputReader 输入事件处理流程

Android系统输入事件产生的底层主要是输入子系统&#xff0c;Android 中的输入设备有很多&#xff0c;例如屏幕&#xff0c;鼠标&#xff0c;键盘等都是输入设备&#xff0c;对于应用开发者&#xff0c;接触最多的也就是屏幕了。 1. 当输入设备可用时&#xff0c;Linux会在 /de…

tensorRT的安装

在这个网址找到适合自己的版本&#xff0c;尤其是找到合适的cuda版本&#xff1a; https://pypi.nvidia.com/ 然后直接pip 安装&#xff1a; 比如&#xff1a; pip install https://pypi.nvidia.com/tensorrt-cu11/tensorrt-cu11-10.1.0.tar.gz 也可以&#xff1a; wget http…

【MotionCap】SLAHMR 在 Colab 的demo运行笔记

【MotionCap】SLAHMR slahmr将人类和相机运动与野外视频分离 CVPR 2023跳至主要内容 SLAHMR (supports 4D Humans).ipynb SLAHMR (supports 4D Humans).ipynb_笔记本已移除星标Google Colab demo for: SLAHMR - Simultaneous Localization And Human Mesh Recovery @inproc…

STM32将外部SDRAM空间作为系统堆(Heap)空间

概述 stm32可以外扩很大的sram&#xff0c;常见外部sram的初始化函数一般是c语言写的&#xff0c;默认写在main函数里面。stm32初始化首先进入汇编代码startup_stm32f429xx.s&#xff0c;在汇编代码中Reset_Handler&#xff08;复位中断服务程序&#xff09;里面先调用了Syste…

线上书店订购系统小组作业汇总

1、数据库模型图、er图1、数据库模型图、er图-CSDN博客 2、网上图书订购2、网上图书订购-CSDN博客 3、简单查询与多表联合复杂查询MySQL周内训参照3、简单查询与多表联合复杂查询-CSDN博客 4、触发器-插入-修改-删除MySQL周内训参照4、触发器-插入-修改-删除-CSDN博客 5、存…

亮相夏季达沃斯论坛天津之夜,国窖1573展现国际化新表达

执笔 | 姜 姜 编辑 | 扬 灵 6月25日-27日&#xff0c;以“未来增长的新前沿”为主题的第十五届新领军者年会&#xff0c;即2024年夏季达沃斯论坛盛大举行。26日晚&#xff0c;在2024年夏季达沃斯论坛天津之夜上&#xff0c;国窖1573作为中国民族品牌的代表&#xff0c;以唯一携…

vue + Lodop 制作可视化设计页面 实现打印设计功能(二)

历史&#xff1a; vue2 Lodop 制作可视化设计页面 实现打印设计功能&#xff08;一&#xff09; 前言&#xff1a; 之前本来打算用直接拿之前做的vue2版本改改就发的&#xff0c;但考虑到现在主流都是vue3了&#xff0c;所以从这篇文章开始使用vue3来写&#xff0c;以及最后…

速盾:cdn加速js

CDN加速是一种将网站内容分布到全球各地的服务器上来提高网站访问速度和稳定性的技术手段。CDN即内容分发网络&#xff0c;其核心原理是将静态资源&#xff08;例如图片、CSS、JavaScript文件等&#xff09;缓存到离用户最近的服务器节点上&#xff0c;使用户可以更快地获取网站…

三相LCL滤波型PWM逆变器仿真设计

参考并网电流外环电容电流前馈内环的双闭环控制结构&#xff0c;在光伏和风力发电网侧变换器中的应用&#xff0c;可以显著提高系统的稳定性和效率。在并网电流外环中&#xff0c;通过检测电网电流并与其参考值进行比较&#xff0c;可以得到一个电流误差信号。这个电流误差信号…

MySQL基础查询与复杂查询

基础查询 1、查询用户信息&#xff0c;仅显示用户的姓名与手机号&#xff0c;用中文显示列名。中文显示姓名列与手机号列。 2、根据商品名称进行模糊查询&#xff0c;模糊查询需要可以走索引&#xff0c;需要给出explain语句。使用explain测试给出的查询语句&#xff0c;需要显…

程序员职业发展指南,如何选择适合自己的就业方向?

随着科技的发展和数字化时代的到来&#xff0c;程序员是IT行业中的热门职业。尤其是近几年移动互联网的迅速发展&#xff0c;IT人才更是紧缺&#xff0c;越来越多的人加入程序员这个行列。 从事程序员工作&#xff0c;如何接项目呢&#xff1f;YesPMP是一个专注于互联网外包的平…

【知识学习】阐述Unity3D中动画渲染的概念及使用方法示例

Unity3D中的卡通渲染&#xff08;Cartoon Rendering&#xff09;是一种渲染技术&#xff0c;它模仿传统手绘动画或漫画的视觉效果。这种渲染风格通常具有鲜明的颜色、清晰的轮廓线和简化的光影效果&#xff0c;常用于制作动画、游戏和其他视觉媒体。 卡通渲染的基本概念 轮廓…

<sa8650>QCX ISP Tuning 使用详解 — Tuning前置条件

<sa8650>QCX ISP Tuning 使用详解 — Tuning前置条件 一 如何安装 Qualcomm Chromatix™ 摄像头校准工具二 如何使用 Qualcomm Chromatix™ tuning工具创建tuning项目2.1 创建工程前提依赖2.2 创建工程2.3 添加场景2.4 编辑区域触发器三 如何创建Tuning 树一 如何安装 Qualco…

postman教程-22-Newman结合Jenkins执行自动化测试

上一小节我们学习了Postman Newman运行集合生成测试报告的方法&#xff0c;本小节我们讲解一下Postman Newman结合Jenkins执行自动化测试的方法。 在软件开发过程中&#xff0c;持续集成&#xff08;CI&#xff09;是一种实践&#xff0c;旨在通过自动化的测试和构建过程来频繁…

【高等数学】一元函数积分及其应用:定积分与反常积分

文章目录 第一节. 定积分一. 定积分的概念1. 定义2. 定积分存在定理3. 定积分的几何意义与求解 二. 定积分的性质1. 不等式2. 中值定理 三. 积分上限&#xff08;为x&#xff09;函数1. 积分上限函数定义2. 积分函数求导3. 积分函数的奇偶性变化 四. 定积分的计算 第二节. 反常…

multiprocessing.Queue 多个进程生产和多个进程消费怎么处理

在这个示例中&#xff0c;我们创建了一个队列 q&#xff0c;并通过 multiprocessing.Manager().Queue() 来确保队列可以在多个进程之间共享。我们定义了 consumer 和 producer 函数&#xff0c;分别用于从队列中获取数据和向队列中放入数据。 在主进程中&#xff0c;我们创建了…

IPython的使用技I巧整理

IPython 是一个强大的交互式 Python 解释器&#xff0c;它提供了许多增强 Python 编程体验的特性。以下是一些 IPython 的使用技巧&#xff1a; 自动补全&#xff1a; 按下 Tab 键可以自动完成代码。 自动缩进&#xff1a; IPython 会自动缩进代码&#xff0c;保持代码格式整洁…

vue的ESLint 4格缩进 笔记

https://chatgpt.com/share/738c8560-5271-45c4-9de0-511fad862109 一&#xff0c;代码4格缩进设置 .eslintrc.js文件 module.exports { "rules": { "indent": ["error", 4] } }; 自动修复命令 npx eslint --fix "src/**/*.{…

作为图形渲染API,OpenGL和Direct3D的全方位对比。

当你在网页看到很多美轮美奂的图形效果&#xff0c;3D交互效果&#xff0c;你知道是如何实现的吗&#xff1f;当然是借助图形渲染API了&#xff0c;说起这个不就不得说两大阵营&#xff0c;OpenGL和Direct3D&#xff0c;贝格前端工场在本文对二者做个详细对比。 一、什么是图形…

springboot实习管理系统的设计与实现 LW +PPT+源码+讲解

第三章系统分析与设计 3.1 可行性分析 一个完整的系统&#xff0c;可行性分析是必须要有的&#xff0c;因为他关系到系统生存问题&#xff0c;对开发的意义进行分析&#xff0c;能否通过本系统来补充线下实习管理模式中的缺陷&#xff0c;去解决其中的不足等&#xff0c;通过对…