Tạo bảng tóm tắt về ký hiệu của tất cả các bộ dữ liệu trong nhiều MXD?


9

Điều này có liên quan đến hệ thống ký hiệu Giữ lại ESRI sau đây trong Mapinfo TAB . Là bước đầu tiên (trong arcpy), tôi muốn truy cập vào hệ thống ký hiệu của tất cả các bộ dữ liệu và tạo một tài liệu có các chi tiết về hệ thống ký hiệu theo hình bên dưới. nhập mô tả hình ảnh ở đây

Điều này có khả thi không (tôi nên đầu tư thời gian để giải quyết nó) hay nếu không thể, tôi sẽ phải bẻ khóa khi thực hiện thủ công trên hàng trăm MXD (: -

Để chia nhỏ các bước - hy vọng tôi có thể tự động hóa ít nhất một phần của quy trình.

  1. cuộn qua mxd và nhận các bộ dữ liệu đang bật không có vấn đề gì

    lyrFile = arcpy.micking.Layer if lyrFile.visible == True:

  2. vì nó tìm thấy một tập dữ liệu nên nó sẽ tạo một tệp .lyr (vì hầu hết chỉ là các tệp shp / gdb) và sau đó là AttribXXX = lyrFile.xxx

trong đó XXX và xxx là

BRIGHTNESS = lyrFile.brightness

(định dạng trên để làm theo)

CONTRAST contrast
DATASETNAME datasetName
DATASOURCE dataSource
DESCRIPTION description
LABELCLASSES labelClasses
LONGNAME longName
NAME name
SHOWLABELS showLabels
TRANSPARENCY transparency
WORKSPACEPATH A layer's workspace or connection file path

Vấn đề là tôi không thể tìm thấy bất cứ thứ gì có loại RGB, dòng / điểm / đa giác, trọng số dòng, phông chữ, v.v ... Nếu chúng có thể được tìm thấy thì bước tiếp theo

  1. ghi từng giá trị ở trên vào CSV (dễ dàng) ... ví dụ (điều này phải được mở rộng)

                    f = open(origPath+'\\LayerAtrributes_LOG.txt', 'a')
                    f.write(str(DATASETNAME)+","+str(DATASOURCE)+","+str(DESCRIPTION)+","+str(MXDName)+"\n")
                    f.close()
  2. Nếu có thể, một jpg của hệ thống ký hiệu nên được tạo ra như trong ví dụ và liên kết đến nó được thêm vào csv.

Am đang hỏi nhiều về Arcpy?


Điều này có thể có thể với ArcObjects nhưng chắc chắn không phải là Arcpy.
blah238

cảm ơn. Bất cứ ai có thể hỗ trợ xử lý arcobjects sau đó?
GeorgeC

Chỉ có thể chỉ cho bạn nơi bắt đầu: ArcObjects .NET SDK Help ; Làm việc với các biểu tượng và màu sắcLàm việc với các lớp và trình kết xuất . Nếu không có gì khác có lẽ sau khi đọc qua những điều đó, bạn sẽ có thể xác định các yêu cầu của mình chính xác hơn và giới hạn phạm vi công việc, bởi vì đó sẽ là rất nhiều công việc, tôi nghĩ vậy.
blah238

Đây là một mẫu VB6 cũ để xuất các ký hiệu kiểu: Kiểu kết xuất . Kiểm tra StyleDump.bas cho thịt của nó.
blah238

Câu trả lời:


3

Tôi đã giải quyết vấn đề tương tự bằng cách chuyển đổi tài liệu MXD sang MSD (chỉ là tệp zip) vì vậy nếu bạn thay đổi phần mở rộng thành ".zip" và mở nó, bạn sẽ tìm thấy một số tài liệu .xml chứa rất nhiều thông tin về cách mỗi lớp trong mxd được hiển thị. arcpy.ConvertToMSD Có thể có một số công việc liên quan đến việc lấy thông tin bạn muốn nhưng nó nên ở đâu đó. Mong rằng sẽ giúp!


Cảm ơn cho ý tưởng tinh tế này. Nó thực sự hữu ích. Mã được tạo trong xml khá phức tạp, bạn đã lập trình tự động chụp xml có liên quan chưa và nếu có bạn có thể chia sẻ nó không, nếu không tôi sẽ bắt đầu làm việc trên khía cạnh này.
GeorgeC

Tôi chỉ quan tâm đến hai giá trị trong xml nên mọi thứ tôi có sẽ rất khó để xây dựng. Nhưng có rất nhiều hướng dẫn xml python thực sự tốt ngoài đó vì vậy nếu bạn chuẩn bị dành thời gian để đọc thì tôi chắc chắn bạn sẽ giải quyết được vấn đề. Chúc mừng mã hóa :)
dango

2

Về cơ bản, điều này là không thể nhưng đã tìm ra một cách vòng để có được kết quả. Xem kịch bản python arcgis để phát hành công cụ cho kết quả cuối cùng.

Các câu hỏi khác để đi đến giai đoạn này là

Chuyển đổi kiểu ArcGIS (ký hiệu) sang phông chữ cho MapInfo / OpenGeo?

Giữ lại ký hiệu ESRI trong Mapinfo TAB

Tạo bảng tóm tắt về ký hiệu của tất cả các bộ dữ liệu trong nhiều MXD?

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.