2017-02-17 85 views
0

我試圖用顫抖來繪製經緯度和緯度的數據與u和v風的組件與輪廓地圖給定的座標到地圖或緯度限制南部和北部和東部和北部的經度限制。 我用顫抖,看起來像這樣的數據:MATLAB顫抖和usamap

lats =  
    17.4154 17.4862 17.5570 17.6278 17.6986 17.7695 17.8403 17.9113 17.9822 18.0532 
    17.4406 17.5114 17.5822 17.6530 17.7239 17.7948 17.8657 17.9367 18.0077 18.0787 
    17.4657 17.5365 17.6074 17.6783 17.7492 17.8201 17.8911 17.9621 18.0331 18.1042 
    17.4908 17.5616 17.6325 17.7034 17.7744 17.8453 17.9163 17.9874 18.0584 18.1295 
    17.5157 17.5866 17.6576 17.7285 17.7995 17.8705 17.9416 18.0126 18.0837 18.1548 
    17.5407 17.6116 17.6826 17.7535 17.8246 17.8956 17.9667 18.0378 18.1089 18.1801 
    17.5655 17.6365 17.7075 17.7785 17.8496 17.9207 17.9918 18.0629 18.1341 18.2053 
    17.5903 17.6613 17.7324 17.8034 17.8745 17.9457 18.0168 18.0880 18.1592 18.2304 
    17.6151 17.6861 17.7572 17.8283 17.8994 17.9706 18.0418 18.1130 18.1842 18.2555 
    17.6398 17.7108 17.7820 17.8531 17.9242 17.9954 18.0667 18.1379 18.2092 18.2805 

lons = 
-126.6557 -126.6822 -126.7086 -126.7352 -126.7617 -126.7884 -126.8151 -126.8418 -126.8686 -126.8954 
-126.5816 -126.6079 -126.6344 -126.6608 -126.6874 -126.7139 -126.7406 -126.7672 -126.7939 -126.8207 
-126.5074 -126.5337 -126.5600 -126.5865 -126.6129 -126.6394 -126.6660 -126.6926 -126.7193 -126.7460 
-126.4331 -126.4594 -126.4857 -126.5120 -126.5384 -126.5649 -126.5914 -126.6179 -126.6445 -126.6712 
-126.3588 -126.3850 -126.4113 -126.4375 -126.4639 -126.4903 -126.5167 -126.5432 -126.5697 -126.5963 
-126.2845 -126.3106 -126.3368 -126.3630 -126.3893 -126.4156 -126.4420 -126.4684 -126.4949 -126.5214 
-126.2101 -126.2361 -126.2623 -126.2884 -126.3147 -126.3409 -126.3672 -126.3936 -126.4200 -126.4465 
-126.1356 -126.1616 -126.1877 -126.2138 -126.2400 -126.2662 -126.2924 -126.3187 -126.3451 -126.3715 
-126.0611 -126.0871 -126.1131 -126.1391 -126.1652 -126.1914 -126.2176 -126.2438 -126.2701 -126.2964 
-125.9866 -126.0125 -126.0384 -126.0644 -126.0904 -126.1165 -126.1427 -126.1688 -126.1951 -126.2214 

uu = 
    4.3284 4.2194 4.1311 4.1058 4.1257 4.1565 4.1577 4.1154 4.0786 4.0919 
    4.2915 4.1725 4.1192 4.0914 4.1078 4.1434 4.1444 4.1023 4.0698 4.0883 
    4.2893 4.1729 4.0948 3.9822 3.9411 4.0315 4.0849 4.0789 4.0656 4.0933 
    4.3015 4.1781 4.0060 3.5111 3.2246 3.6142 3.9358 4.0968 4.1293 4.1583 
    4.3201 4.1979 3.9442 2.6250 2.0477 3.1333 3.9762 4.4323 4.4857 4.4572 
    4.3446 4.2282 4.0007 2.9749 2.6363 3.5457 4.2251 4.5204 4.5032 4.4514 
    4.3702 4.2574 4.0144 2.8532 2.4080 3.4183 4.2457 4.5984 4.5740 4.4791 
    4.3983 4.2892 4.0523 2.9604 2.6090 3.6026 4.3398 4.6455 4.6028 4.4814 
    4.4308 4.3219 4.0731 2.9737 2.5745 3.5884 4.3988 4.7215 4.6732 4.5380 
    4.4656 4.3617 4.1061 3.0083 2.6543 3.7259 4.4764 4.7422 4.7200 4.5402 

