如何利用SOE for Java實現資料編輯

2021-08-10 12:29:41 字數 1561 閱讀 3741

在eclipse中基於soe模板建立乙個最簡單的soe應用。

imapserver3 ms = (imapserver3)mapserverdataaccess;

string mapname = ms.getdefaultmapname();

// 指定待編輯圖層的圖層id

int layerid = 0;

featureclass editedfeatureclass = new featureclass mapserverdataaccess.getdatasource(mapname, layerid));

// 獲取待編輯要素類所在的工作空間

workspace fcworkspace = new workspace(editedfeatureclass.getworkspace());

// 建立要素

feature feature = (feature)editedfeatureclass.createfeature();

point addedpoint = new point();

addedpoint.setx(137);

addedpoint.sety(39);

feature.setshapebyref(addedpoint);

// 儲存要素

feature.store();

注意事項:

1. 簡單要素類的編輯無需呼叫startediting開啟編輯操作

2. 待編輯資料須存放在sde資料庫中,否則將報如下錯誤:

automationexception: workspace or data source is read only.

注:如果資料來源本身存放在sde庫中,但是由於資料所在的sde庫未註冊到server上,導致發布服務時資料被拷貝到arcgis for server的arcgisinput資料夾下的gdb檔案中。此種情形也會導致這一錯誤。

// 獲取待編輯的要素類

featureclass editedfeatureclass = new featureclass(mapserverdataaccess.getdatasource(mapname, layerid));

// 獲取要素類所在的工作空間

workspace fcworkspace = new workspace(editedfeatureclass.getworkspace());

iworkspaceedit2proxy editworkspace = new iworkspaceedit2proxy(fcworkspace); imultiuserworkspaceeditproxy multiusereditworkspace = new imultiuserworkspaceeditproxy(editworkspace);

multiusereditworkspace.startmultiuserediting(esmode);

editworkspace.starteditoperation();

如何利用PostgreSQL的延遲複製實現災備

gitlab 的運營工作由gitlab基礎設施團隊負責,同時這也是gitlab目前最大的例項 擁有約300萬使用者和近700萬個專案,是網際網路上最大的單租戶開源saas站點之一。npostgresql是gitlab 基礎設施的關鍵組成部分,我們採用了各種策略來提公升系統彈性,抵禦各種因資料丟失導致...

如何利用PostgreSQL的延遲複製實現災備

gitlab 的運營工作由gitlab基礎設施團隊負責,同時這也是gitlab目前最大的例項 擁有約300萬使用者和近700萬個專案,是網際網路上最大的單租戶開源saas站點之一。postgresql是gitlab 基礎設施的關鍵組成部分,我們採用了各種策略來提公升系統彈性,抵禦各種因資料丟失導致的...

如何利用PostgreSQL的延遲複製實現災備

gitlab 的運營工作由gitlab基礎設施團隊負責,同時這也是gitlab目前最大的例項 擁有約300萬使用者和近700萬個專案,是網際網路上最大的單租戶開源saas站點之一。postgresql是gitlab 基礎設施的關鍵組成部分,我們採用了各種策略來提公升系統彈性,抵禦各種因資料丟失導致的...