Я хочу построить 2-мерную карту плотности поверх города, Вашингтон, округ Колумбия, в этом случае. График оценки 2-мерной плотности создается с использованием графика, а точки отображаются по их широте и долготе. Я просмотрел базовую карту, но кажется, что вы можете рисовать только границы штатов и не можете отображать на карте границы города и улицы. Я, похоже, тоже не нашел способа сделать это с помощью API карт Google. Проблема: Не могу отобразить улицы на базовой карте.
Есть ли такая библиотека, как базовая карта matplotlib, которая может отображать карту на уровне улицы?
comment
Вопросы, в которых нас просят порекомендовать или найти книгу, инструмент, программную библиотеку, учебное пособие или другой ресурс за пределами сайта, не относятся к теме Stack Overflow, поскольку они, как правило, привлекают самоуверенные ответы и спам. Вместо этого опишите проблему и то, что уже было сделано для ее решения.
- person m02ph3u5   schedule 10.04.2016
comment
загляните в шейп-файлы и стройный пакет. cartopy также является альтернативой базовой карте.
- person MaxNoe   schedule 10.04.2016
Ответы (2)
У Arcgis есть довольно много карт, доступных в Интернете, которые доступны прямо из базовой карты matplotlib через REST API Arcgis.
Это не упоминается в руководстве по matplotlib, но я узнал об этом на другой сайт.
Лично я в основном работал с Elevation/World_Hillshade
, но это похоже, что они также есть карта улиц в продаже.
test_map = Basemap(llcrnrlon=15.2,llcrnrlat=47.06,urcrnrlon=15.5, urcrnrlat=47.49, epsg = 31284,resolution='i',projection='merc',lon_0=14.8,lat_0=47.2)
test__map.arcgisimage(service='ESRI_StreetMap_World_2D', xpixels = 12000, verbose= True)
Дает мне приведенный ниже график для случайной области, которую я только что имел в своем кеше:
Основная проблема, с которой я сталкиваюсь, это часть epsg
, которую я не полностью понял, поэтому не могу помочь вам в Вашингтоне, округ Колумбия.
person
JC_CL
schedule
29.04.2016
Значение
epsg
можно получить отсюда: spatialreference.org/ref/?search=&srtext=Search
- person Arraval; 01.07.2019
У меня есть небольшое представление об использовании значения epsg.
- Перейдите по ссылке http://spatialreference.org/ref/?search=california&srtext=Search Попробуйте найти место, которое вы ищете, например, я использовал калифорнию.
- Откройте одну из ссылок из всех ссылок, которая очень похожа на область, которую вы хотите нанести на карту. Я взял это, например: http://spatialreference.org/ref/epsg/2228/ а>
- Вы должны увидеть границы WGS84, которые указывают границы для этой карты.
- Теперь вы можете использовать любую границу между этими границами на своей карте и использовать указанное значение epsg.
пример кода для сакраменто:
**plt.figure(figsize=(18,20))
test_map = Basemap(llcrnrlon=-121.900, llcrnrlat= 38.50, urcrnrlon=-121.00, urcrnrlat=38.7000, epsg = 2872,resolution='i',projection='merc',lon_0=14.8,lat_0=47.2)
#sacramento : 38.5816° N, 121.4944° W
#-123.0900, 36.7400, -117.8200, 38.7000
test_map.arcgisimage(service='ESRI_StreetMap_World_2D', xpixels = 12000, verbose= True)**
person
solve it
schedule
13.09.2018