添加要素

创建日期:2024-06-21
更新日期:2025-01-20
package com.liteng;

import com.supermap.analyst.spatialanalyst.ProximityAnalyst;
import com.supermap.data.*;

import java.util.HashMap;
import java.util.Map;

public class DMApplication {
    public static void main(String[] args) {
        DatasourceConnectionInfo info = new DatasourceConnectionInfo();
        info.setEngineType(EngineType.DM);
        info.setServer("192.168.23.109:5236");
        info.setDatabase("NBRQ");
        info.setUser("NBRQ");
        info.setPassword("hylab@123");
        Workspace workspace = new Workspace();
        Datasource datasource = workspace.getDatasources().open(info);

        // Datasets
        Datasets datasets = datasource.getDatasets();
        System.out.println(String.join(",", datasets.getDatasetNames()));

        // Dataset
        DatasetVector dataset = (DatasetVector) datasets.get("iObjectTest");
        dataset.open();
        System.out.println(dataset.getRecordCount());

        // Record
        Recordset recordset = dataset.getRecordset(true, CursorType.DYNAMIC);

        GeoLine geometry = new GeoLine();

        Point2Ds points = new Point2Ds();
        points.add(new Point2D(11806539.825956611, 3667663.9043966793));
        points.add(new Point2D(11820909.987274224, 3666593.379513414));
        points.add(new Point2D(11819381.24670852, 3650459.040201336));
        points.add(new Point2D(11800577.737750366, 3654358.8094189456));
        geometry.addPart(points);

        Map<String, Object> properties = new HashMap<>();
        properties.put("CODE", "iObjects");
        if (!recordset.addNew(geometry, properties)) {
            System.out.println("要素添加失败");
            return;
        }
        System.out.println("要素添加成功");

        // close
        recordset.close();

        dataset.close();
        dataset.dispose();

        workspace.close();
        workspace.dispose();

        info.dispose();
    }
}