Viac

Vyberte náhodné riadky s pythonom v arcgis


Som novým používateľom Pythonu v ArcGIS a zaujímalo by ma: ako môžem vybrať náhodné riadky (alebo každé dva riadky) tabuľky atribútov? Musím tieto riadky vybrať a vypočítať ich, takže sa líšia od ostatných.

Vlastne mám nejaké podmienky. Napríklad: Budem musieť vypočítať plochu mnohouholníka a plocha je menšia ako 30, napríklad musím vybrať jeden náhodný bod v rámci toho mnohouholníka a vypočítať jeho stĺpec tak, aby sa líšil od druhého.

Časť výpočtu oblasti je už pripravená, chýba iba získanie náhodných bodov.


Tu je niekoľko kódov na vytvorenie vrstvy (s názvom „lines_layer“) s náhodne vybranou polovicou riadkov, ktorá bude fungovať s ArcGIS 10.1+:

import arcpy import random fc = r'C:  path  to  features.shp '# Cesta k triede prvkov s tabuľkou atribútov na úpravu object_ids = [r [0] pre r v arcpy.da.SearchCursor (fc, [' OID @ '])] sample_size = len (object_ids) / 2 # Ak chcete vybrať viac alebo menej ako polovicu, zmeňte menovateľa random_ids = random.sample (object_ids, sample_size) oid_field = arcpy.Describe (fc) .OIDFieldName selection_query =' "{0 } "IN ({1}) '. Format (oid_field,', '. Join (random_ids)) arcpy.MakeFeatureLayer_management (fc," fc_layer ", selection_query)

Stačí zmeniťfcdefinícia, ktorá ukazuje na celú cestu triedy prvkov alebo obrazca, ktorých polia chcete vypočítať. (Názov vrstvy by tiež fungoval, ak ste z nej už vytvorili vrstvu prvkov. V takom prípade by bola vybratá polovica prvkov vo vrstve.)

Zdá sa, že vo vašej otázke môže byť výber každého druhého riadku dosť dobrý. V takom prípade by som vás nasmeroval na dotaz použitý v mojej odpovedi na túto otázku.


Pozri si video: Programovanie hier. Python. Lekcia 1 (Septembra 2021).