Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 18 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
18
Dung lượng
559,13 KB
Nội dung
PHỤ LỤC – MySQL với phần mở rộng hỗ trợ cho OpenGIS Một GeometryCollection tập gồm nhiều đối tượng lớp Các thành phần Geometry Collection phải có hệ thống điểm Lớp MultiPoint Một MultiPoint tập hợp Point Các điểm nối với theo thứ tự Ví dụ MultiPoint: Trong đồ giới, MultiPoint mơ tả tập hợp đảo nhỏ Lớp MultiCurve: MultiCurve tập hợp đối tượng Curve Lớp MultiLineString: MultiLineString MultiCurve với thành phần LineString Ví dụ MultiLineString: Trong đồ, MultiLineString dùng để biểu diễn hệ thống sơng ngòi hệ thống đường cao tốc Lớp MultiSurface: MultiSurface GeometryCollection với thành phần đối tượng Surface Lớp MultiPolygon MultiPolygon MultiSurface với đối tượng Polygon Ví dụ MultiPolygon: Trong đồ MultiPolygon dùng để biểu diễn hệ thống ao hồ Các Polygon MultiPolygon khơng phép có thuộc tính interior giao Định dạng liệu không gian MySQL Phần mô tả định dạng liệu không gian dùng để thể đối tượng địa lý câu truy vấn 152 PHỤ LỤC – MySQL với phần mở rộng hỗ trợ cho OpenGIS Các loại định dạng gồm: Định dạng Well-Known Text (WKT) Định dạng Well-Known Binary (WKB) Các đối tượng địa lý lưu trữ bên MySQL với định dạng khác với loại Định dạng Well-Known Text (WKT) Loại định dạng dùng để truyển liệu đối tượng dạng chuỗi ASCII Ví dụ việc sử dụng WKT để mô tả đối tượng sau: Một điểm: POINT(15 20) Chú ý khơng có dấu phẩy ngăn cách thành phần điếm Một LineString gồm có điểm: LINESTRING(0 0, 10 10, 20 25, 50 60) Chú ý điểm có dấu phẩy ngăn cách Một Polygon với vòng exterior vòng interior : POLYGON((0 0,10 0,10 10,0 10,0 0),(5 5,7 5,7 7,5 7, 5)) Một MultiPoint gồm điểm: MULTIPOINT(0 0, 20 20, 60 60) Một MultiLineString với thành phần LineString MULTILINESTRING((10 10, 20 20), (15 15, 30 15)) Một MultiPolygon với thành phần Polygon MULTIPOLYGON(((0 0,10 0,10 10,0 10,0 0)),((5 5,7 5,7 7,5 7, 5))) Một GeometryCollection với Point LineString GEOMETRYCOLLECTION(POINT(10 10),POINT(30 30),LINESTRING(15 15,20 20)) 153 PHỤ LỤC – MySQL với phần mở rộng hỗ trợ cho OpenGIS Định dạng Well-Known Binary (WKB) Loại định dạng định nghĩa đặc tả OpenGIS Nó định nghĩa ISO ``SQL/MM Part 3: Spatial'' WKB dùng để trao đổi liệu đối tượng dạng chuỗi binary WKB sử dụng số nguyên không dấu byte, dấu nguyên không dấu byte, số thực byte (theo định dạng IEEE 754) Ví dụ giá trị WKB tương ứng với WKT POINT(1 1) gồm có 21 byte liên tiếp (mỗi byte mô tả số thập lục phân): 0101000000000000000000F03F000000000000F03F Chuỗi byte tách thành phần nhau: Trật tự byte : 01 Loại WKB : 01000000 X : 000000000000F03F Y : 000000000000F03F Các thành phần có ý nghĩa sau: • Trật tự byte là dùng để thể cách lưu trữ littleendian hay big-endian • Giá trị “loại WKB” mã dùng để loại đối tượng địa lý,gốm có giá trị từ đến tương ứng với loại đối tượng Point, LineString, Polygon, MultiPoint, MultiLineString, MultiPolygon, GeometryCollection • Hai thành phần X Y số thập phân dùng để thể giá trị X Y đối tượng Point 154 PHỤ LỤC – MySQL với phần mở rộng hỗ trợ cho OpenGIS Các giá trị WKB dùng cho đối tượng phức tạp có cấu trúc phức tạp, theo mô tả OpenGIS Tạo sở liệu MySQL dùng cho liệu không gian Phần mô tả loại liệu dùng để thể loại liệu không gian, hàm dùng cho việc tạo truy vần liệu không gian Các kiểu liệu không gian MySQL: MySQL có kiểu liệu tương ứng với lớp OpenGIS Một vài kiểu lưu trữ đối tượng địa lý đơn giản GEOMETRY POINT LINESTRING POLYGON GEOMETRY lưu trữ kiểu liệu địa lý Các kiểu liệu như: POINT, LINESTRING POLYGON chứa kiểu liệu thuộc loại Các kiểu liệu khác lưu tập hợp giá trị sau: MULTIPOINT MULTILINESTRING MULTIPOLYGON GEOMETRYCOLLECTION GEOMETRYCOLLECTION lưu tập hợp đối tượng kiểu liệu nào.Các loại tập hợp khác MULTIPOINT, MULTILINESTRING,MULTIPOLYGON GEOMETRYCOLLECTION lưu đối tượng thuộc kiểu liệu tương ứng 155 PHỤ LỤC – MySQL với phần mở rộng hỗ trợ cho OpenGIS Tạo giá trị không gian Phần mô tả cách dùng hàm Well-Known Text Well-Known Binary để tạo giá trị không gian theo chuẩn OpenGIS Tạo giá trị địa lý hàm WKT MySQL có hàm nhận tham số truyền vào thuộc dạng Well-Known Text có thêm tham số SRID Chúng trả đối tượng địa lý tương ứng Hàm GeoFromText() nhận tham số đầu vào chuỗi WKT loại đối tượng Hàm GeomFromText(wkt[,srid]) , GeometryFromText(wkt[,srid]) Tạo đối tượng địa lý với giá trị WKT SRID truyền vào Hàm LineFromText(wkt[,srid]) , LineStringFromText(wkt[,srid]) Tạo đối tượng LINESTRING với giá trị WKT SRID truyền vào HàmMLineFromText(wkt[,srid]), MultiLineStringFromText(wkt[,srid]) Tạo đối tượng MULTILINESTRING với giá trị WKT SRID truyền vào Hàm MPointFromText(wkt[,srid]) , MultiPointFromText(wkt[,srid]) Tạo đối tượng MULTIPOINT với giá trị WKT SRID truyền vào Hàm MPolyFromText(wkt[,srid]) , MultiPolygonFromText(wkt[,srid]) Tạo đối tượng MULTIPOLYGON với giá trị WKT SRID truyền vào Hàm PointFromText(wkt[,srid]) Tạo đối tượng POINT với giá trị WKT SRID truyền vào Hàm PolyFromText(wkt[,srid]) , PolygonFromText(wkt[,srid]) Tạo đối tượng POLYGON với giá trị WKT SRID truyền Tạo đối tượng địa lý sử dụng hàm WKB 156 PHỤ LỤC – MySQL với phần mở rộng hỗ trợ cho OpenGIS Hàm GeomCollFromWKB(wkb[,srid]) , GeometryCollectionFromWKB(wkb[,srid]) Tạo đối tượng GEOMETRYCOLLECTION với giá trị WKT SRID truyền vào Hàm GeomFromWKB(wkb[,srid]) , GeometryFromWKB(wkb[,srid]) Tạo đối tượng địa lý với giá trị WKT SRID truyền vào Hàm LineFromWKB(wkb[,srid]) , LineStringFromWKB(wkb[,srid]) Tạo đối tượng LINESTRING với giá trị WKT SRID truyền vào Hàm MLineFromWKB(wkb[,srid]) , MultiLineStringFromWKB(wkb[,srid]) Tạo đối tượng MULTILINESTRING với giá trị WKT SRID truyền vào Hàm MPointFromWKB(wkb[,srid]) , MultiPointFromWKB(wkb[,srid]).Tạo đối tượng MULTIPOINT với giá trị WKT SRID truyền vào Hàm MPolyFromWKB(wkb[,srid]) , MultiPolygonFromWKB(wkb[,srid]).Tạo đối tượng MULTIPOLYGON với giá trị WKT SRID truyền vào Hàm PointFromWKB(wkb[,srid]).Tạo đối tượng POINT với giá trị WKT SRID truyền vào Hàm PolyFromWKB(wkb[,srid]) , PolygonFromWKB(wkb[,srid]) Tạo đối tượng POLYGON với giá trị WKT SRID truyền vào Tạo cột lưu liệu không gian Dùng lệnh CREATE TABLE để tạo bảng với cột lưu liệu không gian mysql> CREATE TABLE geom (g GEOMETRY); Query OK, rows affected (0.02 sec) 157 PHỤ LỤC – MySQL với phần mở rộng hỗ trợ cho OpenGIS Dùng lệnh ALTER TABLE để thêm xóa cột bảng có sẵn mysql> ALTER TABLE geom ADD pt POINT; Query OK, rows affected (0.00 sec) Records: Duplicates: Warnings: mysql> ALTER TABLE geom DROP pt; Query OK, rows affected (0.00 sec) Records: Duplicates: Warnings: Thêm liệu vào cột lưu trữ thông tin không gian Dữ liệu lưu trữ cột dạng riêng bên MySQL bạn tạo định dạng riêng từ định dạng WKB WKT Các ví dụ mơ tả cách thêm liệu không gian vào bảng cách chuyển từ WKT sang định dạng riêng MySQL Ta thực việc chuyển đổi trực tiếp câu lệnh INSERT INSERT INTO geom VALUES (GeomFromText('POINT(1 1)')); SET @g = 'POINT(1 1)'; INSERT INTO geom VALUES (GeomFromText(@g)); Hoặc thực việc chuyển đổi trước thực câu lệnh INSERT SET @g = GeomFromText('POINT(1 1)'); INSERT INTO geom VALUES (@g); SET @g = 'LINESTRING(0 0,1 1,2 2)'; INSERT INTO geom VALUES (GeomFromText(@g)); Các ví dụ thêm kiểu liệu phức tạp vào bảng SET @g = 'POLYGON((0 0,10 0,10 10,0 10,0 0),(5 5,7 5,7 7,5 7, 5))'; INSERT INTO geom VALUES (GeomFromText(@g)); SET @g ='GEOMETRYCOLLECTION(POINT(1 1),LINESTRING(0 0,1 1,2 2,3 3,4 4))'; INSERT INTO geom VALUES (GeomFromText(@g)); 158 PHỤ LỤC – MySQL với phần mở rộng hỗ trợ cho OpenGIS Các ví dụ sử dụng hàm GeoFromText() để tạo đối tượng đại lý, ví dụ dùng hàm riêng biệt loại SET @g = 'POINT(1 1)'; INSERT INTO geom VALUES (PointFromText(@g)); SET @g = 'LINESTRING(0 0,1 1,2 2)'; INSERT INTO geom VALUES (LineStringFromText(@g)); SET @g = 'POLYGON((0 0,10 0,10 10,0 10,0 0),(5 5,7 5,7 7,5 7, 5))'; INSERT INTO geom VALUES (PolygonFromText(@g)); SET @g = 'GEOMETRYCOLLECTION(POINT(1 1),LINESTRING(0 0,1 1,2 2,3 3,4 4))'; INSERT INTO geom VALUES (GeomCollFromText(@g)); Có thể sử dụng định dạng WKB sau: Thêm POINT(1 1) vào bảng mysql> INSERT INTO geom VALUES -> (GeomFromWKB(0x0101000000000000000000F03F000000000000F03F)); Lấy liệu không gian Các đối tượng địa lý lưu trữ lấy định dạng riêng bên MySQL bạn chuyển chúng sang định dạng WKT WKB Lấy liệu theo định dạng WKT Dùng hàm AsText() để chuyển từ định dạng riêng bên MySQL thành định dạng WKT mysql> SELECT AsText(g) FROM geom; + -+ | AsText(p1) | 159 PHỤ LỤC – MySQL với phần mở rộng hỗ trợ cho OpenGIS + -+ | POINT(1 1) | | LINESTRING(0 0,1 1,2 2) | + -+ Lấy liệu theo định dạng WKB SELECT AsBinary(g) FROM geom; Phân tích thơng tin không gian Các hàm dùng để truy vấn liệu khơng gian chia thành nhóm: Các hàm dùng để chuyển đổi kiểu định dạng đối tượng địa lý Các hàm dùng để truy xuất đến thuộc tính chất lượng số lượng đối tượng Các hàm mô tả quan hệ đối tượng địa lý Các hàm dùng để tạo đối tượng dựa đối tượng khác Các hàm dùng để chuyển đổi kiểu định dạng đối tượng địa lý AsBinary(g): Chuyển từ định dạng riêng bên thành WKB trả kết dạng binary AsText(g):Chuyển từ định dạng riêng bên thành WKT trả kết dạng chuỗi mysql> SET @g = 'LineString(1 1,2 2,3 3)'; mysql> SELECT AsText(GeomFromText(@g)); + + | AsText(GeomFromText(@G)) | + + | LINESTRING(1 1,2 2,3 3) | + + 160 PHỤ LỤC – MySQL với phần mở rộng hỗ trợ cho OpenGIS GeomFromText(wkt[,srid]): Chuyển từ định dạng WKT thành định dạng riêng bên trả kết GeomFromWKB(wkb[,srid]): Chuyển từ định dạng WKT thành định dạng riêng bên trả kết Các hàm địa lý Các hàm liệt kê khơng có ràng buộc cho tham số nhận loại đối tượng Dimension(g) :Trả thuộc tính Dimension đối tượng g Giá trị trả -1, 0, 1, mysql> SELECT Dimension(GeomFromText('LineString(1 1,2 2)')); + + | Dimension(GeomFromText('LineString(1 1,2 2)')) | + + | | + + Envelope(g): Trả hình chữ nhật bao nhỏ (MBR) xung quanh đối tượng g Giá trị trả đối tượng Polygon mysql> SELECT AsText(Envelope(GeomFromText('LineString(1 1,2 2)'))); + -+ | AsText(Envelope(GeomFromText('LineString(1 1,2 2)'))) | + -+ | POLYGON((1 1,2 1,2 2,1 2,1 1)) | + -+ Polygon định nghĩa điểm góc hình chữ nhật bao POLYGON((MINX MINY,MAXX MINY,MAXX MAXY,MINX MAXY,MINX MINY)) 161 PHỤ LỤC – MySQL với phần mở rộng hỗ trợ cho OpenGIS GeometryType(g): Trả chuỗi cho biết loại mà đối tượng thuộc Tên tương ứng với lớp cụ thể mysql> SELECT GeometryType(GeomFromText('POINT(1 1)')); + + | GeometryType(GeomFromText('POINT(1 1)')) | + + | POINT | SRID(g): Trả số ID loại hệ tọa độ đối tượng Trong MySQL SRID số liên quan đến loại đối tượng mysql> SELECT SRID(GeomFromText('LineString(1 1,2 2)',101)); + -+ | SRID(GeomFromText('LineString(1 1,2 2)',101)) | + -+ | 101 | + -+ Các hàm lớp Point Một Point gồm thành phần X Y, lấy giá trị thành phần sau: X(p) mysql> SELECT X(GeomFromText('Point(56.7 53.34)')); + + | X(GeomFromText('Point(56.7 53.34)')) | + + | 56.7 | + + Y(p) mysql> SELECT Y(GeomFromText('Point(56.7 53.34)')); + + 162 PHỤ LỤC – MySQL với phần mở rộng hỗ trợ cho OpenGIS | Y(GeomFromText('Point(56.7 53.34)')) | + + | 53.34 | + + Các hàm lớp LineString LineString bao gồm Point Bạn lấy Point, đếm số lượng Point lấy chiều dài LineString EndPoint(ls): Trả Point cuối LineString ls mysql> SET @ls = 'LineString(1 1,2 2,3 3)'; mysql> SELECT AsText(EndPoint(GeomFromText(@ls))); + -+ | AsText(EndPoint(GeomFromText(@ls))) | + -+ | POINT(3 3) | + -+ GLength(ls): Trả chiều dài LineString ls hệ tọa độ mà thuộc mysql> SET @ls = 'LineString(1 1,2 2,3 3)'; mysql> SELECT GLength(GeomFromText(@ls)); + + | GLength(GeomFromText(@ls)) | + + | 2.8284271247462 | + + IsClosed(ls): Trả LineString closed (tức hàm EndPoint() hàm StartPoint() trả giá trị) Trả LineString không closed trả -1 null mysql> SET @ls = 'LineString(1 1,2 2,3 3)'; mysql> SELECT IsClosed(GeomFromText(@ls)); 163 PHỤ LỤC – MySQL với phần mở rộng hỗ trợ cho OpenGIS + -+ | IsClosed(GeomFromText(@ls)) | + -+ | | + -+ NumPoints(ls): Trả số lượng điểm LineString ls mysql> SET @ls = 'LineString(1 1,2 2,3 3)'; mysql> SELECT NumPoints(GeomFromText(@ls)); + + | NumPoints(GeomFromText(@ls)) | + + | | + + PointN(ls,n): Trả Point thứ n LineString ls, tính từ số mysql> SET @ls = 'LineString(1 1,2 2,3 3)'; mysql> SELECT AsText(PointN(GeomFromText(@ls),2)); + -+ | AsText(PointN(GeomFromText(@ls),2)) | + -+ | POINT(2 2) | StartPoint(ls): Trả Point LineString ls mysql> SET @ls = 'LineString(1 1,2 2,3 3)'; mysql> SELECT AsText(PointN(GeomFromText(@ls),2)); + -+ | AsText(PointN(GeomFromText(@ls),2)) | + -+ | POINT(2 2) | Các hàm lớp MultiLineString 164 PHỤ LỤC – MySQL với phần mở rộng hỗ trợ cho OpenGIS GLength(mls): Trả số thập phân cho biết chiều dài MultiLineString Chiều dài tổng chiều dài mysql> SET @mls = 'MultiLineString((1 1,2 2,3 3),(4 4,5 5))'; mysql> SELECT GLength(GeomFromText(@mls)); + -+ | GLength(GeomFromText(@mls)) | + -+ | 4.2426406871193 | IsClosed(mls): Trả MultiLineString closed Các hàm lớp Polygon Area(poly): Trả diện tích Polygon dạng số thực, đo hệ tọa độ đối tượng mysql> SET @poly = 'Polygon((0 0,0 3,3 0,0 0),(1 1,1 2,2 1,1 1))'; mysql> SELECT Area(GeomFromText(@poly)); + -+ | Area(GeomFromText(@poly)) | + -+ | | + -+ ExteriorRing(poly): Trả đường bao đối tượng Polygon poly dạng LineString mysql> SET @poly = -> 'Polygon((0 0,0 3,3 3,3 0,0 0),(1 1,1 2,2 2,2 1,1 1))'; mysql> SELECT AsText(ExteriorRing(GeomFromText(@poly))); + -+ | AsText(ExteriorRing(GeomFromText(@poly))) | + -+ 165 PHỤ LỤC – MySQL với phần mở rộng hỗ trợ cho OpenGIS | LINESTRING(0 0,0 3,3 3,3 0,0 0) | + -+ InteriorRingN(poly,n): Trả đường bao thứ n Polygon dạng LineString, tính từ mysql> SET @poly = -> 'Polygon((0 0,0 3,3 3,3 0,0 0),(1 1,1 2,2 2,2 1,1 1))'; mysql> SELECT AsText(InteriorRingN(GeomFromText(@poly),1)); + + | AsText(InteriorRingN(GeomFromText(@poly),1)) | + + | LINESTRING(1 1,1 2,2 2,2 1,1 1) | NumOfInteriorRings(poly): Trả số lượng đường bao bên đối tượng mysql> SET @poly = -> 'Polygon((0 0,0 3,3 3,3 0,0 0),(1 1,1 2,2 2,2 1,1 1))'; mysql> SELECT NumInteriorRings(GeomFromText(@poly)); + -+ | NumInteriorRings(GeomFromText(@poly)) | + -+ | | + -+ Các hàm đối tượng MultiPolygon Area(mpoly): Trả diện tích MultiPolygon mpoly tính theo hệ tọa độ đối tượng mysql> SET @mpoly = -> 'MultiPolygon(((0 0,0 3,3 3,3 0,0 0),(1 1,1 2,2 2,2 1,1 1)))'; 166 PHỤ LỤC – MySQL với phần mở rộng hỗ trợ cho OpenGIS mysql> SELECT Area(GeomFromText(@mpoly)); + + | Area(GeomFromText(@mpoly)) | + + | | + + Các hàm lớp GeometryCollection GeometryN(gc,n) mysql> SET @gc = 'GeometryCollection(Point(1 1),LineString(2 2, 3))'; mysql> SELECT AsText(GeometryN(GeomFromText(@gc),1)); + + | AsText(GeometryN(GeomFromText(@gc),1)) | + + | POINT(1 1) | + + NumGeometries(gc): Trả số lượng đối tượng GeometryCollection gc mysql> SET @gc = 'GeometryCollection(Point(1 1),LineString(2 2, 3))'; mysql> SELECT NumGeometries(GeomFromText(@gc)); + + | NumGeometries(GeomFromText(@gc)) | + + | | + + Các hàm dùng để tạo đối tượng từ đối tượng có sẵn Các hàm tạo đối tượng 167 PHỤ LỤC – MySQL với phần mở rộng hỗ trợ cho OpenGIS Envelope(g) StartPoint(ls) EndPoint(ls) PointN(ls,n) ExteriorRing(poly) InteriorRingN(poly,n) GeometryN(gc,n) Các hàm kiểm tra mối quan hệ đối tượng Các hàm phần nhận tham số đối tượng trả mối quan hệ dựa hình chữ nhật bao (MBR) chúng MySQL cung cấp hàm dùng để kiểm tra quan hệ hình chữ nhật bao đối tượng MBRContains(g1,g2): Trả cho biết hình chữ nhật bao g1 có chứa hình chữ nhật bao g2 không mysql> SET @g1 = GeomFromText('Polygon((0 0,0 3,3 3,3 0,0 0))'); mysql> SET @g2 = GeomFromText('Point(1 1)'); mysql> SELECT MBRContains(@g1,@g2), MBRContains(@g2,@g1); + + | MBRContains(@g1,@g2) | MBRContains(@g2,@g1) | + + + | | | + + + MBRDisjoint(g1,g2): Trả cho biết hình chữ nhật bao g1 hình chữ nhật bao g2 có rời (khơng giao nhau) khơng 168 PHỤ LỤC – MySQL với phần mở rộng hỗ trợ cho OpenGIS MBREqual(g1,g2): Trả cho biết hình chữ nhật bao g1 hình chữ nhật bao g2 không MBRIntersects(g1,g2): Trả cho biết hình chữ nhật bao g1 hình chữ nhật bao g2 có cắt khơng MBROverlaps(g1,g2): Trả cho biết hình chữ nhật bao g1 hình chữ nhật bao g2 có chồng lên khơng MBRTouches(g1,g2): Trả cho biết hình chữ nhật bao g1 hình chữ nhật bao g2 có tiếp xúc với không MBRWithin(g1,g2) : Trả cho biết hình chữ nhật bao g1 có nằm hình chữ nhật bao g2 khơng mysql> SET @g1 = GeomFromText('Polygon((0 0,0 3,3 3,3 0,0 0))'); mysql> SET @g2 = GeomFromText('Polygon((0 0,0 5,5 5,5 0,0 0))'); mysql> SELECT MBRWithin(@g1,@g2), MBRWithin(@g2,@g1); + + + | MBRWithin(@g1,@g2) | MBRWithin(@g2,@g1) | + + + | | | Kết nối với MySQL NET Để thực việc kết nối với MySQL NET thực câu truy vấn ,ta sử dụng công cụ MySQL-connector-net-1.0.4 cung cấp trang chủ MySQL: www.mysql.com Sau cài đặt, ta có thư viện MySql.Data.dll file hướng dẫn sử dụng Để sử dụng ta cần thêm thư viện vào Project thêm dịng khai báo sau vào chương trình 169 ... ,ta sử dụng cơng cụ MySQL-connector-net-1.0.4 cung cấp trang chủ MySQL: www.mysql.com Sau cài đặt, ta có thư viện MySql.Data.dll file hướng dẫn sử dụng Để sử dụng ta cần thêm thư viện vào Project... thành phần Polygon MULTIPOLYGON(((0 0 ,10 0 ,10 10,0 10, 0 0)),((5 5,7 5,7 7,5 7, 5))) Một GeometryCollection với Point LineString GEOMETRYCOLLECTION(POINT (10 10),POINT(30 30),LINESTRING(15 15,20... tương ứng 155 PHỤ LỤC – MySQL với phần mở rộng hỗ trợ cho OpenGIS Tạo giá trị không gian Phần mô tả cách dùng hàm Well-Known Text Well-Known Binary để tạo giá trị không gian theo chuẩn OpenGIS