在这种情况下,我希望绘制一个城市,华盛顿特区顶部的二维密度图.2d密度估计图是使用图表创建的,点是由它们的纬度和经度绘制的。我查看了底图,但似乎你只能绘制状态边界,并且无法在地图上获得城市边界和街道。我似乎没有办法用谷歌地图api做到这一点。问题:无法在底图中显示街道。
答案 0 :(得分:2)
Arcgis有很多在线可用的地图,可以通过arcgis REST API直接从matplotlib底图访问。
matplotlib manual中没有提到它,但我在another site上发现了它。
就我个人而言,我大多与;WITH myTable (id, MyColumn)
AS (SELECT 1, '0040~0040~0040~0040^00~00~00~01~05^100~001~010~011~015^00~00~00~01~05'
union ALL SELECT 2, 'b040~0040~0040~0040^b0~00~00~01~05^b00~001~010~011~015^b02~00~00~01~05'
union ALL SELECT 3, 'c040~0040~0040~0040^c0~00~00~01~05^c00~001~010~011~015^c02~00~00~01~05'
union ALL SELECT 4, 'd040~0040~0040~0040^d0~00~00~01~05^d00~001~010~011~015^d02~00~00~01~05'
),
RecursiveCTE (id, sub, startInd, endInd)
AS
(
SELECT
id,
convert(varchar, SUBSTRING(MyColumn, 1, CHARINDEX('^', MyColumn ))) as sub
, 0 AS startInd
, CHARINDEX('^', MyColumn ) AS endInd
from mytable
UNION ALL
select id,
convert(varchar, SUBSTRING((SELECT MyColumn FROM myTable WHERE id = dr.id), endInd + 1, endInd - startInd)),
endInd,
CHARINDEX('^', (SELECT MyColumn FROM myTable WHERE id = dr.id), endInd + 1) as endInd
from RecursiveCTE dr
where dr.endInd <> 0
),
PerIDSeperatedByDash AS (
select id,
STUFF((
select '-' + SUBSTRING(drinner.sub, 1, CHARINDEX('~', drinner.sub) - 1)
from RecursiveCTE drinner
WHERE (drinner.id = drouter.id)
FOR XML PATH ('')),1,1,'') AS DashSeperated
from RecursiveCTE drouter
group by id)
SELECT DISTINCT STUFF((
SELECT ',' + ds.DashSeperated
FROM PerIDSeperatedByDash ds
ORDER BY id
FOR XML PATH ('')),1,1,'')
from PerIDSeperatedByDash
合作,但that看起来他们也提供了街道地图。
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)
部分,我还没有完全弄清楚,因此无法帮助华盛顿特区
答案 1 :(得分:-1)
我对使用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)**