IlString query = IlString("SELECT * FROM ROADS_SDOGEOM ORDER BY 1, 2, 4"); //keep always the ORDER BY statement IldDbms* myDbms = IldNewDbms("oracle8", "scott/tiger@myDomain"); IldRequest* resultSet = myDbms->getFreeRequest(); resultSet->execute(query.getValue()); |
メモ: この順序は、IlvSDOFeatureIterator を正常に動作させるために必要です。 |
IldDbms* myDbms = IldNewDbms("oracle8", "scott/tiger@myDomain"); IlvMapAdapter* adapter = new IlvMapAdapter(0.5); // Create an adapter that fits your data. IlvSDOLayer* layer = new IlvSDOLayer(adapter, myDbms, "ROADS_SDOGEOM"); manager->addLayer(layer); |
メモ: IlvSDOLayer レイヤーのロード・オン・デマンドで取得した各 IlvMapFeature で特別な操作を処理する場合、IlvDefaultSDOTileLoader をサブクラス化して getFeatureIterator メソッドをオーバーライドする必要があります。このメソッドでは、getNextFeature メソッドをオーバーライドした IlvSDOFeatureIterator のサブクラスのインスタンスを返す必要があります (この中で、レイヤーから返された各 IlvMapFeature で特別な処理を実行できます)。最後に、IlvDefaultSDOTileLoader のサブクラスをレイヤーのタイル・ローダーとして設定する必要があります。 |
IldDbms* myDbms = IldNewDbms("oracle81", "scott/tiger@myDomain"); IlvSDOWriter* writer = new IlvSDOWriter(myDbms, "MyLayer", 135); // Create a source feature iterator. IlvShapeFileReader* reader = new IlvShapeFileReader("foo.shp", 0); IlvInt geomCount; // Dump its content to the Oracle layer. writer->writeFeatureIterator(reader, geomCount); |
メモ: Oracle Spatial ライターでサポートしているジオメトリーは、次のとおりです。IlvMapPoint、IlvMapLineString、IlvMapPolygon、IlvMapMultiPoint、および IlvMapMultiCurve (複数行文字列用)、 IlvMapMultiArea (複数多角形 用)。 |