Программное добавление точек к существующему файлу Shp
-
- Участник
- Сообщения: 70
- Зарегистрирован: 04 сен 2009, 16:47
- Репутация: 1
Программное добавление точек к существующему файлу Shp
Доброго времени суток. Подскажите начинающему программисту ArcGis как можно произвести программное добавление точек к существующему файлу shp. Заранее спасибо
- Дмитрий Барышников
- Гуру
- Сообщения: 2572
- Зарегистрирован: 17 ноя 2009, 19:17
- Репутация: 261
- Откуда: Москва
Re: Программное добавление точек к существующему файлу Shp
Например так:
Код: Выделить всё
IFeatureBufferPtr pFeatureBuffer;
IFeatureCursorPtr pFeatureCursor;
pFeatureClass->Insert(VARIANT_TRUE,&pFeatureCursor);
pFeatureClass->CreateFeatureBuffer(&pFeatureBuffer);
CComVariant ID;
IPointPtr pPoint(CLSID_Point);
pPoint->put_X(37);
pPoint->put_Y(55);
IGeometryPtr pOutGeom(pPoint);
pFeatureBuffer->putref_Shape(pOutGeom);
pFeatureCursor->InsertFeature(pFeatureBuffer,&ID);
pFeatureCursor->Flush();
-
- Участник
- Сообщения: 70
- Зарегистрирован: 04 сен 2009, 16:47
- Репутация: 1
Re: Программное добавление точек к существующему файлу Shp
Спасибо, что откликнулись.
Дело в том, что я только начал что то писать под АРКГИС на Сшарп.
Но не в этом дело. Я хотел Вашей подсказки по вопросам организации ГЕО-информации.
Я нашел книгу по програмированию ArcObject, но ее авторы ссылаются на техническую документацию АРКГИС, а вы представляете как ее изучать.
Это же не книга. Мне бы даже точная ссылка на англоязычный сайт ЕСРИ .
Заранее спасибо

Дело в том, что я только начал что то писать под АРКГИС на Сшарп.
Но не в этом дело. Я хотел Вашей подсказки по вопросам организации ГЕО-информации.
Я нашел книгу по програмированию ArcObject, но ее авторы ссылаются на техническую документацию АРКГИС, а вы представляете как ее изучать.

Заранее спасибо
- Дмитрий Барышников
- Гуру
- Сообщения: 2572
- Зарегистрирован: 17 ноя 2009, 19:17
- Репутация: 261
- Откуда: Москва
-
- Участник
- Сообщения: 70
- Зарегистрирован: 04 сен 2009, 16:47
- Репутация: 1
Re: Программное добавление точек к существующему файлу Shp
Большое спасибоBishop писал(а):См. здесь и далее по библиотеке
http://edndoc.esri.com/arcobjects/9.2/N ... 176a9e.htm
http://edndoc.esri.com/arcobjects/9.2/N ... 907898.htm

-
- Участник
- Сообщения: 70
- Зарегистрирован: 04 сен 2009, 16:47
- Репутация: 1
Re: Программное добавление точек к существующему файлу Shp
что делает это код?
Сначала. по моему эта функция создает среду для редактирования (Feature),
потом ?????????
Я понимаю, что для Вас мой вопрос покажется туповатым, но я не могу до конца понять 
Сначала. по моему эта функция создает среду для редактирования (Feature),
потом ?????????

Код: Выделить всё
public void CreateFeature(IFeatureClass featureClass, IPoint point)
{
// Ensure the feature class contains points.
if (featureClass.ShapeType != esriGeometryType.esriGeometryPoint)
{
return ;
}
// Build the feature.
IFeature feature = featureClass.CreateFeature();
feature.Shape = point;
// Apply the appropriate subtype to the feature.
ISubtypes subtypes = (ISubtypes)featureClass;
IRowSubtypes rowSubtypes = (IRowSubtypes)feature;
if (subtypes.HasSubtype)
{
// In this example, the value of 3 represents the Cross subtype.
rowSubtypes.SubtypeCode = 3;
}
// Initialize any default values the feature has.
rowSubtypes.InitDefaultValues();
// Update the value on a string field that indicates who installed the feature.
int contractorFieldIndex = featureClass.FindField("CONTRACTOR");
feature.set_Value(contractorFieldIndex, "K Johnston");
// Commit the new feature to the geodatabase.
feature.Store();
}

-
- Участник
- Сообщения: 70
- Зарегистрирован: 04 сен 2009, 16:47
- Репутация: 1
Re: Программное добавление точек к существующему файлу Shp
Не примите за наглость.
А этот код что делает?
Пример использования IFeatureClass.CreateFeatureBuffer

