2016-09-29 5 views
-1

Я студент курса по программированию ГИС. Мой профессор не сообщил мне, прежде чем регистрировать, что опыт Python будет полезен. У меня нет опыта работы с Python и вам нужна помощь в этом проекте. Любые примеры или четкие объяснения были бы замечательными. Вот проект:Сценарий Python в проекте ГИС

Сделайте копию файла базы геоданных FirDepartment.gdb в \ cartggp \ Geo573 & 673_Lab \ Lab5_Part2 к вашему компьютеру. Написать питон автономного скрипта для подсчета всех односемейных домов и многоэтажных сооружений в каждом из 44 зоны пожара реагирования: (100 баллов)

1) Каждая зона пожара ответа имеет соответствующую функцию класс в базе данных с структура имени «FireBoxMap_id». Существует также класс здания особенность след, BldgFoorprints, с полем использования кода с именем UseCode (1 = односемейных, 2 = мульти- семья)

2) Прежде всего, вам нужно использовать для создания ListFeatureClasses объект списка, содержащий все классы объектов FireBoxMap_id. Затем используйте структуру for loop для перехода по каждой зоне.

3) В структуре цикла для каждого класса объектов зоны вам необходимо написать коды до , добавить два новых поля для подсчета односемейных и многоквартирных зданий . (проверьте использование инструмента геообработки AddField)

4) Затем выберите все односемейные здания, находящиеся в зоне, получите счетчик , присвойте счету одному из двух новых полей для подсчета одной семьи; а затем выберите все многоквартирные здания, которые находятся в зоне, получите счет, назначьте счет другому полю для многосемейных подсчетов. (Проверить использование CalculateField инструмент геообработки)

5) Инструменты, которые могут понадобиться: AddFieldDelimiters для where_clause MakeFeatureLayer (установить where_clause только получать только одной семьи или многоквартирных домов SelectLayerByLocation (использование. опция «HAVE_THEIR_CENTER_IN») GetCount

Вот что я на шаге 2 до сих пор:.

import arcpy 
import os 
arcpy.env.workspace = "D:\Fehr10\Fehr_Python\Datapdf\FireDepartment.gdb" 
featureclasses = arcpy.ListFeatureClasses() 

Это не так много я на основе т его пример от справочной базы ГИС.

+0

Здесь вы задаете несколько разных вопросов. Вы должны рассмотреть возможность разделения на несколько вопросов типа «Как получить количество функций с помощью дуги?», «Как вычислить поле с использованием дуги?» и «Как выбрать функции, используя дугу?» Как только вы это сделаете, вы поймете, что ваша проблема намного проще, и все эти вопросы имеют легкие ответы в документации по дугам и на http://gis.stackexchange.com/. – roemhildtg

ответ

0

Во-первых, для установки рабочего стола ArcGIS (требуется пробная лицензия); Ссылка получить пробную лицензию, как показано ниже: arcgis trial license

Во-вторых, нажмите помощи ArcGIS рабочего стола, чтобы перейти через справочный документ arcPy. В качестве скриншота: arcpy help in ArcGIS desktop Также необходимы другие справочные документы для python.