- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试添加 Scattergeo
跟踪或覆盖在 white-bg
之上密度 map 框以获取通用美国各州轮廓上的热图。
我使用 scattergeo
的原因我想在密度 map 框的顶部绘制一个星形符号,以及唯一通过 add_scattermapbox
接受的符号吗?是一个点。如果您选择 star
符号,没有添加符号。
我也知道 p mapbox_styles
可以接受星号的 add_scattermapbox
或 density_scattermapbox
但目前我无法在试用金额用完后为每个网络负载付费。
是否有一种巧妙的方法可以在 density_mapbox
上添加星号?阴谋?
工作 ScatterGeo
fig = go.Figure(go.Scattergeo())
fig.add_scattergeo(lat = [30, 40]
,lon = [-90, -80]
,hoverinfo = 'none'
,marker_size = 10
,marker_color = 'rgb(65, 105, 225)' # blue
,marker_symbol = 'star'
,showlegend = False
)
fig.update_geos(
visible=False, resolution=110, scope="usa",
showcountries=True, countrycolor="Black",
showsubunits=True, subunitcolor="Black"
)
fig.show()
d = {'Location': ['Point A', 'Point B'], 'lat': [30, 40], 'long': [-90, -80], 'z': [100,200]}
df = pd.DataFrame(data=d)
fig = px.density_mapbox(df
,lat='lat'
,lon='long'
,z='z'
,hover_name='Location'
,center=dict(lat=38.5, lon=-96)
,range_color = [0, 200]
,zoom=2
,radius=50
,opacity=.5
,mapbox_style='open-street-map')
fig.add_scattermapbox(lat = [30, 40]
,lon = [-90, -80]
,hoverinfo = 'none'
,marker_size = 6
,marker_color = 'rgb(0, 0, 0)'
# ,marker_symbol = 'star'
,showlegend = False
)
fig.show()
marker_symbol = 'star'
,这适用于
mapbox
的高级样式, 完全去除散点。
d = {'Location': ['Point A', 'Point B'], 'lat': [30, 40], 'long': [-90, -80], 'z': [100,200]}
df = pd.DataFrame(data=d)
fig = px.density_mapbox(df
,lat='lat'
,lon='long'
,z='z'
,hover_name='Location'
,center=dict(lat=38.5, lon=-96)
,range_color = [0, 200]
,zoom=2
,radius=50
,opacity=.5
,mapbox_style='open-street-map')
fig.add_scattermapbox(lat = [30, 40]
,lon = [-90, -80]
,hoverinfo = 'none'
,marker_size = 6
,marker_color = 'rgb(0, 0, 0)'
,marker_symbol = 'star'
,showlegend = False
)
fig.show()
density_mapbox
在
scattergeo
之上产生相同的地理图,但仅此而已。密度 map 框图例在那里,但没有热图。
d = {'Location': ['Point A', 'Point B'], 'lat': [30, 40], 'long': [-90, -80], 'z': [100,200]}
df = pd.DataFrame(data=d)
fig = go.Figure(go.Scattergeo())
fig.add_scattergeo(lat = [30, 40]
,lon = [-90, -80]
,hoverinfo = 'none'
,marker_size = 10
,marker_color = 'rgb(65, 105, 225)' # blue
,marker_symbol = 'star'
,showlegend = False
)
fig.add_densitymapbox(lat=df['lat'],
lon=df['long'],
z=df['z'],
radius=50,
opacity=.5
)
fig.update_geos(
visible=False, resolution=110, scope="usa",
showcountries=True, countrycolor="Black",
showsubunits=True, subunitcolor="Black"
)
fig.show()
最佳答案
get_geom(df["long"], df["lat"], marker=None, size=k)
get_geom(df["long"], df["lat"], marker="star", size=k)
哪里记号笔是 MAKI 图标名称。 NB 带孔的图标可以填充——例如警告import geopandas as gpd
import pandas as pd
import shapely.geometry
import math
import json
import plotly.express as px
import svgpath2mpl
import requests
import numpy as np
d = {
"Location": ["Point A", "Point B"],
"lat": [30, 40],
"long": [-90, -80],
"z": [100, 200],
}
df = pd.DataFrame(data=d)
fig = px.density_mapbox(
df,
lat="lat",
lon="long",
z="z",
hover_name="Location",
center=dict(lat=38.5, lon=-96),
range_color=[0, 200],
zoom=2,
radius=50,
opacity=0.5,
mapbox_style="open-street-map",
)
# https://stackoverflow.com/questions/23411688/drawing-polygon-with-n-number-of-sides-in-python-3-2
def polygon(sides, radius=1, rotation=0, translation=None):
one_segment = math.pi * 2 / sides
points = [(math.sin(one_segment * i + rotation) * radius,
math.cos(one_segment * i + rotation) * radius,)
for i in range(sides)]
if translation:
points = [[sum(pair) for pair in zip(point, translation)] for point in points]
return shapely.geometry.Polygon(points)
def makimarker(makiname="star", geo=(0, 0), size=0.1):
url = f"https://raw.githubusercontent.com/mapbox/maki/main/icons/{makiname}.svg"
svgpath = pd.read_xml(requests.get(url).text).loc[0, "d"]
p = svgpath2mpl.parse_path(svgpath).to_polygons()
# need centroid to adjust marked to be centred on geo location
c = shapely.affinity.scale(
shapely.geometry.Polygon(p[0]), xfact=size, yfact=size
).centroid
# centre and place marker
marker = shapely.geometry.Polygon(
[[sum(triple) for triple in zip(point, geo, (-c.x, -c.y))] for point in p[0]]
)
# finally size geometry
return shapely.affinity.scale(marker, xfact=size, yfact=size)
def get_geom(long_a: list, lat_a: list, marker=None, size=0.15) -> list:
if marker:
geo = [
makimarker(marker, geo=(long, lat), size=size)
for long, lat in zip(long_a, lat_a)
]
else:
geo = [
polygon(3, translation=(long, lat), radius=size*10)
for long, lat in zip(long_a, lat_a)
]
return json.loads(gpd.GeoDataFrame(geometry=geo).to_json())
# basing math on this https://wiki.openstreetmap.org/wiki/Zoom_levels
# dict is keyed by size with min/max zoom levels covered by this size
MINZOOM=.1
MAXZOOM=18
LAYERS=7
zoom = 512**np.linspace(math.log(MINZOOM,512), math.log(MAXZOOM, 512), LAYERS)
zoom = {
(200/(2**(np.percentile(zoom[i:i+2],25)+9))): {"minzoom":zoom[i], "maxzoom":zoom[i+1], "name":i}
for i in range(LAYERS-1)
}
# add a layers to density plot that are the markers
fig.update_layout(
mapbox={
"layers": [
{
"source": get_geom(df["long"], df["lat"], marker="star", size=k),
"type": "fill",
"color": "blue",
**zoom[k],
}
for k in zoom.keys()
]
},
margin={"t": 0, "b": 0, "l": 0, "r": 0},
)
fig
关于python - Plotly - 在 Density Mapbox 上添加 Scatter Geo 点和轨迹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68762104/
我正在尝试按照以下方式根据教程使用 Bio.Geo 解析 GEO 文件: from Bio import Geo handle = open('GSE40603_combined_L1_L2.txt'
我在 Geo::Coder::US 工作和 Geo::Coder::US::Import .他们说我需要导入数据库,他们的示例没有显示如何执行此操作,至少对于现在可行的方式。 Geo::Coder::
我目前正在使用 C++ GEOS API 迭代 typedef Points(x 和 y 成员变量)的 vector。 我通过创建一个 geos::geom::Geometry 对象,在 0 处缓冲以
我正在使用 feedparser 来解析 XML 文件。但我无法解析 , 使用该文件中的 feedparser 进行标记!你们知道我如何在 python 中使用 feedparser 解析这些标签吗
我有一个 geojson 文档,我想对其执行一些 GEOS 转换,例如:计算交点、从另一个多边形中减去多边形等。 我已经能够创建 geo_types::Polygon来自文档,但无法将其转换为 GEO
我在 Ubuntu 14.04 LTS 上运行 Django 1.8 和 Python 3.4。就在最近,我的 Django 应用一直在报告 GEOS 不存在。 GEOS 已安装并且 libgeos_
Android 是否支持地理围栏,如果是,那么最早支持地理围栏功能的平台是什么。 最佳答案 在您提出问题时没有支持,但 Google 刚刚发布了该功能作为 Google IO 2013 的一部分: h
我创建了一个应用程序,可以向您发送某个位置的纬度/经度,我想知道是否有一种统一的方式通过文本消息发送它,这样 Android 或 iPhone 可能允许用户单击它并打开它 map 中的位置。 是的,A
我正在运行此查询 SELECT country, countries.code, countries.lat, countries.lng, countries.zoom, worldip.start
以下是我用于在距给定纬度/经度坐标的给定距离内定位教区的 SQL: SELECT record_id as parish_id, parish, church, ( 3959 * acos( cos(
我正在考虑使用 GEO 提醒的应用程序(在 iOS5 中添加的应用程序,当我离开/到达时在某个位置提醒我)。但我需要使用此功能(实际上,仅使用位置)来获取当前位置并将其与我的应用程序定义的位置进行比较
我想弄清楚如何在 geo.lua 中实际调用 GEOMETRYFILTER 函数,因为文档对我来说不是很清楚: https://github.com/RedisLabs/geo.lua#GEOMETR
我收到这个错误: ImportError: Could not find the GEOS library (tried ""geos_c"", ""libgeos_c-1""). Try sett
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
我遵循了几个关于 Redis 中地理空间支持的示例。我尝试毫无问题地向我的 Redis 数据集添加 POINT 特征,随后我可以查询某个坐标(或 POINT 的某个成员)的某个半径(以米、公里、英里为
Flutter geolocator 总是分别给我这个纬度和经度 37.4219983, -122.084,这不是我的真实地址,所以我该如何改进它。 最佳答案 似乎您正在使用模拟器。这是给模拟器的默认
我一直在深入研究将NEST用于将使用ElasticSearch的基于.Net的项目,但是让我感到困惑的是,GeoDistance查询从未返回任何结果。 当调试简单的“*”查询的响应并查看搜索结果的.D
嘿,我正在开发一个应用程序,我需要根据距离过滤器显示所提供的纬度和经度的地点。我正在提供来自 elastic search 的数据。我可以使用 geo_distance 查询轻松地提供数据,以查找具有
当您使用 GEOADD 命令在 Redis 中添加键时,该条目将保存为排序集(类型:zset)。 我的问题是,有没有办法(也许使用Lua?)来确定排序集中的数据是否是“GEO”数据? 最佳答案 由于
映射地址属性:id name type和location。搜索映射: { "address": { "properties": { "id": { "type"
我是一名优秀的程序员,十分优秀!