python - 底图上的坐标似乎在 0,0
问题描述
我正在尝试在地图上绘制一些经度和纬度坐标basemap
。我正在运行的代码是:
m = Basemap(projection='merc', resolution='i',
llcrnrlat=min_lat - 3, urcrnrlat=max_lat + 3,
llcrnrlon=min_long - 3, urcrnrlon=max_long + 3)
m.drawcoastlines()
m.fillcontinents(color="#FFDDCC", lake_color='#DDEEFF')
m.drawmapboundary(fill_color='#DDEEFF')
m.drawcountries(linewidth=1)
for coordinates in locations:
m.scatter(coordinates[1], coordinates[0], marker='D', color='m')
plt.show()
在哪里:
min_lat, min_long, max_lat, max_long = 48.9810946, -0.014840257753543178, 60.448137, 24.9362469
并且此设置中的坐标,即locations
(通过 绘制for loop
)是这六个:
[55.663457, 12.34772]
[53.5797869, 10.0131747]
[53.549816899999996, 10.048393278279384]
[52.3353336, 4.9294416]
[51.5118813, -0.0010296]
[51.5118813, -0.0010296]
结果是:
你可能会看到左下角有一些紫色,我猜这是所有点都包裹在同一个点上。
我试图让地图更大,但结果相同,我也尝试在相同的结果之间m.scatter(coordinates[1], coordinates[0], marker='D', color='m')
切换m.scatter(coordinates[0], coordinates[1], marker='D', color='m')
。
我在这里做错了什么?(是的,这是我第一次使用basemap
,所以请耐心等待)。
解决方案
重新安排您的日期并调用您的 Basemap 对象m()
来计算地图投影坐标。
lons = [12.34772, 10.0131747, 10.048393278279384, 4.9294416, -0.0010296, -0.0010296]
lats = [55.663457, 53.5797869, 53.549816899999996, 52.3353336, 51.5118813, 51.5118813]
x, y = m(lons, lats)
m.scatter(x, y, marker='D',color='m')
这是一个教程。
推荐阅读
- corda - 执行 ContractUpgradeFlow 后状态合同不会改变
- javascript - 如何在json数据中选择id对象并添加到另一个json数据对象数组中
- android - Cordova android模拟器没有运行
- asp.net-core - ASP.NET Core 也从客户端为 JSON 验证创建自定义数据注释
- dataframe - 如何修复 PySpark 中的 DataFrame 函数问题 - Py4JJavaError
- php - laravel 分页操作成数据
- android - React Native Image Cache Android
- php - Cloudinary 的 PHP 上传 API 中的 cURL 错误 - “无法连接到端口 443:连接被拒绝”
- excel - Excel VBA 日历 - 选择日期命令问题
- mozilla - 如何在使用 make 构建时修复 DXR 中的服务不可用 503 错误