Turf
_ Một hệ thống địa lý theo mô-đun được viết bằng JavaScript._
Turf là một JavaScript library cho spatial analysis. Nó bao gồm các hoạt động không gian truyền thống, các hàm trợ giúp để tạo dữ liệu GeoJSON và các công cụ phân loại dữ liệu và thống kê. Turf có thể được thêm vào trang web của bạn dưới dạng một plugin phía máy khách hoặc bạn có thể run Turf server-side với Node.js (xem bên dưới).
Cài đặt
Trong Node.js
# get all of turf
npm install @turf/turf
# or get individual packages
npm install @turf/helpers
npm install @turf/buffer
Trong trình duyệt
Tải về minified file, và bao gồm nó trong một thẻ script. Điều này sẽ tiết lộ một biến toàn cục có tên turf
.
<script src="turf.min.js" charset="utf-8"></script>
Bạn cũng có thể bao gồm nó trực tiếp từ một CDN:
<script src="https://cdn.jsdelivr.net/npm/@turf/turf@6/turf.min.js"></script>
TypeScript
Định nghĩa TypeScript được đóng gói với mỗi mô-đun. Không cần gói DefinitelyTyped.
Các ngôn ngữ khác
Các phiên bản của Turf.js có sẵn ở:
- Java (Android, Java SE)
- Swift (iOS, macOS, tvOS, watchOS, Linux)
Turf cho Swift là thử nghiệm và giao diện API công cộng của nó có thể thay đổi. Vui lòng sử dụng cẩn thận.
- Dart/Flutter (Dart Web, Dart Native; Flutter cho iOS, Android, macOS, Windows, Linux, Web)
Phiên bản Turf cho Dart vẫn đang được phát triển, trạng thái thực hiện có thể được tìm thấy tại README.
Dữ liệu trong Turf
Turf sử dụng GeoJSON cho tất cả dữ liệu địa lý. Turf mong đợi dữ liệu phải là tọa độ kinh độ, vĩ độ tiêu chuẩn WGS84. Xem geojson.io để biết công cụ để dễ dàng tạo dữ liệu này.
LƯU Ý: Turf mong đợi dữ liệu theo thứ tự (kinh độ, vĩ độ) theo tiêu chuẩn GeoJSON.
Hầu hết các hàm của Turf làm việc với các đối tượng GeoJSON. Đây là các phần dữ liệu đại diện cho một bộ sưu tập các thuộc tính (ví dụ: dân số, độ cao, mã bưu điện, v.v.) cùng với một hình học. GeoJSON có một số loại hình học như:
- Điểm (Point)
- Đường (LineString)
- Đa giác (Polygon)
Turf cung cấp một số hàm hình học riêng của nó. Chúng không hơn là các bao bọc đơn giản (và tùy chọn) mà sản xuất ra GeoJSON cổ điển. Ví dụ, hai cách tạo một điểm sau đây có cùng chức năng:
// Note order: longitude, latitude.
var point1 = turf.point([-73.988214, 40.749128]);
var point2 = {
type: 'Feature',
geometry: {
type: 'Point',
// Note order: longitude, latitude.
coordinates: [-73.988214, 40.749128]
},
properties: {}
};
Hỗ trợ trình duyệt
Các gói Turf được biên dịch để hướng đến ES2017. Tuy nhiên, phiên bản trình duyệt của @turf/turf cũng được biên dịch để bao gồm hỗ trợ cho IE11. Nếu bạn đang sử dụng các gói này và cần hướng đến IE11, vui lòng biên dịch các gói sau đây như một phần của quá trình xây dựng của bạn:
@turf/*
robust-predicates
rbush
tinyqueue
Chi tiết Tải xuống:
Tác giả: Turfjs
Mã nguồn: https://github.com/Turfjs/turf
Giấy phép: MIT license