レビューPIE-SDKのC ++データベクトル

1. はじめに

    現在PIE SDKのサポートベクトルデータを変更または削除、以下の修正および削除機能ベクトルデータは、サンプルコードと一緒に導入されます。

2. 関数の実装上の注意

2.1 変更されたデータベクトル

2.2 アイデアや理論的根拠の実現

第一歩

取得したベクトルデータを修正する必要があります

第二のステップ

変更または要素の値に基づいて設定された条件を削除すると、

2.3 コアインタフェースメソッド

インタフェース/ クラス

メソッド/ プロパティ

説明

SysDataSource :: DatasetFactory

OpenFeatureDataset(QStringの経路)

特徴データセットを作成します。

SysDataSource :: FeatureDatasetPtr

GetNextFeature()

次の要素を取得します。

UpdateFeature()

アップデート機能

DeleteFeature()

削除機能

UpdateFeature()

アップデート機能

SysDataSource :: FeaturePtr

SetValue()

セットのフィールド値

2.4 サンプルコード

プロジェクトパス

ディスクアドレス百度クラウド/ PIE 例示的なプログラム/ 04 データ操作/ 05 変更されたデータベクトル

データパス

カスタム...

ビデオパス

ディスクアドレスBaiduのクラウド/ PIEのビデオチュートリアル/ 04 データ操作/ 05 改変ベクターデータ.AVI

サンプルコード

PIEMainWindow :: On_ActionEditVectorData_Triggered ブール値をチェックします

{

    QStringのフィルタ= "シェイプファイル(* .SHP)"

    QStringので、inputFile = QFileDialog :: GetOpenFileName関数nullptr " 編集するデータを選択してください" "" フィルター);

    もしで、inputFile のisEmpty ())

    {

        リターン;

    }

 

    SysDataSource::FeatureDatasetPtr fDataSetPtr = SysDataSource::DatasetFactory::Instance()->OpenFeatureDataset(inputFile);

    if (fDataSetPtr == nullptr) return;

 

    //删除要素

    fDataSetPtr->DeleteFeature(0);//删除FID0的要素

    //修改要素

    SysDataSource::FeatureClassPtr pFeatureClass = new SysDataSource::FeatureClass(fDataSetPtr);

    SysDataSource::FeatureCursorPtr pCursor = pFeatureClass->Search(nullptr);

    int index = pFeatureClass->GetFields()->GetFieldIndex("Name");//根据实际数据情况进行适配即可

    //遍历要素,修改字段Name属性值为B

    SysDataSource::FeaturePtr pFeature = pCursor->NextFeature();

    while (pFeature!=nullptr)

    {

        pFeature->SetValue(index, "B");

        fDataSetPtr->UpdateFeature(pFeature);

        pFeature = pCursor->NextFeature();

    }

    bool flag= fDataSetPtr->Save();

    pCursor->Release();

    SysCarto::LayerPtr fLayer = SysCarto::LayerFactory::Instance()->CreateDefaultLayer(inputFile);

    m_pCurrentControl->GetMap()->AddLayer(fLayer);

    m_pCurrentControl->GetActiveView()->Refresh();

}

2.5 示例截图

修改前:

修改后:

おすすめ

転載: www.cnblogs.com/PIESat/p/12372203.html