vv = 
    7.6193 7.5646 7.5514 7.5293 7.4777 7.4330 7.3959 7.3713 7.3514 7.3114 
    7.5880 7.5226 7.4864 7.4412 7.3617 7.3057 7.2689 7.2468 7.2266 7.1901 
    7.5464 7.5055 7.4640 7.3788 7.1708 7.0795 7.0404 7.0467 7.0437 7.0212 
    7.4983 7.4718 7.4614 7.4554 6.9534 6.7995 6.7157 6.7514 6.7704 6.7739 
    7.4479 7.4317 7.4620 7.8292 7.6354 7.3127 7.0606 6.9834 6.9749 6.9598 
    7.3954 7.3845 7.4144 7.7126 7.6237 7.3166 7.1730 7.1403 7.0985 7.0679 
    7.3465 7.3394 7.3758 7.7103 7.6388 7.3369 7.0627 6.9815 6.9544 6.9366 
    7.2992 7.2950 7.3309 7.6507 7.6157 7.3175 7.1008 7.0046 6.9853 6.9644 
    7.2528 7.2506 7.2908 7.6194 7.6034 7.2784 7.0555 6.9419 6.9320 6.9356 
    7.2087 7.2043 7.2474 7.5870 7.5538 7.2332 7.0420 6.9274 6.9017 6.9057 

我試圖用顫抖這樣這些變量,我得到一個情節看起來罰款:我試圖覆蓋

quiver(lons, lats, uu, vv); 

使用使用usamap這個代碼的地圖疊加在一個地圖輪廓形式顫動情節:

latlimf = [17.4154, 18.2805]; 
lonlimf = [-126.8954, -125.9866]; 
usamap(latlimf, lonlimf); 

問題是顫動情節變得覆蓋usamap請求以空白地圖的形式,即使我使用hold on來保持抖動情節。

+0

使用顫抖的形式:顫抖(lats,lons,uu,vv)給了我顫抖的箭頭和lat和lon軸,但仍然不知道如何使用usamap或世界地圖給出輪廓圖給出了lats的範圍和lons。謝謝你 – user2100039

+0

你試圖顯示地圖,然後做顫抖? –

+0

嗨 - 是的,它首先與usamap(latlim,lonlim)然後顫抖,但我需要狀態或地區的界限,我試着用--- states = shaperead('usastatehi',... 'UseGeoCoords '真 '的BoundingBox',[lonlim',latlim']);與geoshow(斧,國家),我得到一個軸錯誤,期待輸入數字1,LAT和matlab.graphics.axis.Axes錯誤。 – user2100039

回答

0

根據文檔,usamap總是返回一組新的座標軸,因此您必須首先繪製座標軸。沒有選擇在您正在嘗試執行的現有座標軸上製作地圖,很可能是因爲涉及到自定義投影。

在地圖投影軸上繪圖也需要特殊處理。使用quiverm而不是常規quiver要做到這一點,並且一定要閱讀鏈接文檔頁面上的所有注意事項:

latlimf = [17.4154, 18.2805]; 
lonlimf = [-126.8954, -125.9866]; 
usamap(latlimf, lonlimf); 
quiverm(lats, lons, vv, uu); 

注意,參數quiverm被向後相比,你試圖傳遞給quiver什麼。