Hướng dẫn sdo_geometry mysql - sdo_geometry mysql
Trong nhiều ứng dụng, ta phải làm việc với các dữ liệu địa lý, các dữ liệu thuộc hệ thống thông tin địa lý. Mysql cung cấp cho chúng ta một kiểu dữ liệu để biểu diễn dữ liệu loại này: Spatial 1, Giới thiệu Mysql có các kiểu dữ liệu tương ứng với các lớp của OpenGIS. Một số biểu diễn các giá trị hình học đơn:1, Giới thiệu Mysql có các kiểu dữ liệu tương ứng với các lớp của OpenGIS. Một số biểu diễn các giá trị hình học đơn:1, Giới thiệu Mysql có các kiểu dữ liệu tương ứng với các lớp của OpenGIS. Một số biểu diễn các giá trị hình học đơn:
2, Hệ thống lớp GEOMETRY Hệ thống lớp GEOMETRY được biểu diễn theo sơ đồ dưới đây:
Không thể tạo những đối tượng thuộc những lớp noninstanceable mà chỉ tạo được các đối tượng thuộc những lớp instanceable. Tất cả các lớp có các thuộc tính và các lớp instance có thể có các assertion. Geometry là lớp cơ sở, nó là một lớp trìu tượng. Những lớp con thể hiện của Geometry biểu diễn các đối tượng 0, ,1, 2 chiều trong không gian tọa độ 2 chiều. Lớp cơ sở Geometry có các lớp con là Point, Curve, Surface, và GeometryCollection:
a, Geometry Class Geometry là lớp root của hệ thống, nó là 1 lớp noninstanceable với danh sách các thuộc tính dưới đây:
Các đối tượng Point có chiều là 0. LineString có chiều là 1, Polygon là 2... b, Point Class Một Point là một geometry đại diện cho một vị trí đơn lẻ trong không gian tọa độ. Ví dụ: Trong một bản đồ quy mô lớn của thế giới với nhiều thành phố, mỗi một đối tượng Point có thể đại diện cho 1 thành phố, trong bản đồ thành phố Point có thể đại diện cho một bus stop Các thuộc tính của Point:
c, Curve Class Là geometry một chiều, được sử dụng để đại diện cho một tập hợp các điểm, Curve là một lớp noninstanceable Các thuộc tính:
d, Surface Class Surface Class là một geometry 2 chiều, là một lớp noninstanceable, nó chỉ có 1 lớp instanceable duy nhất là Polygon. Một Polygon là một đa giác, là vùng không gian giới hạn bởi 1 đường boundary ngoài, exterior, không hoặc nhiều interior boundaries. Trong bản đồ khu vực, một Polygon có thể là 1 khu rừng, 1 quận hoặc một khu dân cư. 3, Using spatial data a, Supported Spatial Data Formats Có 2 cách để biểu diễn một đối tượng geometry trong truy vấn:
Một LineString với 4 điểm:
Một Polygon với 1 vòng ngoài và 1 vòng trong:
Một MultiPoint với 3 Point:
b, Handle Spatial Columns Để tạo một bảng trong Mysql với 1 cột spatial:
Để thêm hoặc xóa một cột spatial trong một bảng đang tồn tại:
Giá trị được lưu trữ trong database theo format internal của geometry, nhưng ta có thể convert chúng sang các format khác như WKT hay WKB. Để insert giá trị vào trong một cột spatial bằng cách convert 1 giá trị WKT thành format internal của geometry:
Convert từ giá trị WKB:
Giá trị geometry được lưu trữ có thể được fetch theo đúng format internal của nó. Bạn cũng có thể convert đến WKT hoặc WKB:
Trên đây là những khái niệm cơ bản khi làm quen với kiểu dữ liệu không gian trong Mysql. Ở bài tiếp theo chúng ta sẽ tìm hiểu về các function và operator của kiểu dữ liệu này! Nguồn: https://dev.mysql.com/doc/refman/5.7/en/spatial-extensions.html |