Tôi chỉ cần một trong các trường chứa chuỗi ngày. Sử dụng arcMap, tôi có thể giải quyết điều này bằng cách sử dụng máy tính trường để giải nén nó. Nếu bạn chỉ cần trích xuất một vài trường, điều này có thể phù hợp với bạn, mặc dù hơi tẻ nhạt:
Các bước sau đây sẽ giúp bạn xây dựng một dòng VB để sử dụng trong máy tính trường để cắt một chuỗi con từ trường mô tả dựa trên các thẻ HTML và phần dữ liệu được lưu trữ trong bảng của bạn.
- Trong GoogleEarth, mở KML / KMZ của bạn, nhấp vào một tính năng để mở cửa sổ bật lên. Xác định tên chính xác của lĩnh vực bạn muốn thử lại. Của tôi được gọi là "NGÀY"
- Trong ArcMap, mở bảng thuộc tính của lớp mà bạn đã tạo khi nhập KML / KMZ.
- Xác định trường mô tả. Trong dữ liệu của tôi, nó được gọi là "PopupInfo"
- Trong bản ghi đầu tiên, nhấp chuột phải vào ô "PopupInfo" và nhấp vào "sao chép"
- Mở Notepad và dán nội dung của ô. Bây giờ bạn sẽ thấy HTML cho cửa sổ bật lên.
- Sử dụng ctrl-F để tìm tên trường từ KML / KMZ (trong trường hợp của tôi là "DATE"). Đây là một ảnh chụp màn hình chỉ hiển thị dòng HTML tôi quan tâm.
- Đếm số lượng ký tự, bao gồm khoảng trắng từ đầu tên trường cho đến khi bắt đầu dữ liệu của bạn. Trong trường hợp của tôi có 15 ký tự.
- Xác định có bao nhiêu ký tự bạn muốn trích xuất. Đối với chuỗi con của tôi, tôi cần 19. Ví dụ: nếu bạn chỉ cần các mã trạng thái như AZ và WY, bạn có thể chỉ cần 2. Nếu dữ liệu của bạn không có các mục có độ dài nhất quán trong trường này, lỗi ở phía dài nhất. Chỉnh sửa: bạn có thể xóa các ký tự phụ sau đó bằng tay hoặc bằng cách sử dụng các hàm VB () và rtrim (). Gửi hoặc nhắn tin cho tôi nếu bạn cần giúp đỡ với điều đó.
Trong arcMap, thêm một trường văn bản mới vào lớp của bạn và đảm bảo cung cấp cho nó ít nhất nhiều ký tự mà bạn cần cho dữ liệu của mình. Mặc định là 50.
Sau đó, mở máy tính trường cho trường mới của bạn. Bắt đầu dữ liệu được tìm thấy bằng hàm InStr () và dữ liệu được trích xuất bằng hàm Mid (). Gõ lệnh VB sau:
Mid([PopupInfo],InStr([PopupInfo],"DATE")+15,19)
Tất nhiên, hoán đổi tên trường của tôi cho tên của bạn (từ bước 3 và 6) và thay đổi độ dài của các số 15 và 19 thành độ dài của chuỗi con của bạn (tìm thấy trong bước 7 và 8).
Trong dòng VB ở trên:
- [PopupInfo] là tên của trường gây phiền nhiễu có chứa HTML cho cửa sổ bật lên KML.
- "NGÀY" là tên trường KML và thẻ HTML chứa dữ liệu mà tôi muốn trích xuất.
- 15 là số lượng ký tự từ đầu thẻ ngày đến bắt đầu dữ liệu ngày thực tế.
- 19 là số lượng ký tự trong chuỗi ngày mà chúng tôi muốn giữ lại.