Cách sử dụng API ESRI để ánh xạ các loại không gian của máy chủ SQL mà không cần ArcGIS Server


8

Tôi đã nghe nói về những người sử dụng API Javascript ESRI để tạo các bản đồ web với dữ liệu không gian từ SQL Server hoặc các RDBMS khác. Từ những gì tôi có thể nói, họ không sử dụng ArcGIS Server làm phần mềm trung gian. Đặc biệt, gần đây tôi đã nghe nói về một công ty sử dụng cơ sở dữ liệu SQL Server với các loại không gian và Entity Framework để liên kết cơ sở dữ liệu với ứng dụng, nhưng sau đó họ đang sử dụng API API ESRI ở mặt trước để hiển thị dữ liệu.

Đây là điều mà tôi thực sự quan tâm khi tôi đã làm việc với SQL Server, Entity Framework, ASP.Net và API API và tôi không có quyền truy cập vào ArcGIS Server. Có ai biết về một kiến ​​trúc hoặc quy trình công việc cụ thể chỉ đơn giản là sử dụng API API làm giao diện người dùng cho phụ trợ không ESRI không?


1
Câu trả lời ngắn gọn là gửi dữ liệu dưới dạng JSON từ một dịch vụ. Nhưng để xem điều đó có khả thi hay không, bạn sẽ cần trả lời các câu hỏi như: Bạn muốn hiển thị loại dữ liệu nào trên bản đồ? Có bao nhiêu tính năng? có bao nhiêu lớp
Devdatta Tengshe

1
Một tùy chọn khác là sử dụng Geoserver để phân phát dữ liệu được lưu trữ trong MS SQL Server: docs.geoserver.org/2.1.3/user/data/sqlserver.html
Devdatta Tengshe

@DevdattaTengshe - Nếu tôi tạo một dịch vụ JSON, tôi có cần cấu trúc JSON của mình để bắt chước cấu trúc được sử dụng bởi API API không. Chẳng hạn, tôi có cần phục vụ các bảng của mình dưới dạng FeatureLayerđối tượng không? Bây giờ tôi đang làm việc trên một dự án sử dụng ArcGIS Online và API API. Vấn đề là tôi không thể thực hiện bất kỳ xử lý nào trong AGOL nên mọi tính toán phải được thực hiện phía máy khách. Tôi chỉ làm việc với một vài lớp, nhưng một số trong số chúng có thể có hàng trăm ngàn tính năng.
Brian

@DevdattaTengshe - Tôi đã nghe nói về Geoserver và thực sự muốn dùng thử một ngày nào đó. Tôi vẫn không chắc chắn làm thế nào tôi sẽ sử dụng Geoserver với một ứng dụng web phía máy chủ bằng cách sử dụng một cái gì đó như ASP.Net và Entity Framework. Tôi sợ rằng tôi sẽ chạy vào cùng giới hạn với Geoserver mà tôi đang thấy với AGOL.
Brian

Có, bạn sẽ phải bắt chước định dạng ERSI JSON để dễ tương tác.
Devdatta Tengshe

Câu trả lời:


5

Chỉ cần thêm chi tiết, khi bạn tạo một dịch vụ để trả về JSON từ SQL Server, sau đó bạn sẽ sử dụng đối tượng bộ sưu tập tính năng để tạo một lớp mới trên bản đồ. Từ javascript, bạn sẽ lấy các thuộc tính và thành phần không gian được trả về từ dịch vụ của bạn và định dạng nó thành định dạng hình học Esri để tạo bộ sưu tập tính năng.

Máy chủ của bạn càng trả về một định dạng như định dạng Esri, bạn càng phải phân tích cú pháp ít hơn trên máy khách. JSON khá dễ dàng để phân tích cú pháp một khi bạn hiểu rõ về nó.

Bộ sưu tập tính năng được hiển thị sẽ là một lớp đồ họa trên bản đồ. Bạn có thể có một Esri hoặc bản đồ cơ sở công cộng khác bên dưới. Một vấn đề bạn sẽ có là hiệu suất khi bạn bắt đầu tiếp cận hàng ngàn tính năng - đặc biệt nếu chúng có nhiều đỉnh trên mỗi hình học. Các dịch vụ tính năng trên máy chủ ArcGIS theo mặc định trả lại tối đa 1000 bản ghi.

Theo như tính toán, bạn nên thực hiện chúng với SQL (nó có các phần mở rộng không gian) trong cơ sở dữ liệu trước khi trả chúng lại cho máy khách. Nếu bạn đang cố gắng hiển thị hàng trăm nghìn tính năng, bạn sẽ phải sử dụng Geoserver hoặc UMN Mapserver và trả lại chúng dưới dạng WMS hoặc dịch vụ lát gạch - bạn không thể hiển thị nhiều đồ họa trong trình duyệt.

Kiểm tra mẫu này trong đó một lớp được tạo từ nguồn cấp dữ liệu Flickr. Không có máy chủ ArcGIS nào tham gia - http://developers.arcgis.com/en/javascript/jssamples/fl_featureCollection.html


1
Tôi quan tâm đến cách tạo một dịch vụ trả về JSON từ SQL Server, được định dạng tốt để API Esri phân tích cú pháp.
MLowry

2
Liên kết này sẽ giúp bạn tạo dịch vụ trả về Json arcgis.com/home/item.html?id=6d28a606369c43fd9a6f929541ae7c93
Gunner

@Gunner đó là một mẫu đẹp
awesomo

2

nhập mô tả hình ảnh ở đây

Cách sử dụng Dữ liệu không gian SQL với WCF ODATA Spatial có thể là một cách. Vì OData được phát triển sau thông số REST của Esri và với sự tham gia nhiều hơn với Microsoft, nó có thể trưởng thành hơn một chút.


Đó là một liên kết tốt. Đây là một cách tốt để chỉ tạo một dịch vụ JSON đơn giản từ SQL Server mikeledgeledridease.com/pages/Service/WebService-Page2.htmlm
awesomo
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.