2011-01-07 38 views
13

Chúng tôi đang làm việc trên một dự án để thêm dữ liệu bản đồ vector từ OSM và NAVTEQ vào một ứng dụng iOS iOS.Thêm dữ liệu bản đồ vector vào ứng dụng iOS iOS. Thời gian thực đồ họa vector rendering

Hiện tại, ứng dụng hiển thị hình ảnh bản đồ raster và cung cấp các tính năng điều hướng bản đồ di chuyển. Bây giờ chúng ta muốn tiến thêm một bước nữa bằng các bản đồ vector tích hợp nhưng không biết bắt đầu từ đâu.

Hướng dẫn từ nhà phát triển có kinh nghiệm về điều hướng GPS sẽ tuyệt vời.

Dưới đây là tóm tắt về các yêu cầu:

Devices Target: iOS. C++ được ưu tiên cho lõi để tương thích với các nền tảng khác trong tương lai.

Tích hợp dữ liệu và đóng gói: Bản đồ nguồn dữ liệu: - NAVTEQ - OpenStreetMap

định dạng File: - Rất lý tưởng cho các thiết bị di động với cân nhắc hạn chế thiết bị. - Hoặc tìm một định dạng đã được thiết lập hoặc tạo một định dạng trong nhà.

Biên soạn: - Xác định một định dạng cho dữ liệu nguồn (SHP, MapInfo vv) - Soạn định dạng nguồn sang định dạng yêu cầu.

Bản đồ công cụ rendering: Hiển thị bản đồ: - Vector xem bản đồ sẽ được tách biệt với giao diện bản đồ raster hiện hành. - Hiển thị dữ liệu thành các dòng, điểm, đa giác, v.v ... trong thời gian thực. Tiled hoặc pre-rendered là không thể chấp nhận được. - Chế độ xem chim cánh cụt 2D. (3D được lên kế hoạch cho các phiên bản sau). - Giảm bóng để minh họa độ cao. - Hiển thị dữ liệu do người dùng tạo, chẳng hạn như tuyến đường, tuyến đường, điểm tham chiếu. - Tỷ lệ, ví dụ: 500 mét. - Hiệu suất nhanh là điều cần thiết để cung cấp trải nghiệm người dùng tốt hơn. - Ví dụ hay là ứng dụng Tom Tom iOS. Tương tác bản đồ: - Xoay, Thu phóng, xoay. - Sử dụng chức năng cảm ứng đa điểm. Tìm kiếm - Địa chỉ, địa điểm, POI (Geo Coding) - Địa chỉ từ vị trí (Reverse Geo Coding)

Style Sheets - Dễ dàng tùy biến giao diện của bản đồ được hiển thị. - Mọi yếu tố đều có thể được cusomised.

Chúng tôi muốn tìm ra nơi để bắt đầu nghiên cứu của chúng tôi. Thư viện và SDK nào ở ngoài kia đáng để dành thời gian điều tra?

Trả lời

0

Thử thư viện MapBox: http://mapbox.com/

+0

MapBox là dựa trên nền tảng phải không? –

+0

Họ đang làm việc trên gạch vectơ! http://mapbox.com/blog/vector-tiles/?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+macstoriesnet+(MacStories) –

2

Một số lưu ý dựa trên kinh nghiệm của tôi:

định dạng dữ liệu Nguồn: có thể bạn sẽ muốn để có thể nhập dữ liệu từ shapefile ESRI và OpenStreetMap (mà đến như là XML hoặc một định dạng nhị phân nhỏ hơn nhưng tương đương).Dữ liệu NAVTEQ có thể thu được dưới dạng shapefile ESRI. Có thể thu được sự trợ giúp bóng mờ bằng cách xử lý dữ liệu chiều cao USGS (http://dds.cr.usgs.gov/srtm/).

2D so với 3D: bước từ điểm này sang bước kia là bước lớn nhất. Dữ liệu 2D gần như luôn được cung cấp dưới dạng vĩ độ và kinh độ và được chiếu lên máy bay: Google Maps và OpenStreetMap sử dụng phép chiếu Mercator hình cầu rất đơn giản nhưng bị lệch hướng. Chuyển sang 3D yêu cầu quyết định về hệ tọa độ - mặt phẳng dự kiến ​​cộng với chiều cao so với 3D thực dựa trên hình dạng của trái đất - và có thể là các vấn đề liên quan đến mức độ chi tiết. Một cách tốt để tiến hành có thể là vẽ hình dạng của trái đất (các ngọn đồi và thung lũng) dưới dạng lưới tam giác, sau đó treo phần còn lại của bản đồ lên đó làm kết cấu. Bạn có thể muốn xem xét "hai và một nửa D" - bằng cách sử dụng một chuyển đổi phối cảnh để hiển thị bản đồ như thể xem nó từ một chiều cao.

Thư viện: có danh sách khá lớn các thư viện hiển thị bản đồ here, cả thương mại lẫn phi thương mại (tiết lộ: tôi là một trong số đó). Nhiều thư viện trong số các thư viện này có các hệ thống bảng định kiểu để tùy chỉnh giao diện bản đồ.

Thư viện kết xuất nguồn mở rất tốt (không phải của tôi) là Mapnik, nhưng tôi không chắc chắn liệu cổng đó có dễ dàng chuyển sang iOS hay không. Tuy nhiên, bạn nên đọc kỹ cách thức mà Mapnik và các thư viện dựng hình khác thực hiện công việc của họ, để có được cảm nhận về vấn đề này. Wiki OpenStreetMap là một cổng thông tin tốt để tìm hiểu thêm về lĩnh vực này.

Hiển thị văn bản trên bản đồ hầu như luôn được thực hiện bằng cách sử dụng FreeType, thư viện trình mở rộng mã nguồn mở với giấy phép không hạn chế.

0

Có một danh sách trên OSM Wiki nhưng thật đáng buồn là không hoàn thành.

Hai thư viện véc tơ mà tôi biết là CartoType (mà bạn có thể thấy đang sử dụng trong Lonely Planet Guides) và Skobbler - Skobbler mới không có sản phẩm giá nhưng tôi tin họ sẽ tích hợp bản đồ vectơ và định tuyến cho bạn.

Ngoài ra còn có một câu hỏi liên quan trên OSM StackExchange

Các vấn đề liên quan