このページは機械翻訳を使用して翻訳されました。元の英語を参照するには、ここをクリックします。
readgeotable
説明
は名前と値の引数を使用してオプションを指定します。たとえば、T = readgeotable(filename,Name=Value)CoordinateSystemType 名前値引数を使用して座標系タイプを指定します。
例
マサチューセッツ州コンコードの道路網を含むシェープファイルを、地理空間tableとしてワークスペースに読み込みます。
T = readgeotable("concord_roads.shp");tableの Shape 変数には、座標参照系 (CRS) を含む道路の形状に関する情報が含まれています。このシェープファイル内の道路の形状は投影された CRS を使用します。
T.Shape.ProjectedCRS
ans =
projcrs with properties:
Name: "NAD83 / Massachusetts Mainland"
GeographicCRS: [1×1 geocrs]
ProjectionMethod: "Lambert Conic Conformal (2SP)"
LengthUnit: "meter"
ProjectionParameters: [1×1 map.crs.ProjectionParameters]
道路を地図上に表示します。
mapshow(T) xlabel("x (meters)") ylabel("y (meters)")

オプションの投影ファイル (.prj) は、シェープファイルの座標系タイプを決定します。シェープファイルに投影ファイルがないが、座標系の種類がわかっている場合は、CoordinateSystemType 名前値引数を使用して指定できます。
津波に関する情報を含む tsunamis.shp というシェープファイルをワークスペースに読み込みます。ファイルに付随するメタデータは、シェープファイルが地理座標を使用していることを示しています。
T = readgeotable("tsunamis.shp",CoordinateSystemType="geographic");
地理空間tableの Shape 変数を表示します。津波のソースの位置はポイントとして保存されます。
T.Shape
ans =
162×1 geopointshape array with properties:
NumPoints: [162×1 double]
Latitude: [162×1 double]
Longitude: [162×1 double]
Geometry: "point"
CoordinateSystemType: "geographic"
GeographicCRS: []
ソースの場所を地図上にプロットします。
lat = T.Shape.Latitude; lon = T.Shape.Longitude; geoiconchart(lat,lon)

