Thay đổi kiểu dữ liệu trong bảng thuộc tính ArcGIS?


9

Làm cách nào để thay đổi kiểu dữ liệu trong bảng thuộc tính trong ArcGIS cho nhiều trường?

Ví dụ: nếu các trường đã được xuất dưới dạng chuỗi từ Excel và tôi muốn sử dụng chúng làm giá trị số?


1
Bạn không thể thực hiện bảng này sang bảng khác nếu Kiểu dữ liệu không khớp. Tôi biết tôi đã cố gắng.
Sam

vui lòng trốn tránh định dạng và phiên bản nguồn dữ liệu. (ent cơ sở dữ liệu, shapefile, filegdb, gdb cá nhân?)
Brad Nesom

@Brad làm việc với shapefiles trong arcgis 10.2, nguồn dữ liệu được đặt cục bộ trên máy tính của tôi
Đấu tranh vào

Câu trả lời:



3

Bạn không đề cập đến phiên bản ArcGIS cho Máy tính để bàn nào bạn đang sử dụng hoặc nơi lưu trữ dữ liệu của bạn nhưng có trang thuộc tính trường Sửa đổi mô tả cách sử dụng ArcGIS 10.2 (hoặc mới hơn):

Một số thuộc tính trường có thể được thay đổi sau khi bảng hoặc lớp tính năng được tạo

... nhưng điều này chỉ áp dụng cho các trường trống.

Từ 10.3, chức năng trên cũng có sẵn thông qua công cụ Alter Field :

Đổi tên trường và bí danh trường hoặc thay đổi thuộc tính trường.


cần độ chính xác. kể từ 10.2.1
GeoStoneMarten

@GeoStoneMarten Các trường thay đổi tại 10.2.1 dường như chỉ dành cho việc đổi tên các trường trong khi câu trả lời của tôi liên quan đến sửa đổi các loại dữ liệu và tôi nghĩ vẫn còn hiệu lực. Tuy nhiên, câu trả lời của @Paul đề nghị Alter Field mở rộng chức năng của nó để bao gồm sửa đổi các loại dữ liệu tại 10.3.
PolyGeo

Không chỉ nhưng có nếu có dữ liệu hiện có ... Ok cho người khác
GeoStoneMarten

2

Bạn có thể thay đổi loại dữ liệu trường cho các trường bạn có trong lớp tính năng của mình. Tuy nhiên, bạn sẽ không thể chuyển đổi các trường văn bản thành số. Tuy nhiên, bạn có thể chuyển đổi các trường số của mình thành chuỗi. Hãy xem trang trợ giúp của Esri . Điều này không chỉ dành cho Cơ sở dữ liệu địa lý doanh nghiệp, nó hoạt động tốt ngay cả đối với cơ sở dữ liệu địa lý máy tính để bàn như cơ sở dữ liệu địa lý tệp.

Nếu lớp bảng hoặc lớp đối tượng nằm trong cơ sở dữ liệu địa lý doanh nghiệp, nhóm làm việc hoặc máy tính để bàn , bạn phải kết nối với tư cách là chủ sở hữu bảng để sửa đổi các thuộc tính trường.

Vì bạn giao dịch với Excel, cách tốt nhất để đảm bảo các loại dữ liệu của bạn là chính xác là xác định các loại dữ liệu ô trực tiếp trong Excel trước khi nhập bất kỳ dữ liệu nào. Tuy nhiên, nếu bạn có một trường văn bản có số, tất nhiên bạn có thể tạo một trường mới có kiểu số (chẳng hạn như số nguyên hoặc gấp đôi) và tính toán các giá trị dựa trên trường văn bản này. Điều này sẽ hoạt động tốt nếu số của bạn thực sự là số ("12" sẽ hoạt động, nhưng "12-1" sẽ không).


2

Theo hiểu biết của tôi, điều này là không thể. Trong 10.3, Trường thay đổi được mở rộng để cho phép thay đổi loại trường; tuy nhiên, nó vẫn chỉ hoạt động khi bảng không có bất kỳ bản ghi nào.

Đây là một cách tiếp cận để làm điều này mặc dù:

  1. Thêm một trường mới với tên tạm thời và loại dữ liệu chính xác
  2. Sử dụng Calculate Fieldhoặc cursors(với đúc, nếu cần)
  3. Xóa trường cũ
  4. Alter Field đổi tên trường tạm thời
  5. (Tùy chọn) Sao chép bảng với một số ánh xạ trường để khôi phục lại thứ tự ban đầu

