Изменение механизма поведения импортера набора данных участков

Эта тема относится только к ArcGIS for Desktop Standard и ArcGIS for Desktop Advanced.

Вы можете использовать ArcObjects и установить некоторые параметры регистра, чтобы контролировать поведение механизма импорта набора данных участков. Вы можете управлять тем, как рассчитываются кривые, сколько участков обрабатывается внутренне во время импорта, а также отображать начальное и конечное время импорта в файле журнала переноса данных.

Управление переносом кривых (с помощью ArcObjects)

Управление вычислением кривых

Вы можете контролировать процесс расчета кривых при переносе данных участков в набор данных участков. По умолчанию, кривые рассчитываются и отображаются с помощью линии (line shape) переносимого участка. Если участок открыт, кривые отображаются с помощью измерений кривых.

В процессе переноса вы можете задать, чтобы кривые вычислялись и отображались между двумя точками или вычислялись и отображались с использованием одной точки. Кривые, отображаемые между двумя точками, используют значения записей, но кривые всегда связаны между двумя точками. Кривые, которые отображаются с использованием одной точки, используют только исходную точку и измерения. Построение кривых с помощью одной точки - это хороший способ найти некорректные кривые и другие проблемы кривых в наборе данных, поскольку кривая отображается как из одной точки, используя записанные значения.

Метод вычисления кривых для переноса данных задается при установке набора свойств в интерфейсе IDECadastralFabric3 в ArcObjects:

Шаги:
  1. Объявите интерфейсы IDECadastralFabric3 и IPropertySet:
  2. private IDECadastralFabric3 m_DECadastralFabric;
            private IPropertySet m_propset;
    
  3. Назначьте интерфейс IDECadastralFabric3 набору кадастровых данных, для которых будут переноситься данные:
  4. m_DECadastralFabric = (IDECadastralFabric3) m_CadFabric;
    (m_CadFabric = ICadastralFabricLayer.CadastralFabric)
    
  5. Создать новый набор свойств Esri:
  6. m_propset = new PropertySetClass();
    
  7. Установите метод вычисления кривых:

    Построение кривых на основе формы линий участка (по умолчанию)

    object COGOshapetype = "COGOShapeStorage";
                m_propset.SetProperty("COGOShape",COGOshapetype);
    

    Построение кривых с помощью двух точек

    object COGOshapetype = "ConstructionUsingTwoPoints";
                m_propset.SetProperty("COGOShape",COGOshapetype);
    

    Построение кривых с помощью одной точки

    object COGOshapetype = "ConstructionUsingOnePoint";
                m_propset.SetProperty("COGOShape",COGOshapetype);
    
  8. Задайте набор свойств в интерфейсе IDECadastralFabric3:
  9. m_DECadastralFabric.SetPropertySet
    (esriCadastralPropertySetType.esriCadastralPropSetImporterLoading, m_propset);
    

Управление длинными радиальными линиями

При запуске уравнивания набора данных участков методом наименьших квадратов на группе участков, плоские кривые с длинными радиальными линиями могут привести к неудавшемуся уравниванию. Это происходит потому, что малейшее уравнивание плоской кривой может привести к большому уравниванию центральной точки плоской кривой, которая имеет длинные радиальные линии. Вы можете использовать набор свойств в интерфейсе IDECadastralFabric3 ArcObjects и задать свойство, чтобы предотвратить влияние длинных радиальных линий на результат уравнивания набора данных участков. Это свойство присваивает категорию точности 7 радиальным линиям, большим, чем заданное вами значение расстояния (в метрах). Если линии или участку присваивается категория точности 7, это не влияет на результат уравнивания набора данных участков.

Шаги:
  1. Объявите интерфейсы IDECadastralFabric3 и IPropertySet:
  2. private IDECadastralFabric3 m_DECadastralFabric;
            private IPropertySet m_propset;
    
  3. Назначьте интерфейс IDECadastralFabric3 набору кадастровых данных, для которых будут переноситься данные:
  4. m_DECadastralFabric = (IDECadastralFabric3) m_CadFabric;
    (m_CadFabric = ICadastralFabricLayer.CadastralFabric)
    
  5. Создать новый набор свойств Esri:
  6. m_propset = new PropertySetClass();
    
  7. Установите максимальное расстояние, которое можно назначить радиальной линии перед тем, как ей можно будет назначить категорию точности 7 (по умолчанию 500 метров):
  8. m_propset.SetProperty("assignAccCat7ToRadialLineGreaterThanXMeters", 550);
    
  9. Задайте набор свойств в интерфейсе IDECadastralFabric3:
  10. m_DECadastralFabric.SetPropertySet
    (esriCadastralPropertySetType.esriCadastralPropSetImporterLoading, m_propset);
    

