Maps > 定義済みリーダー > S57 マップ・リーダー > S57 形式を読み込むためのクラス
 
S57 形式を読み込むためのクラス
S57 形式を読み込むためのクラスは IlvS57Loader です。このクラスは IlvMapFeatureIterator のサブクラスで、各S57 機能 (S57 FRID 記録) ごとに
1 つの IlvMapFeature オブジェクトを返します。
次のコードは、IlvS57Loader クラスを使用して S57 カタログ・ファイルを読み込む方法と、 IlvS57Renderer クラスを使用して地図機能をグラフィック・オブジェクトに変換する方法について示しています。
IlvDisplay* display = ...;
IlvGraphic* graphic;
IlvManager* m = ...;
const IlvFeatureAttributeProperty* ap;
IlvMapInfo* mapInfo = ...;
Const char* filename = "catalog.030";
IlvMapsError status = IlvMaps::NoError();
 
IlvS57Loader reader(display);
reader.setFilename(filename);
IlvFeatureRenderer* renderer =
reader.getDefaultFeatureRenderer(display);
 
 
for (const IlvMapFeature* f = reader.getNextFeature(status);
status == IlvMaps::NoError() && f ;
f = reader.getNextFeature(status)) {
graphic = renderer->makeGraphic(*f, *mapInfo, status);
if (graphic) {
ap = f->getAttributes();
m->addObject(graphic);
if (ap)
graphic->setNamedProperty(ap->copy());
}
}

Version 6.0
Copyright © 2015, Rogue Wave Software, Inc. All Rights Reserved.