А этот код что делает?
Пример использования IFeatureClass.CreateFeatureBuffer



-
- Участник
- Сообщения: 70
- Зарегистрирован: 04 сен 2009, 16:47
- Репутация: 1
-
- Участник
- Сообщения: 70
- Зарегистрирован: 04 сен 2009, 16:47
- Репутация: 1
Re: Программное добавление точек к существующему файлу Shp
Доброго времени суток.
Разбирался с хелпами. Вроде тучи понемногу расступаются.
Уперся в таку проблему.
Есть код
Вопрос.
Что я не так делаю, чтобы добраться до IFeatureClass
Выбивает ошибка на строке
Заранее спасибо 
Разбирался с хелпами. Вроде тучи понемногу расступаются.

Уперся в таку проблему.
Есть код
Код: Выделить всё
IMxDocument pDoc = m_application.Document as IMxDocument;
IMap myMap = pDoc.Maps.get_Item(0);
IFeatureLayer featureLayer = myMap.get_Layers(null, true) as IFeatureLayer;
IFeatureClass featureClass = featureLayer.FeatureClass;
IFeatureBuffer_Example(featureClass, 0, 0);

Что я не так делаю, чтобы добраться до IFeatureClass
Выбивает ошибка на строке
Код: Выделить всё
IFeatureClass featureClass = featureLayer.FeatureClass;

- Дмитрий Барышников
- Гуру
- Сообщения: 2572
- Зарегистрирован: 17 ноя 2009, 19:17
- Репутация: 261
- Откуда: Москва
Re: Программное добавление точек к существующему файлу Shp
Начнем по порядку вопросов
А слои подгружены (хотя бы один)? Данная процедура работает только в ArcMap и для первого фрейма (см. pDoc.Maps.get_Item(0))!
Здесь ошибка в этом месте IFeatureLayer featureLayer = myMap.get_Layers(null, true) as IFeatureLayer;
Должно быть IFeatureLayer featureLayer = myMap.get_Layer(0) as IFeatureLayer;
1. Данный код создает точку в таблице (FeatureClass) с заданием атрибутов, из подтиповBodyZ писал(а):что делает это код?
2. Данный код создает курсор добавления и вносит геометрию в таблицу (FeatureClass) с добавлением нулевых атрибутовBodyZ писал(а):Не примите за наглость.
А этот код что делает?
3.BodyZ писал(а):Что я не так делаю, чтобы добраться до IFeatureClass
А слои подгружены (хотя бы один)? Данная процедура работает только в ArcMap и для первого фрейма (см. pDoc.Maps.get_Item(0))!
Здесь ошибка в этом месте IFeatureLayer featureLayer = myMap.get_Layers(null, true) as IFeatureLayer;
Должно быть IFeatureLayer featureLayer = myMap.get_Layer(0) as IFeatureLayer;
-
- Участник
- Сообщения: 70
- Зарегистрирован: 04 сен 2009, 16:47
- Репутация: 1
Re: Программное добавление точек к существующему файлу Shp
Спасибо за помощь. Буду пробовать.
С наступающими праздниками. Крепкого здоровья, успехов в делах
С наступающими праздниками. Крепкого здоровья, успехов в делах

- Дмитрий Барышников
- Гуру
- Сообщения: 2572
- Зарегистрирован: 17 ноя 2009, 19:17
- Репутация: 261
- Откуда: Москва
-
- Участник
- Сообщения: 70
- Зарегистрирован: 04 сен 2009, 16:47
- Репутация: 1
Re: Программное добавление точек к существующему файлу Shp
Доброго времени суток. Извините за долгое отсуцтвие
Плотно уперся рогом, как не было бы мне стыдно признаться
Подскажите плиз поподробней как добавить точки к слою
, если я имею IFeatureLayer
Простите за назойливость, уж очень хочется тронуться с места
Заранее спасибо




Простите за назойливость, уж очень хочется тронуться с места

Заранее спасибо
- Дмитрий Барышников
- Гуру
- Сообщения: 2572
- Зарегистрирован: 17 ноя 2009, 19:17
- Репутация: 261
- Откуда: Москва
-
- Участник
- Сообщения: 70
- Зарегистрирован: 04 сен 2009, 16:47
- Репутация: 1
Re: Программное добавление точек к существующему файлу Shp
Спасибо за помощь.
Есть другой вопрос. Как задать географические координаты для точки если Point.X Point.Y прямоугольные. Заранее спасибо
Есть другой вопрос. Как задать географические координаты для точки если Point.X Point.Y прямоугольные. Заранее спасибо
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 7 гостей