Повеќе

Исклучувајќи страници без точка во обем од страници управувани со податоци?

Исклучувајќи страници без точка во обем од страници управувани со податоци?


ArcMap 10.2

Создавам картонски услуги за да покажам HVAC точки на инсталација. Страниците со податоци се именуваат и сортираат по посебен слој (класа на карактеристики на област). Има 70 именувани области, сепак, не секоја страница има единици за климатизација во рамките на обемот.

Дали постои метод автоматски да се исклучат страниците што НЕ вклучуваат HVAC точки во рамките на опсегот на гледање?

Забелешки: - Самите податоци треба да останат недопрени за да не можам да додадам дополнителни полиња. - Доволно сум запознаен со питон за да работи скрипта, но не знам кои модули да ги повикам или да ги стартувам.


Начинот на кој секогаш ги ограничував вклучените страници е преку барање за дефиниција.

Ако не можете да ги измените оригиналните податоци, тогаш можете да направите копија од истите. Сепак, не сум сигурен за сите ваши барања.

Скриптата подолу ќе направи копија од оригиналниот слој на површина и ќе додаде поле нареченоDisplayPage. Потоа прави аИзберете Локацијаза да ги изберете сите области што содржат функција за HVAC. По изборот користи аUpdateCursorда се населат наDisplayPageполе со аДаза сите тековно избрани области.

import arcpy arcpy.env.overwriteOutput = Вистински #промени патеки до местото каде што се наоѓаат вашите податоци original_area = "C:  temp  Data.gdb  Area" hvac_features = "C:  temp  Data.gdb  HVAC " #промена на патеката до каде што сакате копијата да се произведува copy_area =" C:  temp  Data.gdb  AreaCopy "arcpy.CopyFeatures_management (original_area, copy_area) arcpy.AddField_management (copy_area," DisplayPage "," TEXT ") copy_area_fl = arcpy.MakeFeatureLayer_management (copy_area" copy_area_fl ") hvac_features_fl = arcpy.MakeFeatureLayer_management (hvac_features" hvac_features_fl ") arcpy.SelectLayerByLocation_management (copy_area_fl" содржи ", hvac_features_fl) со arcpy.da.UpdateCursor (copy_area_fl, (" DisplayPage ")) како курсор: за ред во курсорот: ред [0] =" Да "cursor.updateRow (ред) arcpy.Delete_management (copy_area_fl) arcpy.Belete_management (hvac_features_fl)

Потоа во ArcMap поставете барање за дефиниција на слојот од копираната област наDisplayPage = 'Да'. И користете го овој слој како индекс за страниците управувани со податоци.