3

私が取り組んでいる 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 以降でうまく動作することがテストされた無料で入手できるシェープファイル (同様の問題で他の多くをテストしました) がありますか (つまり、国固有の色)絵画作品)?

イオアニス、よろしくお願いします

4

0 に答える 0