Tôi chưa bao giờ điều tra nó, nhưng ánh xạ trường có thể hoạt động để chuyển các trường thành các kiểu dữ liệu mới, điều này sẽ đơn giản hóa quá trình này một cách đáng kể. Một cái gì đó để xem xét cho chắc chắn ....


1
Tôi thường đổi tên lĩnh vực cũ trước. bằng cách đó tôi có thể tạo lại trường mới, tính toán các giá trị và sau đó xóa trường cũ. Khi bạn bắt đầu tính các giá trị bạn có thể cần để chọn tất cả các giá trị khác không. và hoặc chuyển đổi / phân tách bất kỳ giá trị chuỗi nào
Brad Nesom

1
công cụ et cũng có một số chức năng miễn phí sẽ hữu ích. ian-ko.com Nhìn vào các chức năng miễn phí của trình hướng dẫn địa lý.
Brad Nesom

@Brad Tôi đã xem xét các chức năng miễn phí, xtools rất hữu ích nhưng tôi luôn mở cho nhiều tùy chọn / tốt hơn. cảm ơn bạn đã đóng góp
Đấu tranh

@BradNesom, điểm tốt! Điều đó sẽ có ý nghĩa hơn rất nhiều.
Paul

1

Một cách khác bao gồm mở .dbftệp của bạn trong OpenOffice Calc (hoặc tương đương) và sửa đổi cẩn thận các tiêu đề của các cột. Ví dụ: thay đổi loại từ C(Ký tự) thành N(Số). Một lời khuyên đơn giản: sao lưu tập tin của bạn trước khi thử.


1

Mặc dù bạn không thể thay đổi tên trường và kiểu dữ liệu trong chính tập dữ liệu, có thể tạo một bản sao với các thay đổi mong muốn bằng cách sử dụng công cụ ArcGIS "Lớp tính năng thành lớp đối tượng". Trong cài đặt, bạn có thể thay đổi, tên, loại dữ liệu và các đặc điểm khác của các trường.


1

Trước bất cứ điều gì khác, người ta phải cố gắng hiểu tại sao ArcGIS nhập một trường dưới dạng kiểu chuỗi thay vì kiểu dữ liệu số / kép. Tôi thấy rằng ngay cả khi ô của bạn (trong Excel) trống, nếu nó có "khoảng trắng" bên trong (như khi bạn nhấn phím cách), ArcGIS sẽ hiểu chúng là các ký tự. Nếu bạn loại bỏ chúng, bạn sẽ thấy rằng bây giờ chúng sẽ đăng ký dưới dạng các trường số.


0

Hãy xem tài liệu này . Bạn thường phải đảm bảo dữ liệu ở định dạng chính xác trước và sau khi nhập.

"ArcGIS thường chuyển đổi các trường số của bảng tính thành độ chính xác gấp đôi (Double), có thể không đáp ứng nhu cầu của bạn. Nếu cần, hãy tạo các trường mới của loại mong muốn và tính giá trị vào chúng"


0

Nếu mục tiêu của bạn là thêm dữ liệu từ bảng X vào bảng Y khác , nhưng bạn không thể vì các loại dữ liệu không tương ứng , bạn cũng có thể làm theo các bước sau:

  1. Xuất cả hai bảng (.dbf)

  2. Mở bảng Y trong excel.

  3. Mở bảng X trong excel.

  4. Sao chép và dán dữ liệu từ bảng X vào bảng Y bằng cách đảm bảo rằng bạn chỉ sao chép các giá trị, không phải biểu mẫu.

  5. Bây giờ bạn có một bảng mới chứa dữ liệu từ cả hai bảng, với các loại dữ liệu tương ứng.

6. Nhập bảng này trong ArcMap


0

Không ai đã đề cập đến bộ công cụ X-Ray cho ArcGIS. Chỉ cần thực hiện tìm kiếm Google cho "X-Ray ArcGIS". Có một số biến thể cho từng phiên bản và nền tảng ArcGIS (ArcCatalog, ArcMap). Đây là một phiên bản. Đây là một cái khác. Nó hỗ trợ nhiều chức năng liên quan đến Trường và Miền, bao gồm thay đổi loại trường, tên, bí danh, tên miền, v.v. trong MS Excel và tải lên các thay đổi trở lại vào GDB.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.