如何显示我在地图的输出数据。
25日视图(30天)
显示旧的评论
接受的答案
凯利卡尼
2014年6月12日
编辑:凯利卡尼
2014年6月12日
我现实不应该给你答案,因为你已经证明自己绝对没有努力创建这个阴谋。但是我在工作无聊等待一些模拟完成,所以这是你的幸运日。
首先,我假设您已经有一个shapefile控股印度边界,并且您拥有x的光栅网格(朗),y (lat), z坐标。同时,我假设你的数据网格不是已经削减到印度边境。
第一个应急的方法是简单地面具边境外的数据点:
文件=“TM_WORLD_BORDERS-0.3.shp”;
S = shaperead(文件,“usegeocoords”,真的,“选择器”,…
{@ (x)比较字符串(x,“印度”),“名字”});
x = linspace (min (S.Lon), max (S.Lon), 100);
y = linspace (min (S.Lat), max (S.Lat), 100);
(x, y) = meshgrid (x, y);
z =兰德(100);
isin = inpolygon (x, y, S.Lon S.Lat);
z2 = z;
z2 (~ isin) =南;
图(“颜色”,' w ');
worldmap (“印度”);
pcolorm (y, x, z2);
plotm (S。Lat, S.Lon“k”);
你会发现事情变得有点锯齿状边缘,。你可以得到一个更清洁的地图绘制的所有数据,然后用多边形覆盖,掩盖了所有但你感兴趣的地区。(或在这种情况下,多边形,因为无论是geoshow还是patchm往往与多边形孔):
lnlim = (65 - 100);
ltlim = 40 [5];
ltlim lt = linspace (ltlim (1), (2), 3);
lnlim ln = linspace (lnlim (1), (2), 3);
为2 = 1:2
ltbox {2} = lt ((1 2 2 1 1) + (ii-1));
lnbox {2} = ln ([1 1 2 2 1]”+ (ii-1));
结束
[lnmask, ltmask] =交易(细胞(2));
为2 = 1:2
为jj = 1:2
[lnmask {ii, jj}, ltmask {ii, jj}] = polybool (“- - -”,…
ltbox lnbox {2}, {jj}, S。朗,S.Lat);
结束
结束
ltboxall = ltlim ([1 2 2 1 1]);
lnboxall = lnlim ([1 1 2 2 1]);
[lnmaskall, ltmaskall] = polybool (“- - -”,ltboxall lnboxall年代。朗,S.Lat);
图(“颜色”,' w ');
worldmap (“印度”);
pcolorm (y, x, z);
为2 = 1:4
lnmask patchm (ltmask {2}, {2},' w ',“edgecolor”,“没有”);
结束
plotm (ltmaskall lnmaskall,“k”);
更多的答案(3)
大卫·桑切斯
2014年6月11日
你必须展示你的数据:
XXYY] = meshgrid (X1,Y1);
z = ltm (:,: 1);
冲浪(XX, YY, z ')
包含(“XX”)
ylabel (“YY”)
视图(90 [0])
peterhack
2016年11月11日
我有一个问题在上面的例子中,我将利用这个线程,希望是好的。我使用了代码来掩盖边境外的数据点。到目前为止工作正常。然而,我想要使用
DisplayType表面
。因此我用geoshow绘制数据。不幸的是,它没有边界内填满整个地图作为一个缓冲区。有提示吗?
文件=“TM_WORLD_BORDERS-0.3.shp”;
S = shaperead(文件,“usegeocoords”,真的,“选择器”,…
{@ (x)比较字符串(x,“印度”),“名字”});
x = linspace (min (S.Lon), max (S.Lon), 100);
y = linspace (min (S.Lat), max (S.Lat), 100);
(x, y) = meshgrid (x, y);
z =兰德(100);
isin = inpolygon (x, y, S.Lon S.Lat);
z2 = z;
z2 (~ isin) =南;
lnlim = (65 - 100);
ltlim = 40 [5];
ltlim lt = linspace (ltlim (1), (2), 3);
lnlim ln = linspace (lnlim (1), (2), 3);
为2 = 1:2
ltbox {2} = lt ((1 2 2 1 1) + (ii-1));
lnbox {2} = ln ([1 1 2 2 1]”+ (ii-1));
结束
[lnmask, ltmask] =交易(细胞(2));
为2 = 1:2
为jj = 1:2
[lnmask {ii, jj}, ltmask {ii, jj}] = polybool (“- - -”,…
ltbox lnbox {2}, {jj}, S。朗,S.Lat);
结束
结束
ltboxall = ltlim ([1 2 2 1 1]);
lnboxall = lnlim ([1 1 2 2 1]);
[lnmaskall, ltmaskall] = polybool (“- - -”,ltboxall lnboxall年代。朗,S.Lat);
图(“颜色”,' w ');
worldmap (“印度”);
geoshow (y, x, z2,“DisplayType”,“表面”)
contourcmap (“喷气机”分钟(z): 1:马克斯(z),“colorbar”,“上”,“位置”,“水平”)
为2 = 1:4
lnmask patchm (ltmask {2}, {2},' w ',“edgecolor”,“没有”);
结束
plotm (ltmaskall lnmaskall,“k”);