如何解决如何从弹出窗口中自动抓取数据?
我创建了以下代码。每次我选择一个 GPS 点时,它都会在 UTM 7N 中显示其纬度和经度。如何自动“抓取”这些值并将它们直接归因于变量?
类似于:Lat = pop-up_value_Lat 和 Lon = pop-up_value_Lon
我想避免从弹出窗口手动复制/粘贴到代码。我有一些代码可以处理坐标输入并创建一些图。
我的最终目标是让用户在地图上选择一个点,并根据其坐标自动生成绘图。
Ps:真实数据集有10000个点
!pip install geopandas
!pip install folium
import folium
import geopandas
import pandas as pd
import matplotlib.pyplot as plt
from pyproj import Proj
import numpy as np
# Import the points (UTM 7N)
#coordinates = pd.read_csv('C500.csv',header=None,names=['X','Y'])
hehe = [[ 489460.204867,6.652555e+06],[489341.587385,6.652221e+06],[489260.835944,6.651794e+06],[ 489243.471073,6.651295e+06]]
coordinates = pd.DataFrame(hehe,columns = ['X','Y'])
# Create a 2nd dataframe with coordinates in wgs84
data = np.zeros((len(coordinates),2))
myProj = Proj("+proj=utm +zone=7N,+south +ellps=wgs84 +datum=wgs84 +units=m +no_defs")
lon,lat = myProj(coordinates['X'].values,coordinates['Y'].values,inverse=True)
data[:,0] = lon
data[:,1] = lat
columns=["Lon","Lat"]
coordinates_latlon = pd.DataFrame(data=data,columns=columns)
# Add 2 columns with coordinates in str format
coordinates['Lat_str'] = coordinates['Y'].apply(str)
coordinates['Lon_str'] = coordinates['X'].apply(str)
import folium
malaspina_map = folium.Map(location=[60.307299,-140.834591],zoom_start=9,tiles='cartodbpositron')
# Prepare the allocation of points on the map
locations = coordinates_latlon[['Lat','Lon']]
locationlist = locations.values.tolist()
# display the points such as a click on them will reveal their coordinates in UTM 7N
for point in range(0,len(locationlist)):
folium.Marker(locationlist[point],popup=('Lat =' + coordinates['Lat_str'][point] + '<br>' + 'Lon =' + coordinates['Lon_str'][point])).add_to(malaspina_map)
# Add a background satellite image
tile = folium.TileLayer(
tiles = 'https://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/tile/{z}/{y}/{x}',attr = 'Esri',name = 'Esri Satellite',overlay = False,control = True
).add_to(malaspina_map)
malaspina_map
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。