GPX ファイルには、ウェイポイント、トラック、トラック ポイント、ルート、ルート ポイントの最大 5 つのレイヤーを含めることができます。トラック ポイントまたはルート ポイントを含むレイヤーを読み取ると、地理空間tableには、ポイントをトラックまたはルートに関連付ける ID 変数が含まれます。
2 つのトラックを含む GPX ファイルのトラック レイヤーをインポートします。各トラックの Shape 変数は geolineshape オブジェクトです。
T = readgeotable("sample_tracks.gpx",Layer="tracks")
T=2×3 table
Shape Name Number
____________ _________________________________________________________________________________________ ______
geolineshape "Track logs from walking the perimeter of the MathWorks campus in Natick on May 21, 2007" 1
geolineshape "Track logs from biking from Concord to the MathWorks campus in Natick on June 30, 2011" 2
各トラックの形状を表示します。最初のトラックには 1 つのセグメントがあり、2 番目のトラックには 5 つのセグメントがあります。
T.Shape(1)
ans =
geolineshape with properties:
NumParts: 1
Geometry: "line"
CoordinateSystemType: "geographic"
GeographicCRS: [1×1 geocrs]
T.Shape(2)
ans =
geolineshape with properties:
NumParts: 5
Geometry: "line"
CoordinateSystemType: "geographic"
GeographicCRS: [1×1 geocrs]
トラック ポイント レイヤーをインポートします。各ポイントの Shape 変数は geopointshape オブジェクトです。
T2 = readgeotable("sample_tracks.gpx",Layer="track_points"); T2.Shape
ans =
2586×1 geopointshape array with properties:
NumPoints: [2586×1 double]
Latitude: [2586×1 double]
Longitude: [2586×1 double]
Geometry: "point"
CoordinateSystemType: "geographic"
GeographicCRS: [1×1 geocrs]
2 番目のトラックのポイントのみを含むサブテーブルを作成します。このファイルでは、2 番目のトラックのポイントの TrackFID 値は 1 になります。
rows = (T2.TrackFID == 1); T3 = T2(rows,:);
サブテーブル内のポイントを青いラインで表示します。
lat = T3.Shape.Latitude;
lon = T3.Shape.Longitude;
geoplot(lat,lon,Color="b")
ウェブサイトから GeoJSON データを読み取り、ファイル storms.geojson に保存します。データには、NOAA/NWS Storm Prediction Center による 1 日目の対流予測が含まれています。対流の見通しの詳細については、[1]を参照してください。データへのリンクについては[2]を参照してください。
websave("storms.geojson","https://www.spc.noaa.gov/products/outlook/day1otlk_cat.lyr.geojson");
データを地理空間tableに読み込みます。激しい雷雨の脅威がない場合など、ファイルに readgeotable 関数が読み取るデータが含まれていない場合は、代わりに空のポリゴン形状を持つ地理空間tableを作成します。
try GT = readgeotable("storms.geojson"); catch GT = table(geopolyshape,"No Data","none",VariableNames=["Shape" "LABEL2" "fill"]); end
地理空間tableの Shape 変数を表示します。tableには地理的領域がポリゴンとして保存されます。
GT.Shape
ans=2×1 geopolyshape array with properties:
NumRegions: [2×1 double]
NumHoles: [2×1 double]
Geometry: "polygon"
CoordinateSystemType: "geographic"
GeographicCRS: [1×1 geocrs]
1 日目の対流の見通しは日ごとに変化するため、結果も異なる可能性があります。
衛星ベースマップ上に対流の見通しを表示します。雷雨リスク カテゴリから凡例を作成するには、tableの各行を個別のポリゴンとしてプロットします。
figure geobasemap satellite hold on for k = 1:height(GT) row = GT(k,:); geoplot(row,"DisplayName",row.LABEL2,"FaceColor",row.fill) end legend alpha(0.6)
アクセス日を含むタイトルを追加します。
dt = datetime("today",Format="MMMM d, yyyy"); title("Day 1 Convective Outlooks",string(dt))

[1] 「SPC製品」NOAA/National Weather Service Storm Prediction Center。2022年6月28日にアクセス。https://www.spc.noaa.gov/misc/about.html。
[2] 「SPCシェープファイル/ KML/KMZリンク」NOAA/National Weather Service Storm Prediction Center。2022年6月28日にアクセス。https://www.spc.noaa.gov/gis/。
R2023b 以降
OpenStreetMap® ファイルには、ポイント、ライン、マルチラインストリング、マルチポリゴン レイヤーなど、複数のデータ レイヤーが含まれています。readgeotable 関数が OpenStreetMap ファイルから読み取るデータは、指定するレイヤーによって異なります。
日本の東京、渋谷のいくつかの街区のデータを含むOpenStreetMapファイル[1]の名前を指定します。
filename = "shibuya.osm";ライン レイヤーを地理空間 table に読み込みます。ライン レイヤーは、道路、歩道、線路などの地物を表します。tableは、地理座標のラインの形状を使用して線を表します。
linesLayer = readgeotable(filename,Layer="lines");地図上にラインを表示します。
figure
geoplot(linesLayer)
title("Lines Layer")
ポイント レイヤーを地理空間tableに読み込みます。ポイント レイヤーは、交通信号、バス停、地下鉄の入口などのフィーチャを表します。tableは、地理座標の点の形状を使用してポイントを表します。
pointsLayer = readgeotable(filename,Layer="points");同じ地図上にポイントを表示します。
hold on geoplot(pointsLayer) title("Points and Lines Layers")

