Yalnızca bir tarih dizesi içeren alanlardan birine ihtiyacım vardı. ArcMap kullanarak, bunu ayıklamak için alan hesap makinesini kullanarak çözmeyi başardım. Sadece birkaç alanı çıkarmanız gerekiyorsa, bu biraz sıkıcı da olsa sizin için işe yarayabilir:
Aşağıdaki adımlar, HTML etiketlerine ve tablonuzda depolanan verilerin açıklamasına göre açıklama alanından bir alt dizeyi kesmek için alan hesaplayıcısında kullanmak üzere bir VB satırı oluşturmanıza yardımcı olacaktır.
- GoogleEarth'te KML / KMZ'nizi açın, açılır pencereyi açmak için bir özelliği tıklayın. Yeniden elde etmek istediğiniz alanın tam adını belirleyin. Benimki "DATE"
- ArcMap'te, KML / KMZ'yi içe aktarırken oluşturduğunuz katmanın öznitelik tablosunu açın.
- Açıklama alanını tanımlayın. Verilerime "PopupInfo" deniyor
- İlk kayıtta, "PopupInfo" hücresini sağ tıklayın ve "kopyala" yı tıklayın
- Not Defteri'ni açın ve hücrenin içeriğini yapıştırın. Artık pop-up için HTML'yi göreceksiniz.
- KML / KMZ'den alan adını bulmak için ctrl-F tuşunu kullanın (benim durumumda "DATE"). İşte önem verdiğim HTML satırını gösteren bir ekran görüntüsü.
- Alan adının başından verilerinizin başlangıcına kadar olan boşluklar da dahil olmak üzere karakter sayısını sayın. Benim durumumda 15 karakter var.
- Kaç karakter çıkarmak istediğinizi belirleyin. Alt dize için 19'a ihtiyacım var. Örneğin, AZ ve WY gibi durum kodlarına ihtiyacınız varsa, sadece 2'ye ihtiyacınız olabilir. Verileriniz bu alanda tutarlı uzunluk girişlerine sahip değilse, en uzun tarafındaki hata. Düzenleme: Ek karakterleri daha sonra manuel olarak veya instr () ve rtrim () VB işlevlerini kullanarak kaldırabilirsiniz. Bu konuda yardıma ihtiyacınız olursa bana mesaj gönderin veya mesaj gönderin.
ArcMap'te, katmanınıza yeni bir METİN alanı ekleyin ve alanınıza verileriniz için en az ihtiyacınız olan karakteri verdiğinizden emin olun. Varsayılan 50'dir.
Ardından, yeni alanınız için alan hesaplayıcısını açın. Verilerin başlangıcı InStr () işlevi kullanılarak bulunur ve veriler Mid () işlevi kullanılarak çıkarılır. Aşağıdaki VB komutunu yazın:
Mid([PopupInfo],InStr([PopupInfo],"DATE")+15,19)
Tabii ki, alan adlarını kendiniz için değiştirin (3. ve 6. adımlardan) ve 15 ve 19 sayılarının uzunluğunu alt dizelerinizin uzunluğuna değiştirin (7. ve 8. adımlarda bulunur).
Yukarıdaki VB satırında:
- [PopupInfo], KML pop-up HTML'sini içeren can sıkıcı alanın adıdır.
- "DATE", ayıklamak istediğim verileri içeren KML alan adı ve HTML etiketidir.
- 15, tarih etiketinin başlangıcından gerçek tarih verisinin başlangıcına kadar olan karakter sayısıdır.
- 19, tarih dizesindeki tutmak istediğimiz karakter sayısıdır.