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

本文主要是介绍【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.可视效果

  • 在这里插入图片描述

这篇关于【python011】经纬度点位可视化html生成(有效方案)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1081195

相关文章

使用Python实现矢量路径的压缩、解压与可视化

《使用Python实现矢量路径的压缩、解压与可视化》在图形设计和Web开发中,矢量路径数据的高效存储与传输至关重要,本文将通过一个Python示例,展示如何将复杂的矢量路径命令序列压缩为JSON格式,... 目录引言核心功能概述1. 路径命令解析2. 路径数据压缩3. 路径数据解压4. 可视化代码实现详解1

Python 交互式可视化的利器Bokeh的使用

《Python交互式可视化的利器Bokeh的使用》Bokeh是一个专注于Web端交互式数据可视化的Python库,本文主要介绍了Python交互式可视化的利器Bokeh的使用,具有一定的参考价值,感... 目录1. Bokeh 简介1.1 为什么选择 Bokeh1.2 安装与环境配置2. Bokeh 基础2

Java Response返回值的最佳处理方案

《JavaResponse返回值的最佳处理方案》在开发Web应用程序时,我们经常需要通过HTTP请求从服务器获取响应数据,这些数据可以是JSON、XML、甚至是文件,本篇文章将详细解析Java中处理... 目录摘要概述核心问题:关键技术点:源码解析示例 1:使用HttpURLConnection获取Resp

Java实现优雅日期处理的方案详解

《Java实现优雅日期处理的方案详解》在我们的日常工作中,需要经常处理各种格式,各种类似的的日期或者时间,下面我们就来看看如何使用java处理这样的日期问题吧,感兴趣的小伙伴可以跟随小编一起学习一下... 目录前言一、日期的坑1.1 日期格式化陷阱1.2 时区转换二、优雅方案的进阶之路2.1 线程安全重构2

HTML5中的Microdata与历史记录管理详解

《HTML5中的Microdata与历史记录管理详解》Microdata作为HTML5新增的一个特性,它允许开发者在HTML文档中添加更多的语义信息,以便于搜索引擎和浏览器更好地理解页面内容,本文将探... 目录html5中的Mijscrodata与历史记录管理背景简介html5中的Microdata使用M

html5的响应式布局的方法示例详解

《html5的响应式布局的方法示例详解》:本文主要介绍了HTML5中使用媒体查询和Flexbox进行响应式布局的方法,简要介绍了CSSGrid布局的基础知识和如何实现自动换行的网格布局,详细内容请阅读本文,希望能对你有所帮助... 一 使用媒体查询响应式布局        使用的参数@media这是常用的

HTML5表格语法格式详解

《HTML5表格语法格式详解》在HTML语法中,表格主要通过table、tr和td3个标签构成,本文通过实例代码讲解HTML5表格语法格式,感兴趣的朋友一起看看吧... 目录一、表格1.表格语法格式2.表格属性 3.例子二、不规则表格1.跨行2.跨列3.例子一、表格在html语法中,表格主要通过< tab

Vue3组件中getCurrentInstance()获取App实例,但是返回null的解决方案

《Vue3组件中getCurrentInstance()获取App实例,但是返回null的解决方案》:本文主要介绍Vue3组件中getCurrentInstance()获取App实例,但是返回nu... 目录vue3组件中getCurrentInstajavascriptnce()获取App实例,但是返回n

IDEA自动生成注释模板的配置教程

《IDEA自动生成注释模板的配置教程》本文介绍了如何在IntelliJIDEA中配置类和方法的注释模板,包括自动生成项目名称、包名、日期和时间等内容,以及如何定制参数和返回值的注释格式,需要的朋友可以... 目录项目场景配置方法类注释模板定义类开头的注释步骤类注释效果方法注释模板定义方法开头的注释步骤方法注

JS+HTML实现在线图片水印添加工具

《JS+HTML实现在线图片水印添加工具》在社交媒体和内容创作日益频繁的今天,如何保护原创内容、展示品牌身份成了一个不得不面对的问题,本文将实现一个完全基于HTML+CSS构建的现代化图片水印在线工具... 目录概述功能亮点使用方法技术解析延伸思考运行效果项目源码下载总结概述在社交媒体和内容创作日益频繁的