Các lát bản đồ tùy chỉnh có thể được sử dụng qua ArcObjects trong ArcGIS 10 Desktop AddIn của tôi không?


8

Tôi có thể lập trình tiêu thụ và hiển thị các lát bản đồ tùy chỉnh trong ArcMap thông qua AddG ArcGIS 10 Desktop của chúng tôi không?

AddIn được xây dựng bằng SDK ArcObjects cho C # /. NET và ArcGIS 10. Kéo và kết xuất các ô bản đồ KHÔNG phải là chức năng chính của AddIn. Nhưng chúng tôi chắc chắn muốn thực hiện tính năng này nếu nó có thể được thực hiện.

Cụ thể hơn:

  • Tôi đã nhận được một mẹo rằng giao diện ITiledMapServer2 có liên quan nhưng tôi không rõ ràng và có một thông tin nhỏ trong các tài liệu ArcObjects liên quan đến nhiệm vụ này. Lớp tương đương trong ArcGIS for Flex API là TiledMapServiceLayer, nhưng một lần nữa, đây là AddMap ArcMap trong không gian máy tính để bàn, không phải là ứng dụng web.
  • Chúng tôi có phần mềm nội bộ để tạo các ô riêng của mình trong cùng một chế độ thu phóng, ô Y, ô X của ô giống với các API JS / Flash của Google maps.
  • Chúng tôi đang sử dụng Apache để phục vụ các lát bản đồ và do đó hiện không sử dụng ArcGIS Server theo bất kỳ cách nào (nghĩa là tác giả các lát, xuất bản dưới dạng dịch vụ bản đồ ArcGIS Server, v.v.).
  • Tôi đã đăng câu hỏi lên SO và nhận được đề nghị đăng ở đây.

Cảm ơn bạn trước.


Nếu tất cả những gì bạn đang cố gắng làm là lấy các ô bản đồ trên Máy chủ ArcGIS, tại sao không thêm dịch vụ dưới dạng một lớp trong MXD của bạn?
Michael Todd

Anh ấy nói "không có máy chủ ArcGIS" - chỉ nói thẳng về Apache, nếu không, nó thật đơn giản, như bạn nói.
Thảo dược

Cảm ơn Michael. Bởi vì các ô không có trên Máy chủ ArcGIS hoặc theo bất kỳ cách nào được phục vụ bởi Máy chủ ArcGIS. Đây là các ô tùy chỉnh của chúng tôi hiện đang được phục vụ bởi một máy chạy Apache do chúng tôi quản lý. Tại sao? Chúng tôi có các ứng dụng web khác nhau bằng API bản đồ của Google và API ArcGIS cho Flex tiêu thụ các ô này. Và thật tuyệt khi chỉ đơn giản là cõng trên cơ sở hạ tầng này trong Desktop AddIn của chúng tôi. Nếu phục vụ các lát của chúng tôi như một dịch vụ bản đồ được xuất bản qua ArcGIS Server là cách duy nhất để làm điều này, thì tốt thôi - chỉ muốn biết điều đó ở phía trước.
Josh

. "máy chủ gạch hình ảnh" của riêng bạn từ đầu. Sẽ dễ dàng hơn rất nhiều khi để một công cụ viết sẵn thực hiện công việc của nó (nếu bạn có quyền truy cập vào nó) hơn là tự viết nó.
Michael Todd

Câu trả lời:


8

Tôi nghĩ rằng bạn đang xem xét việc thực hiện một lớp tùy chỉnh. Tôi không biết làm thế nào khác bạn kết xuất dữ liệu trong ArcMap. Bên ngoài một bài tập hoàn toàn học tập, tôi đã không làm điều đó. Có một trang thông tin bắt đầu có sẵn ở đây , với một danh sách các giao diện tối thiểu bạn cần thực hiện. Về mặt tích cực, có một mẫu nhà phát triển. Mặt trái là bạn đang bước vào lãnh thổ phát triển không tầm thường. Vui, nhưng không tầm thường.

Hoặc bạn có thể nhìn vào những gì các chàng trai trong dự án mã hóa ArcBruTile đã làm, trông rất giống với những gì bạn đang cố gắng.


Vâng, các lớp tùy chỉnh là con đường để đi. Nó không tầm thường, nhưng cũng không phải là một nhiệm vụ khó khăn. Vì bạn sẽ vẽ các raster chứ không phải vectơ, phần khó nhất sẽ là vẽ các bitmap ở đúng vị trí trên bối cảnh thiết bị Win32. Tôi cũng rất muốn giới thiệu một số loại logic bộ nhớ đệm trong bộ nhớ.
Petr Krebs

@petr_k - Ngay trên tiền với bộ nhớ đệm là rất quan trọng - lưu lượng truy cập mạng sẽ giết chết hiệu suất của bạn nếu không. Những kẻ trong trang web codeplex được tham chiếu (yêu cầu) đã xử lý vấn đề này. Tôi đã không xem qua mã của họ để xem họ quyết định thời gian treo trên gạch là bao lâu.
Herb

Các quý ông, cảm ơn cả hai. @Herb đặc biệt, cảm ơn rất nhiều vì liên kết codeplex đến dự án ArcBruTile. Nó thực sự trông giống như những gì chúng ta đang cố gắng làm. Tôi đã quét mã, bộ nhớ đệm dường như được xử lý bằng cách thử tải gạch đầu tiên từ đĩa. Không có ở đó à? Sau đó tải qua web sau đó ghi chúng vào đĩa.
Josh

@Josh - Rất vui được giúp đỡ - dự án ArcBruTile cũng là một công cụ thú vị đối với tôi. Bạn có quan tâm để đánh dấu câu hỏi "đã trả lời" không?
Herb

1

Bổ trợ dành cho chức năng cơ bản và các tùy chỉnh như Lớp tùy chỉnh sẽ yêu cầu giải pháp COM và có thể được thực hiện bằng cách sử dụng ArcObjects & .NET. Tuy nhiên, điều này không thể được thực hiện bằng Addins.


Có lẽ, nhưng chúng tôi có thể hoàn thành khá nhiều ở cấp độ AddIn được cung cấp API ArcObjects cho ArcGIS 10. Bản demo của AddIn: youtube.com/watch?v=m2YRrCk3aKI
Josh
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.