鉄道や地下鉄の入口など、特定の地理的特徴の読み方については、Read Data from OpenStreetMap Files の例を参照してください。
[1] OpenStreetMapのファイルは、世界中のクラウドソースの地図データへのアクセスを提供するhttps://www.openstreetmap.orgからダウンロードできます。データは Open Data Commons Open Database License (ODbL)、https://opendatacommons.org/licenses/odbl/ に基づいてライセンスされています。
R2023b 以降
.osm 拡張子を持つ OpenStreetMap ファイルから、フットプリント、重心、高さなどの建物データを読み取ります。
日本の東京、渋谷のいくつかの街区のデータを含むOpenStreetMapファイル[1]の名前を指定します。
filename = "shibuya.osm";readgeotable 関数の Layer 名前値引数を "buildings" として指定して、建物レイヤーを地理空間tableに読み込みます。tableは地理座標の多角形形状を使用して建物を表しています。
buildingsLayer = readgeotable(filename,Layer="buildings");地図上に建物を表示し、建物の最大の高さを使用して色を適用します。タイトルを追加し、カラーマップを変更し、ラベル付きのカラーバーを追加します。
figure geoplot(buildingsLayer,ColorVariable="MaxHeight") title("Maximum Heights of Buildings") colormap sky c = colorbar; c.Label.String = "Height in Meters";