Конвертация уплотненных дуг

Если переносимые данные содержат уплотненные дуги, вы можете преобразовать их в истинные кривые, находящиеся в пределах заданного допуска. В интерфейсе IDECadastralFabric3 ArcObjects в ArcObjects используется набор свойств и задаются два свойства для управления конвертированием уплотненных дуг. Первое свойство — это заданный коэффициент, который умножается на текущий Допуск XY (кластерный допуск) для получения вычисленного допуска. Если расстояние между каждой вершиной уплотненной дуги и истинной кривой меньше вычисленного допуска, уплотненная дуга преобразуется в истинную кривую. Второе свойство определяет крайний лимит вычисляемого допуска. Если допуск слишком большой, вы можете использовать второе свойство для определения максимально допустимого вычисляемого допуска.

Если уплотненная дуга не формирует истинную кривую в пределах заданного допуска, уплотненная дуга импортируется как линейный примитив (естественная граница). Если уплотненная дуга имеет меньше четырех вершин, дуга импортируется не как кривая, а как ломаная линия (природная граница).

Шаги:
  1. Объявите интерфейсы IDECadastralFabric3 и IPropertySet:
  2. private IDECadastralFabric3 m_DECadastralFabric;
            private IPropertySet m_propset;
    
  3. Назначьте интерфейс IDECadastralFabric3 набору кадастровых данных, для которых будут переноситься данные:
  4. m_DECadastralFabric = (IDECadastralFabric3) m_CadFabric;
    (m_CadFabric = ICadastralFabricLayer.CadastralFabric)
    
  5. Создать новый набор свойств Esri:
  6. m_propset = new PropertySetClass();
    
  7. Определите коэффициент, который будет умножен на Допуск XY (кластерный допуск). По умолчанию используется значение 100:
  8. m_propset.SetProperty("CurveDetectOffsetXMultipliedByDatasetTolerance", 200);
    
  9. Определите максимально допустимый вычисляемый допуск. По умолчанию используется значение 0,5 метра:
  10. m_propset.SetProperty("CurveDetectOffsetMaxMetersTolerance", 0.7);
    
  11. Задайте набор свойств в интерфейсе IDECadastralFabric3:
  12. m_DECadastralFabric.SetPropertySet
    (esriCadastralPropertySetType.esriCadastralPropSetImporterLoading, m_propset);
    

Параметры импортера (через реестр)

Установка внутреннего числа смежных участков для обработки

В процессе импорта участки внутренне обрабатываются партиями по 500. Вы можете увеличить или уменьшить внутреннее количество обрабатываемой партии в зависимости от скорости вашего компьютера.

Выполните следующие шаги, чтобы изменить внутреннее количество номер обрабатываемой партии:

Шаги:
  1. Нажмите кнопку Пуск Windows и щелкните Выполнить.
  2. Введите Regedit в диалоговом окне Выполнить.
  3. Перейдите к разделу HKEY_CURRENT_USER \\Software\\ESRI\\Desktop10.1\\ArcMap\\Cadastral.
  4. Щелкните правой кнопкой папку Кадастр (Cadastral), нажмите Создать, а затем щелкните Значение DWORD.
  5. Введите MaxBatchParcelsToRead в качестве имени DWORD.
  6. Дважды щелкните DWORD, чтобы изменить значение.
  7. Выберите опцию Десятичная.
  8. В поле Значение введите число от 1 до 995. По умолчанию используется значение 500.
  9. Нажмите кнопку OK, чтобы создать раздел реестра.

Отображение начального и конечного времени импорта в файле журнала

Вы можете использовать раздел реестра WriteExtendedLogfileTimeInfo для отображения начального и конечного времени в файле журнала переноса данных. Начальное и конечное время полезно для мониторинга времени, которое он занимает для импорта конкретного количества участков в набор данных участков. По умолчанию, в файле журнала не перечислено начальное и конечное время.

Шаги:
  1. Нажмите кнопку Пуск Windows и щелкните Выполнить.
  2. Введите Regedit в диалоговом окне Выполнить.
  3. Перейдите к разделу HKEY_CURRENT_USER \\Software\\ESRI\\Desktop10.1\\ArcMap\\Cadastral.
  4. Щелкните правой кнопкой папку Кадастр (Cadastral), нажмите Создать, а затем щелкните Значение DWORD.
  5. Введите writeExtendedLogfileTimeInfo в качестве имени DWORD.
  6. Дважды щелкните DWORD, чтобы изменить значение.
  7. Выберите опцию Десятичная.
  8. В поле Значение введите 1 для значения Истина (True) или 0 для значения Ложь (False).
  9. Нажмите кнопку OK, чтобы создать раздел реестра.
9/11/2013