Sử dụng trang hướng dữ liệu (DDP) để tạo tập hợp bản đồ có cùng mức độ nhưng các lớp khác nhau?


9

Có thể sử dụng công cụ Trang hướng dữ liệu (DDP) trong ArcMap hoặc ArcPy để tạo một bộ bản đồ với cùng mức độ nhưng hiển thị các lớp khác nhau không?

Để làm rõ, tôi thường xuyên tạo các bộ bản đồ lớn cho tất cả các dự án ở cùng một vị trí thường có cùng một tầng hầm nhưng được sửa đổi để tập trung vào các khía cạnh khác nhau cho phần báo cáo như vị trí giám sát, sử dụng đất, các tính năng chính, v.v. yêu cầu .mxds riêng biệt được tạo và duy trì.

Một hệ thống loại DDP sẽ cho phép tôi sử dụng văn bản động và đảm bảo mẫu / đầu ra tiêu chuẩn xuyên suốt, nó cũng sẽ giúp cuộc sống dễ dàng hơn rất nhiều khi cập nhật một số liệu chung hoặc nhận xét vì một báo cáo được viết bằng một .mxd thay vì nhiều cho một khách hàng

Tôi đang sử dụng ArcMap 10.1, nhưng đã đọc qua trợ giúp trực tuyến DDP của ArcGIS, tôi cho rằng điều này sẽ phải được thực hiện với ArcPy vì tôi không thể tìm ra cách thực hiện trong ArcMap. Tôi biết rằng QGIS có Plugin Atlas , mặc dù tôi không quen thuộc với các khả năng của nó nhưng sẽ vui vẻ sử dụng nó như một giải pháp thay thế.


1
Tôi nghĩ rằng những gì bạn đang tìm kiếm là kịch bản thay đổi tài liệu bản đồ của bạn bằng Python bằng cách sử dụng bộ công cụ arcpy.micking . Xem tài liệu tham khảo để xây dựng sách bản đồ hoàn chỉnh , và cụ thể hơn trong tài liệu, "Sách bản đồ loạt tham khảo đơn giản".
RyanKDalton

Câu trả lời:


4

Đây là suy nghĩ của tôi về mã giả: bạn sẽ nhận được MapDocument của bạn, sau đó là ListDataFrames, sau đó là ListLayers. Sau đó, bạn sẽ có thể lặp lại qua các Lớp, chuyển đổi thuộc tính Hiển thị của Layer trên, ExportToPDF (hoặc bất cứ thứ gì), sau đó tắt Hiển thị lại và chuyển sang Lớp tiếp theo. Nếu bạn muốn để lại một số lớp nhất định trên các lớp cơ sở, có lẽ bạn có thể nhóm các lớp bạn muốn thay đổi cho mỗi bản đồ và chỉ chuyển đổi mức độ hiển thị cho các lớp đó bằng cách thử nghiệm cho IsgroupLayer = True? Có lẽ ai đó có một ví dụ mã thực tế ...


Tôi chưa bao giờ tìm thấy một giải pháp Arc tích hợp cho vấn đề này, nhưng một đồng nghiệp hiện đã phát triển một kịch bản python cho quy trình tuân theo cấu trúc cơ bản mà bạn đề xuất. Kịch bản sử dụng các nhóm để tạo một trang mới trong pdf và có thể được kết hợp với DDP để tạo một bản đồ với một bộ bản đồ cho nhiều trang web.
MAJ742

5

Một phương pháp miễn phí mã

Khi bạn bật các trang điều khiển dữ liệu, bạn có thể chỉ định truy vấn định nghĩa phụ thuộc vào số trang. Chỉ cần sử dụng truy vấn đó để ẩn tất cả các tính năng khỏi các lớp mà bạn không muốn hiển thị.

  1. Thiết lập các khung bản đồ của bạn ở cùng một vị trí, nhưng với một trường cho số trang. Thiết lập các trang điều khiển dữ liệu với số trang làm trường tên.
  2. Nếu bạn muốn bật một lớp cho một trang cụ thể, hãy thêm thuộc tính "trang" vào bảng của nó và đặt thành số trang có liên quan.
  3. Thêm Truy vấn Định nghĩa Trang vào lớp cụ thể với trường vừa tạo của bạn.

Khi trang được chọn, các lớp mong muốn sẽ hiển thị dựa trên truy vấn định nghĩa trang.


2
Tôi nghĩ rằng các truy vấn định nghĩa trang hoạt động tốt trong một số trường hợp, nhưng vấn đề là bạn phải thêm số trang có liên quan vào từng thuộc tính trong bảng dữ liệu và bạn không thể hiển thị cùng một tính năng trên nhiều trang vì bạn chỉ có thể tham chiếu một tính năng trang tại một thời điểm
MAJ742
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.