地理空間tableに保存されている情報に基づいて建物データを表示する方法については、Display Buildings from OpenStreetMap Files の例を参照してください。
[1] OpenStreetMapのファイルは、世界中のクラウドソースの地図データへのアクセスを提供するhttps://www.openstreetmap.orgからダウンロードできます。データは Open Data Commons Open Database License (ODbL)、https://opendatacommons.org/licenses/odbl/ に基づいてライセンスされています。
入力引数
読み取るファイルの名前。文字ベクトルまたは string スカラーとして指定します。filename の形式はファイルの場所によって異なります。
ファイルが現在のフォルダーまたは MATLAB® パス上のフォルダーにある場合は、
"myFile.shp"などのファイルの名前を指定します。ファイルが現在のフォルダーまたは MATLAB パス上のフォルダーにない場合は、
"C:\myfolder\myFile.gpx"や"dataDir\myFile.kml"などの完全パス名または相対パス名を指定します。
サポートされているファイル形式の一覧については、サポートされる形式 を参照してください。
Esri ファイル ジオデータベースを読み取るには、完全パス名または相対パス名を指定するか、現在のフォルダーにジオデータベースを含める必要があります。
データ型: char | string
名前と値の引数
オプションの引数のペアを Name1=Value1,...,NameN=ValueN として指定します。ここで、Name は引数名で、Value は対応する値です。名前と値の引数は他の引数の後に指定しなければなりませんが、ペアの順序は重要ではありません。
例: readgeotable("sample_tracks.gpx",Layer="track_points") は GPX ファイルからトラック ポイント レイヤーを読み取ります。
ファイルに複数のレイヤーが含まれている場合に読み取るレイヤー。正の整数、文字列スカラー、または文字ベクトルとして指定します。整数を指定する場合、その値はファイル内のベクトルレイヤーの数以下である必要があります。この引数では大文字と小文字が区別されます。
ファイルに含まれるレイヤーはファイル形式によって異なります。
| ファイル形式 | レイヤー形式 |
|---|---|
| Esriファイルジオデータベース | ファイルの内容によって、レイヤーの数とレイヤーの名前が決まります。 |
| GeoJSON | ファイルの内容によって、レイヤーの数とレイヤーの名前が決まります。 |
| GeoPackage | ファイルの内容によって、レイヤーの数とレイヤーの名前が決まります。 |
| GPX | 次のいずれかのオプションとしてレイヤーを指定します。
|
| KML | 各フォルダーとサブフォルダーはレイヤーに対応しており、フォルダー名はレイヤー名と一致します。 |
| KMZ | 基になるKMLファイル内の各フォルダーとサブフォルダーはレイヤーに対応しており、フォルダー名はレイヤー名と一致します。 |
| OpenStreetMap® | レイヤーを次のいずれかのオプションとして指定します。各レイヤーに保存されるデータの詳細については、Data Stored in OpenStreetMap Layers を参照してください。
|
| シェープファイル | シェープファイルには 1 つのレイヤーがあります。 |
データ型: single | double | char | string
座標系の種類。次のいずれかの値として指定されます。
"auto"— ファイルの内容に基づいてShapetable変数を作成します。"geographic"—geopointshape、geolineshape、およびgeopolyshapeオブジェクトを使用してShapetable変数を作成します。"planar"—mappointshape、maplineshape、およびmappolyshapeオブジェクトを使用してShapetable変数を作成します。
readgeotable 関数が座標系の種類を検出できない場合は、座標系の種類を指定します。
シェープファイルの場合、座標系の種類はオプションの投影ファイル (.prj) によって決まります。シェープファイルに投影ファイルがない場合、次のいずれかのオプションを使用して座標系の種類を判別することができます。
メタデータを参照してください。
データプロバイダーにお問い合わせください。
shapeinfo関数を使用して、シェープファイルに関する情報を構造として返します。次に、構造のBoundingBoxフィールドをクエリして、データの制限を表示します。制限は座標系の種類を予測するのに役立つ場合があります。
変数名を保持するためのフラグ。次のいずれかのオプションとして指定します。
"preserve"— スペースや非 ASCII 文字を含む変数名など、有効な MATLAB 識別子ではない変数名を保持します。"modify"—isvarname関数によって識別された無効な変数名を有効な MATLAB 識別子に変換します。
データ型: char | string
出力引数
地理空間table。地理空間tableとして返されます。地理空間tableは、Shape 変数と属性変数を持つ table オブジェクトです。
Shape変数には、点、ライン、およびポリゴンの形状に関する 2D 情報が含まれています。Shape変数には、形状タイプの組み合わせを含めることができます。すべての図形は同じ座標参照系 (CRS) を持ちます。readgeotable関数は、geopointshape、geolineshape、およびgeopolyshapeオブジェクトを使用して、地理 CRS の座標を持つ図形を表します。readgeotable関数は、mappointshape、maplineshape、およびmappolyshapeオブジェクトを使用して、投影された CRS 内の座標を持つ図形を表します。属性変数には、名前、分類、測定値などのデータが含まれます。
データ ファイルに CRS 情報が含まれている場合、readgeotable 関数は、その情報を各図形オブジェクト内に projcrs または geocrs オブジェクトとして保存します。
OpenStreetMap ファイルから作成された地理空間tableの詳細については、Data Stored in OpenStreetMap Layers を参照してください。
詳細
関数 readgeotable は、次のファイル形式をサポートしています。
Esri ファイル ジオデータベース (
.gdb)GeoJSON (
.jsonまたは.geojson)ジオパッケージ (
.gpkg) (R2025a 以降)GPX (
.gpx)KML (
.kml)KMZ (
.kmz) (R2023b 以降)OpenStreetMap (
.osmまたは.osm.pbf) (R2023b 以降)シェープファイル(
.shp)
一部のファイル形式は、メイン ファイルと複数のサポート ファイルで構成されます。たとえば、シェープファイルには、メイン ファイル (.shp)、インデックス ファイル (.shx)、属性ファイル (.dbf) が含まれます。readgeotable 関数を使用してサポート ファイルを含むデータ ファイルを読み取る場合は、メイン ファイルの拡張子を指定します。
ファイルに 3D ポイント、ライン、またはポリゴンが含まれている場合、関数は 2D 情報のみを地理空間tableの Shape 変数に読み取ります。
GeoJSON ファイルの場合、GeoJSON ファイルがすべての要素に属性を適用しない場合でも、すべての属性が地理空間tableのすべての行に適用されます。ファイルが要素に属性を適用しない場合、地理空間table内の対応するセルには欠落したデータ値が含まれます。
GPX ファイルの場合、Garmin® 拡張子はサポートされていません。
KMLおよび KMZ ファイルの場合、readgeotable 関数は形状、名前、および説明のみを地理空間tableに読み取ります。
バージョン履歴
R2021b で導入readgeotable 関数は、GeoPackage 形式 (.gpkg) のファイルからベクトル データを読み取ることができます。
readgeotable 関数は、OpenStreetMap 形式 (.osm、.osm.pbf) のファイルからデータと建物を読み取ることができます。
readgeotable 関数は、KMZ 形式 (.kmz) のファイルからデータを読み取ることができます。
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)