Več

Spreminjanje vrednosti točk x, y za odstranitev vseh vrednosti iz 3. decimalke v ArcMap?

Spreminjanje vrednosti točk x, y za odstranitev vseh vrednosti iz 3. decimalke v ArcMap?


Želim preveriti, ali obstaja način za posodobitev vrednosti točk x, y in odstranitev vseh vrednosti iz 3. decimalke. Želim samo 2 decimalki (ne glede na to, da je tretja decimalka 0 ali 9, samo odstranite).

Izvirni podatki in želeni podatki so naslednji:

25642.882 38471.416 (spremeniti na 25642.88 38471.41)

25648.078 38446.104 (treba spremeniti v 25648.07 38446.10)

25655.240 38406.615 (treba spremeniti v 25655.24 38406.61)

Kakšen nasvet?


Prepričan sem, da obstaja boljši način, vendar bo to delovalo:

  1. V tabeli atributov ustvarite 3 nova polja, imenovana x, y in z, in vnesite polje »Double«
  2. Z desno miškino tipko kliknite polje X in izračunajte njegovo geometrijo x koordinato
  3. Z desno miškino tipko kliknite polje y in izračunajte njegovo geometrijo za koordinato y
  4. Z desno miškino tipko kliknite polje z in izračunajte njegovo geometrijo za koordinato z
  5. Izberite vse zapise v tabeli atributov, nato z desno miškino tipko kliknite datoteko njene plasti in pojdite: "Izbor> Kopiraj zapise za izbrane funkcije"
  6. Odprite Excel in prilepite izbrane atribute
  7. V Excelu formatirajte celice x, y, z v kategorijo Število in decimalna mesta nastavite na 2.
  8. Shranite Excelovo tabelo kot .CSV
  9. V Arcgisu pojdite: "Datoteka> Dodaj podatke> Dodaj podatke XY"
  10. V oknu Dodaj podatke XY podajte .csv, ki ste ga ustvarili v točki 8, in polja x, y, z dodelite ustreznim spustnim oknom. Nastavite koordinatni sistem in kliknite V redu.
  11. Končni rezultat bo plast z zahtevanimi oblikovanimi številkami za x, y in z.

Izraz kalkulatorja polja, Python:

def truncate (f, n): s = '{}'. format (f) i, p, d = s.partition ('.') return '.'. join ([i, (d+'0'*n ) [: n]])

Če želite teči na poljih x, y in z, na primer:

skrajšati (! POINT_X!, 2)

Koda vzeta s https://stackoverflow.com/questions/783897/truncating-floats-in-python, rahlo spremenjena za kalkulator polja

Drugi izraz kalkulatorja polja, ki se izvaja v polju Oblika

uvoz arcpy def PointMake (x, y, z): vrni arcpy.Point (x, y, z)

Pokličite:

PointMake (! POINT_X !,! POINT_Y !,! POINT_Z!)

Poglej si posnetek: How to clip any district from country shapefile in ArcGIS