Tạo gạch Vector cho Polymaps


14

Ok, có lẽ tôi rất tệ vì đã không đến được WhereCamp5280 và hỏi trực tiếp các chuyên viên máy tính FortiusOne, nhưng quá trình tạo GeoJSON 'gạch' để sử dụng trong Polymaps là gì?

Ví dụ về Dân số tại polymaps.org lưu ý rằng dữ liệu cho bản demo chạy trên Google AppEngine và ám chỉ đến việc "cuộn" các ô vector của riêng bạn, nhưng dường như tôi không thể tìm thấy thêm thông tin nào ...

Bất cứ ai cũng có một số cái nhìn sâu sắc mà họ có thể chia sẻ?

Cảm ơn!

Câu trả lời:


12

TileStache chắc chắn sẽ làm điều đó, cụ thể là nhà cung cấp PostGeoJSON trong bộ sưu tập các nhà cung cấp bổ sung . Sự khác biệt chính giữa điều này và những gì chúng tôi đã làm cho các ví dụ về Polymaps là cắt đa giác - sau khi thấy Alaska có thể thu được mức độ phóng to cao hơn như thế nào, chúng tôi đã cắt tất cả các tính năng trong các ví dụ về Polymaps để giảm thời gian tải, v.v. Chúng tôi cũng đã lưu trữ chúng ngoài AppSpot để có thể thêm tiêu đề Access-Control-Allow-Origin cho quyền truy cập tên miền chéo.

PostGeoJSON không cắt xén, nhưng như đã nói trong các tài liệu tôi rất vui lòng phát triển mã hơn nữa nếu có hứng thú!

Cập nhật: Có vẻ như kể từ Tilestache 1.9.0, Nhà cung cấp Vector dường như được ưa chuộng hơn Nhà cung cấp PostGeoJSON .


2
Xem bình luận bên dưới: Tôi đã cập nhật nhà cung cấp PostGeoJSON để thân thiện với Polymaps
Michal Migurski

4

Tôi chắc chắn đã tự hỏi về điều này vì đây là thứ tôi muốn sử dụng trong Tile5 (http://tile5.org/). Tôi đã thấy Mike Bostock (người đã làm việc với Stamen để sản xuất Polymaps) trả lời qua Twitter về chủ đề này trước đây và đây là liên kết:

http://twitter.com/#!/mbostock/status/27659816563

Chắc chắn muốn tìm một giải pháp độc lập tốt cho vấn đề. Một vài sản phẩm trông giống như các bước đi đúng hướng là:

  • Tilestache (http://tilestache.org/)
  • Geocouch (https://github.com/vmx/couchdb)

Sẽ được xem câu hỏi này với sự quan tâm.

Chúc mừng

Chết tiệt.


Rõ ràng tôi chỉ có thể nhận xét về câu trả lời của riêng mình: /
Damon Oehlman

@Michal - Chắc chắn rất thích xem cắt được thêm vào TileStache - bất kỳ khả năng nào nó cũng xử lý tham số gọi lại? Tôi biết JSONP không phù hợp với thị hiếu của mọi người, nhưng tôi nghĩ nó sẽ khá hữu ích ở đây ...
Damon Oehlman

Tôi chắc chắn có thể thêm cắt vào TileStache - sẽ đưa nó vào danh sách! Ít chắc chắn hơn về một cuộc gọi lại, chủ yếu là vì các kết quả được cho là hoàn toàn có thể lưu trong bộ nhớ cache và các cuộc gọi lại phá vỡ điều đó. Có lẽ tôi đặc biệt ngoại trừ JSON vì đó là nhu cầu chung ...
Michal Migurski

Điểm tốt bộ nhớ đệm lại trên mặt trước JSONP. JSONP vẫn phải được lưu trữ khá nhiều bộ nhớ gọi trong bản đồ URL trực tiếp đến trình bao bọc hàm trong đầu ra. Nó chắc chắn sẽ gây ra sự phình to bộ đệm mặc dù đó sẽ là một nỗi đau. Tôi nghĩ rằng tôi có thể rẽ nhánh trên Github và chơi (thời gian cho phép) :)
Damon Oehlman

Được rồi, tôi đã thêm cắt như một tùy chọn trong TileStache: tilestache.org/doc/iêu
Michal Migurski

2

Bạn có thể sử dụng ogr2ogr để tạo tệp GeoJSON tĩnh để phục vụ , nhưng có vẻ như trước đây bạn phải viết các dịch vụ web của riêng mình nếu bạn muốn bật chức năng cắt hoặc bất kỳ chức năng URL động nào khác (mức thu phóng, v.v.) và tôi không biết bất kỳ công cụ ốp lát nào sẽ tạo bộ đệm ẩn của tập dữ liệu, nhưng một lần nữa có thể được thực hiện khá dễ dàng với quy trình hàng loạt và các -clip*tùy chọn khác nhau của ogr2ogr . Mặc dù đối với dữ liệu vectơ, điều này dường như không có ý nghĩa vì nó sẽ cắt đa giác thành từng mảnh trên mỗi ô khi chúng trùng nhau, có lẽ bạn sẽ tốt hơn với tìm kiếm hộp giới hạn.


2

Dave - Dường như có một khoảng trống để điền vào đây. Một máy cắt gạch json độc lập đẹp sẽ rất tốt để có (& tốt cho những người không sử dụng cá rô phi). Kiểm tra mô-đun python Bloch (thông qua M. Migurski): https://github.com/migurski/Bloch (nghĩ mapshaper.org trên dòng lệnh & python).

Như Jason đã chỉ ra quá trình ốp lát dữ liệu khá đơn giản và có thể được thực hiện khá nhanh bằng cách sử dụng một cái gì đó như gdal2tiles làm điểm khởi đầu và đưa nó vào thế giới vectơ.

Chris

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.