¿Es esto algo que se puede hacer?
Por ejemplo, si creé una superposición en un mapa y la guardé como un archivo de forma, quiero ir y editar esta superposición ( archivo preexistente ) ... Agregar puntos / eliminar puntos, cambiar el color / estilo de relleno / etc.
Idealmente, quiero evitar crear un nuevo shapefile y eliminar el antiguo.
Pensamientos?
Edición 1: OK, ahora que alguien ha dicho que se puede hacer. La pregunta obvia es, ¿cómo edita el archivo de forma (en ArcObjects de forma programática)?
Edición 2: Al mirar los comentarios, parece que necesito hacer algo como esto, pero no estoy seguro.
Actualmente tengo un shapefile básico que quiero editar en ArcObjects en C #.
He creado un archivo de forma creando una FeatureClass, Workspace y luego obviamente pasando mi forma. En este caso es solo una polilínea simple con algunos puntos. Lo que me gustaría hacer es tener la capacidad de actualizar este archivo de forma.
Supongo que necesito reutilizar esa FeatureClass, Workspace y pasar una nueva forma. Sin embargo, lo que estoy haciendo no parece funcionar. Aquí es donde estoy en la edición: cualquier consejo sería genial.
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);
EDITAR 3: Solución final
featureCursor = inFeatureClass.Update(null ,true);
//DELETE old shape
featureCursor = inFeatureClass.Insert(true);
//Insert new
workspaceEdit.StopEditOperation();
workspaceEdit.StopEditing(true);
fuente
Respuestas:
Creé y manipulé un archivo de forma mediante programación, por lo que tal vez esto pueda proporcionar algunas sugerencias para agregar puntos: guardar IGeometry en el disco como un archivo de capa
En cuanto a colorear una capa, eso es bastante simple.
fuente