私が取り組んでいる MATLAB スクリプトについて少しアドバイスが必要です。
Natural Earth Web サイトからすべての国を含むシェープファイルをダウンロードしました: http://www.naturalearthdata.com/http//www.naturalearthdata.com/download/50m/cultural/ne_50m_admin_0_countries.zip
私は最初にシェープファイルを読みました:
%% Load country borders shapefile
country_border_file = 'shapefiles\ne_50m_admin_0_countries\ne_50m_admin_0_countries.shp';
country_borders = shaperead(country_border_file,'UseGeoCoords',true);
次に、 geoshow 関数を使用してプロットします。
ax = axesm('mercator');
geoshow(ax, [country_borders.Lat], [country_borders.Lon], 'Color', 'k');
これについてはすべてうまくいきます。ここで、マップの視認性を向上させるために、ドイツと英国の陸域を特定の色で着色したいと考えています。次のコードを実行します。
ax = axesm('mercator');
symspec = makesymbolspec('Polygon', ...
{'name', 'Germany', 'FaceColor', [0.15 0.5 0.15]}, ...
{'name', 'United Kingdom', 'FaceColor', [0.15 0.5 0.15]});
geoshow(ax,country_borders,'SymbolSpec', symspec)
そして、次のエラーメッセージが表示されます。
??? ==> 行の使用エラー 無効なプロパティが見つかりました。オブジェクト名: line プロパティ名: 'SymbolSpec'.
==> 24 時間のマップラインのエラー = line(xdata(:), ydata(:), 'Color', [0 0 1], varargin{:});
==> 22 h での geovec のエラー = fcn(x, y, varargin{:});
==> geovecshow のエラー 66 h = geovec(mstruct, lat, lon, ...
エラー ==> 273 h の geoshow = showFcn(varargin{:});
一般的に、私は線をプロットする以上のことはできません。Facecolor やその他の引数が機能せず、同様のエラー メッセージが表示されます。
私の質問は次のとおりです。この問題を回避する方法はありますか (そうでない場合)、MATLABv7 以降でうまく動作することがテストされた無料で入手できるシェープファイル (同様の問題で他の多くをテストしました) がありますか (つまり、国固有の色)絵画作品)?
イオアニス、よろしくお願いします