이것이 할 수있는 일입니까?
예를 들어,지도에 오버레이를 만들어 모양 파일로 저장 한 경우이 파일 ( 기존 파일 ) 오버레이를 편집하고 싶습니다 . 점 추가 / 점 제거 색상 / 채우기 스타일 등을 변경합니다.
이상적으로는 새 모양 파일을 만들고 이전 모양 파일을 삭제하지 않으려 고합니다.
생각?
편집 1 : 좋아, 이제 누군가가 할 수 있다고 말했습니다. 명백한 질문은 어떻게 형상 파일을 편집합니까 (ArcObjects에서 프로그램 적으로)?
편집 2 : 주석을 보면 이와 같은 작업을 수행해야하지만 확실하지 않습니다.
현재 C #의 ArcObjects에서 편집하려는 기본 모양 파일이 있습니다.
FeatureClass, Workspace를 만든 다음 분명히 모양을 전달하여 shapefile을 만들었습니다. 이 경우 몇 점이있는 단순한 폴리 라인 일뿐입니다. 내가하고 싶은 것은이 shapefile을 업데이트하는 기능입니다.
해당 FeatureClass, Workspace를 재사용하고 새로운 형태로 전달해야한다고 가정합니다. 그러나 내가하고있는 일은 효과가없는 것 같습니다. 이것은 내가 편집에있는 곳입니다-조언은 좋을 것입니다.
IWorkspaceEdit workspaceEdit = (IWorkspaceEdit)inWorkspace;
workspaceEdit.StartEditing(true);
workspaceEdit.StartEditOperation();
ComReleaser comReleaser = new ComReleaser();
IFeatureCursor featureCursor = inFeatureClass.Update(null , true);
IFeature feature = null;
while((feature = featureCursor.NextFeature()) != null)
{
int id = feature.Fields.FindField("shape");
IFeatureBuffer featureBuffer = inFeatureClass.CreateFeatureBuffer();
featureCursor.DeleteFeature(); //Delete the old
featureBuffer.Shape = (IGeometry)inShape;
featureCursor.InsertFeature(featureBuffer);
}
workspaceEdit.StopEdidtOperation();
workspaceEdit.StopEditing(true);
편집 3 : 최종 솔루션
featureCursor = inFeatureClass.Update(null ,true);
//DELETE old shape
featureCursor = inFeatureClass.Insert(true);
//Insert new
workspaceEdit.StopEditOperation();
workspaceEdit.StopEditing(true);
ArcMap의 그리기 도구를 사용하여지도에 주석 레이어를 그렸다는 말입니까? 이 파일을 모양 파일로 변환 한 경우 모양 파일 인 것처럼 확실히 편집 할 수 있습니다.
—
jvangeld
ArcMap.TrackPolygon을 사용하여 IPolygon을 만든 다음 결국 모양 파일로 바꿉니다. 내가하고 싶은 것은이 shapefile을 편집하는 것입니다. ... 속성 (점, 필 스타일, 색상 등)을 얻는 방법을 알고 있습니다
—
ist_lion
프로그래밍 방식으로 ArcObjects에서?
—
Mapperz
네, 제가하고 싶은 일입니다
—
ist_lion
솔루션을 공유해 주셔서 감사합니다. f # C #으로 태그를 지정하면 구문 강조 표시가 나타납니다.
—
patrick