Mer

Få forskjellige resultater ved å velge Velg etter sted med ArcPy vs ArcMap?


Jeg har to forskjellige lag. Det ene laget inneholder funksjoner som skal sitte direkte på toppen av funksjonene i det andre laget.

Med ArcPy gjør jeg enSelectLayerByLocationmed"ARE_IDENTICAL_TO"og deretter a"SWITCH_SELECTION"for å finne hvilke funksjoner fra lag ett som ikke er direkte på toppen av lag to, og deretter oppdatere geometrien deretter.

Imidlertid gir ArcPy meg andre (feil) resultater enn å brukeVelg etter plasseringi ArcMap.

Gitt at funksjonen bare er 0,01 fot fra den andre, men den er fremdeles ikke identisk.

Når du bruker ArcPy, funksjonen ovenfor med S er valgt, men når jeg brukerVelg etter plasseringi ArcMap er det ikke det.

layer1_fl = arcpy.MakeFeatureLayer_management (layer1, layer1 + "_fl") layer2_fl = arcpy.MakeFeatureLayer_management (layer2, layer2 + "_fl") arcpy.SelectLayerByLocation_management (layer1_fl, "ARE_IDENTICAL_TO", lag2

Noen anelse om hvorfor det oppfører seg slik?


Som foreslått av @FelixIP

jeg la tilarcpy.env.outputCoordinateSystem = arcpy.SpatialReference (102726)og alt fungerte som forventet.


Trekk ut fra hjelp: Verktøyene Velg etter plassering som er tilgjengelig i valgmenyen i ArcMap, ArcScene og ArcGlobe, evaluerer det romlige forholdet i koordinatsystemet til programmets display (gjeldende dataramme). For at geoprosesseringsverktøyet skal matche denne oppførselen (og få identiske resultater), sett utgangskoordinatsystemmiljøet til Samme som skjerm

Glad det fungerer, selv om jeg sliter med å forstå, hvorfor det er en ting man må gjøre når begge lagene er i samme projeksjon


Se videoen: GIS Python: Count shape files and Select by Location 2 Real world ArcPy examples (Oktober 2021).