Hi chúng ta,
Bạn đang xem: tile là gì
Nay tất cả chúng ta lên đường khá thâm thúy 1 chút nhập khuôn structure của Map nhưng mà tất cả chúng ta hoặc xài nhé. Cụ thể là OpenStreetMap, Google Map,…
Bài này mang tính chất nghiên cứu và phân tích và tìm hiểu hiểu mang đến bik là nhiều nhé 😀
1/ Tile là gì?
Để hiểu giản dị nhập cuộc sống đời thường, hãy nom xuống bên dưới khu đất nếu như nhà/văn phòng/cty các bạn với sàn gạch ốp thì tile là một trong miếng gạch ốp sàn tê liệt. Từ tê liệt nhiều miếng nó ghép lại tiếp tục trở nên 1 khuôn nền căn nhà đẹp tươi cho mình.
Map Engine nó cũng hoạt động và sinh hoạt như thế. Khi chúng ta tại 1 địa điểm ở map, zoom lên zoom xuống thì nó sẽ bị lấy những khuôn tọa độ (XYZ) tiles xung xung quanh screen các bạn coi và ghép lại trở nên 1 khuôn map.
Ví dụ theo gót hình:
Theo hình này, 1 tile là một trong miếng tê liệt chúng ta, và nhiều tiles tiếp tục ghép lại trở nên 1 khuôn map bên trên địa điểm nhưng mà các bạn đang được coi.
Và lúc này, tớ với 2 loại Tile là toàn cầu đang được dùng mang đến map, tê liệt là:
- Raster
- Vector
Cùng nhau tìm hiểu hiểu thêm thắt về 2 đặc điểm này nhé
2/ Raster Tile là gì?
Raster Tile là một trong loại tile bên dưới dạng hình ảnh, thông thường với định hình là .png hoặc .jpg.
Đối với vẹn toàn phiên bản OpenStreetMap thì bọn họ nên render rời khỏi những tile này nhằm đáp ứng người tiêu dùng. Hình như thì cũng có thể có render-on-demand, tức là Lúc khuôn tile ở tọa chừng XYZ tê liệt chưa tồn tại thì server tiếp tục fải render khuôn hình tê liệt. Quá trình render nhanh chóng hoặc lờ đờ tiếp tục tùy nằm trong vào:
- Cấu hình server – vô cùng cần thiết mang đến việc render tương đương performance tuning mang đến khuôn DB khi chúng ta xài SSD.
- Map DB – một trong những phần, tuy nhiên phần rộng lớn những indexes đang được dc tạo nên không thiếu.
3/ Vector Tile là gì?
Vector Tile là khuôn tile bên dưới dạng vector, phần lớn sẽ có được ext là .pbf . Map Client tiếp tục sử dụng WebGL engine nhằm render rời khỏi khuôn map cho những người sử dụng thấy.
Đa số từng vector tile đều fải render sẵn trước lúc dùng và toàn bộ những vector tệp tin sẽ tiến hành nén nhập 1 tệp tin với định hình là .mbtiles (về cơ phiên bản nó là SQLite cải tiến).
Xem thêm: thu ăn măng trúc đông ăn giá
Google Map và một trong những provider như MapBox đã và đang và đang được xài sử dụng phương pháp này kể từ rất mất thời gian 😀
Một single Vector Tile nó rất có thể chứa chấp cực kì nhiều vấn đề, vậy nên nó rất có thể react tận 250~500kb cho một single tệp tin, thậm chí còn là vài ba megabytes 😀
Render-on-demand? Có tuy nhiên setup khá phức tạp.
4/ So sánh thân ái Raster Map Tile và Vector Map Tile
Điểm mạnh mẽ của Raster Tile:
- Nhẹ (vì là tấm hình thoy, từng vấn đề đang được dc render nhập hết), phần lớn là một tấm jpg 256×256 vô cùng nhẹ nhõm, load nhanh chóng.
- Thích phù hợp với toàn cỗ platform (web, mobile)
- Nhiều Map Client tương hỗ.
- Dễ cache bên trên CDN
Điểm yếu ớt của Raster Tile:
- Không với dynamically styling được. Mỗi chuyến với new style, các bạn nên xóa toàn bộ map tiles đang được render và render lại từ trên đầu.
- Không tương tác được với những POIs bên trên map.
- Muốn Map với Language-Specific, fải tự động render rời khỏi 1 version tuy nhiên song nữa => Tốn Storage và Thời Gian
- 1 chuyến nhưng mà zoom in nhiều level 1 khi tiếp tục dẫn cho tới hiện tượng vỡ hình cũ => xấu xí.
====
Điểm mạnh mẽ của Vector Tile:
- Dynamically Styling Map được, và ko cần thiết fải render lại bất kể cái gì. Chỉ giản dị là apply config và show rời khỏi 😀
- Vì toàn cỗ vấn đề nằm trong Tile nên specific language rất dễ dàng, cũng apply config nhập client là đoạn.
- Zoom In loại gì rồi cũng ko vỡ, đẹp tươi và mượt
Điểm yếu ớt của Vector Tile:
- Khá nặng trĩu về phần data, Lúc load đợi với Lúc khá lâu
- Browser/Map Client fải render dc vector tile, với trang web thì browser cần thiết fải tư vấn WebGL
====
Cả 2 đều sở hữu 2 điểm yếu kém là:
- Structure nhằm cache bên trên CDN khá là rất khó và cũng cần phải tương đối nhiều storage vì như thế con số Tiles lên đến mức vài ba chục tỷ ở Zoom 18 (tối nhiều zoom 22, tuy nhiên 18 là deep lắm rồi).
- Render rời khỏi cần thiết cực kì nhiều resources (phần cứng).
- Mỗi chuyến update map theo gót OSM db thì fải render lại (1 phần đang được update)
5/ Kết luận
Vậy nên, với 2 loại Tile này. Khi các bạn biết dc điểm mạnh/yếu và nhu yếu của chúng ta => các bạn sẽ lựa chọn dc 1 Map Tile mến thống nhất nhằm dùng và serving your own map tiles 😀
Cám ơn chúng ta đang được quan hoài theo gót dõi. Về ưu thế điểm yếu kém bản thân vẫn tiếp tục update thêm thắt, giờ chỉ lưu giữ nhiu tê liệt 😀
Xem thêm: ai là người lãnh đạo cuộc khởi nghĩa lam sơn
Bình luận