Доброго времени суток.
Простите за долгое молчание :wink:
Подскажите пожалуйста от какого объекта (или каким образом) получается входной параметр
IWorkspace workspace в этом примере:
http://resources.esri.com/help/9.3/arcgisengine/dotnet/867915B0-DB2F-475F-BBC3-ACCE013DF855.htm
В моем случае мне необходимо создать:
1. Базу геоданных на локальной машине;
2. В созданной базе геоданных создать и заполнить значениями Shp-файл (Точечных объектов);
3. Открыть созданный Shp-файл в проекте ArcMap в виде слоя;
4. В открытом слое задать необходимые условные обозначения точкам, в зависимости от параметра.
И все это желательно проделать в автоматическом режиме. :roll:
Возможно ли это? :?:
Заранее спасибо за ответ. :)
Пункт 1-3 реализовал таким образом
public override void OnClick()
{
// TODO: Add Command_Body_Test.OnClick implementation
//MessageBox.Show("Автоматическое добавление слоя");
IMxDocument pMxDocument = m_application.Document as IMxDocument;
IMap pLocalMap;
IMaps pMaps = pMxDocument.Maps;
ILayer pLayer;
for (int i = 0; i <= pMaps.Count - 1; i++)
{
pLocalMap = pMaps.get_Item(i);
string s1 = pLocalMap.Name;
IEnumLayer pEnumLayer = pLocalMap.get_Layers(null, true);
pEnumLayer.Reset();
pLayer = pEnumLayer.Next();
Form_Select_Layer form = new Form_Select_Layer(m_application);
form.ShowDialog();
if (form.IsNeedCopy)
{
while (pLayer.Name != form.SelectedLayerName)//"Комерційні")
pLayer = pEnumLayer.Next();
// Создание БАЗЫ геоданных
try
{
//Клонирование коллекции колонок
IFieldsEdit pNewFields = new FieldsClass();
IClone pCloneField;
IField pNewField;
IFeatureClass pFClass = (pLayer as IFeatureLayer).FeatureClass;
for (int k = 0; k < pFClass.Fields.FieldCount; k++)
{
pCloneField = (IClone)pFClass.Fields.get_Field(k);
pNewField = (IField)pCloneField.Clone(); pNewFields.AddField(pNewField);
}
// END //Клонирование коллекции колонок
//Клонирование системы координат из исходного слоя
ISpatialReference pSR;
IGeoDataset pGeoDS = (IGeoDataset)pLayer;
IClone pClone = pGeoDS.SpatialReference as IClone;
pSR = (ISpatialReference)pClone.Clone();
// END //Клонирование системы координат из исходного слоя
// Создание базы геоданных
IWorkspace pWorkSpace = CreateFileGdbWorkspace("D:\\Gis\\Testing\\", "SampleBodyTest.gdb");
&nb