Professional Documents
Culture Documents
i
ĐẠI HỌC NÔNG LÂM TP. HỒ CHÍ MINH
KHOA MÔI TRƯỜNG VÀ TÀI NGUYÊN
NGÀNH HỆ THỐNG THÔNG TIN
Học phần: MÔ HÌNH DỮ LIỆU GIS BA CHIỀU
HK II năm học 2023 - 2024
Họ và tên MSSV
Trần Phạm Mỹ Duyên 21166115
Phạm Thị Tuyết Huyền 21166127
Võ Thị Kim Kiểu 21166135
Lương Ngọc Diễm Lệ 21166137
ii
LỜI CẢM ƠN
Nhóm 01 chúng em xin bày tỏ lòng biết ơn sâu sắc tới thầy Trần Thống Nhất, người
đã định hướng, hướng dẫn chúng em tìm hiểu về những bài tập này, để chúng em có
thêm kiến thức chuyên môn vững vàng hơn, thôi thúc chúng em chủ động tìm tòi, học
hỏi nhiều hơn.
Dù nhận được những sự hướng dẫn nhiệt tình nhưng do trình độ còn hạn chế nên bài
làm của chúng em chắc chắn sẽ không tránh khỏi những thiếu sót, rất mong nhận được
sự đóng góp của thầy và các bạn để bài tập nhóm chúng em được hoàn thiện hơn. Xin
chân thành cảm ơn!
iii
NHẬN XÉT
(Của giáo viên hướng dẫn)
............................................................................................................................................
............................................................................................................................................
............................................................................................................................................
............................................................................................................................................
............................................................................................................................................
iv
MỤC LỤC
DANH SÁCH NHÓM....................................................................................................ii
LỜI CẢM ƠN...............................................................................................................iii
NHẬN XÉT...................................................................................................................iv
MỤC LỤC......................................................................................................................v
1 Đại diện những đặc điểm địa lý...................................................................................1
1.1 Địa lý, đồ họa và bản đồ........................................................................................1
1.2 Mô hình đặc điểm và Hình học:............................................................................1
2 Tổng quan về GML.....................................................................................................2
2.1 Nguồn gốc.............................................................................................................2
2.2 Tính năng...............................................................................................................2
2.3 Mục tiêu.................................................................................................................2
2.4 Lợi ích...................................................................................................................3
2.5 Các Lược đồ cho Dữ liệu Địa lý:..........................................................................3
2.6 Trình Diễn Đồ Họa:...............................................................................................3
3 Khái niệm khung.........................................................................................................4
3.1 Đặc điểm và thuộc tính..........................................................................................4
3.2 Thuộc tính hình học...............................................................................................5
4. Mô hình dữ liệu và mã hóa trong GML......................................................................6
4.1 Các yếu tố..............................................................................................................6
4.2 Hình học................................................................................................................6
4.3 Các thành phần khác của mô hình dữ liệu GML...................................................7
4.4 Hệ quy chiếu không gian trong GML...................................................................9
4.5 Mã hóa trong GML (2.0).....................................................................................10
4.5.1 Mã hóa các tính năng không có hình học....................................................10
4.5.2 Mã hóa hình học...........................................................................................12
4.5.3 Mã hóa các tính năng với hình học..............................................................19
5. Hồ sơ........................................................................................................................25
5.1 Hồ sơ GML và lược đồ ứng dụng......................................................................25
5.2 Định nghĩa tóm lược...........................................................................................25
v
5.3 Mối liên hệ lược đồ ứng dụng............................................................................26
5.4 Quy tắc cho các phần tử và kiểu trong bản tóm lược.........................................26
5.5 Quy tắc tham chiếu tóm lược GML từ lược đồ ứng dụng..................................26
5.6 Khuyến nghị lược đồ ứng dụng sử dụng tóm lược GML...................................27
5.7 Tóm tắt các quy tắc tóm lược GML...................................................................27
6. Quy tắc các lược đồ ứng dụng.................................................................................28
6.1 Trường hợp đặc biệt của các đối tượng GML.....................................................28
6.1.1 Tài liệu GML...............................................................................................28
6.1.2 Các phần tử đối tượng GML trong tài liệu XML khác................................28
6.2 Lược đồ ứng dụng GML....................................................................................28
6.2.1 Giới thiệu.....................................................................................................28
6.2.2 Target namespace.........................................................................................29
6.2.3 Nhập lược đồ GML......................................................................................30
6.2.4 Kiểu đối tượng gốc......................................................................................30
6.2.5 Các phần tử biểu diễn các đối tượng............................................................30
6.2.6 Kiểu thuộc tính gốc......................................................................................30
6.2.7 Phần tử biểu diễn cho thuộc tính..................................................................31
6.3 Lược đồ xác định đối tượng và tập đối tượng....................................................31
6.3.1 Giới thiệu.....................................................................................................31
6.3.2 Nhập các thành phần lược đồ GML.............................................................32
6.3.3 Phần tử biểu diễn cho các đối tượng............................................................32
6.4 Lược đồ xác định các hình học không gian........................................................32
6.4.1 Nhập các thành phần lược đồ hình học GML..............................................32
6.4.2 Các loại hình học và thuộc tính hình học người dùng định nghĩa...............32
6.5 Lược đồ xác định các tô-pô không gian.............................................................34
6.5.1 Nhập các thành phần lược đồ tô-pô GML...................................................34
6.5.2 Các loại tô-pô và thuộc tính tô-pô người dùng định nghĩa..........................34
6.6 Lược đồ xác định thời gian................................................................................35
6.6.1 Nhập các thành phần lược đồ thời gian GML..............................................35
6.6.2 Các loại thời gian và thuộc tính thời gian người dùng định nghĩa...............35
6.7 Lược đồ xác định hệ quy chiếu tọa độ...............................................................36
vi
6.7.1 Giới thiệu.....................................................................................................36
6.7.2 Nhập thành phần lược đồ hệ thống phối hợp tham chiếu GML..................36
6.8 Lược đồ xác định các tập dữ liệu địa lý.............................................................37
6.8.1 Giới thiệu.....................................................................................................37
6.8.2 Nhập thành phần lược đồ tập dữ liệu địa lý.................................................37
6.8.3 Kiểu tập dữ liệu địa lý do người dùng định nghĩa.......................................37
6.8.4 Tham số phạm vi (range) sẽ được thay thế cho AbstractValue...................37
6.8.5 Tài liệu tập dữ liệu địa lý.............................................................................38
6.9 Lược đồ xác định quan sát.................................................................................38
6.9.1 Giới thiệu.....................................................................................................38
6.9.2 Nhập các thành phần lược đồ quan sát GML...............................................38
6.9.3 Các kiểu quan sát do người dùng định nghĩa...............................................38
6.10 Lược đồ xác định từ điển và định nghĩa...........................................................39
6.10.1 Giới thiệu...................................................................................................39
6.10.2 Nhập thành phần lược đồ từ điển GML.....................................................39
6.10.3 Các kiểu định nghĩa do người dùng định nghĩa.........................................39
6.10.4 Các kiểu từ điển do người dùng định nghĩa...............................................39
6.11 Lược đồ xác định giá trị...................................................................................40
6.11.1 Giới thiệu...................................................................................................40
6.11.2 Nhập các thành phần lược đồ đối tượng giá trị GML................................40
6.11.3 Xây dựng các loại giá trị mới.....................................................................40
6.12 Hồ sơ GML của lược đồ GML.........................................................................40
7. Trao đổi và chia sẻ dữ liệu GML..............................................................................41
TÀI LIỆU THAM KHẢO:...........................................................................................43
vii
1 Đại diện những đặc điểm địa lý
1
o Đa giác (Polygon): Đa giác là một khu vực được đóng, được xác định
bởi một chuỗi các đoạn đường liên kết với nhau. Đa giác thường đại
diện cho các khu vực như hồ, rừng, hoặc các địa hình phức tạp khác.
Thuộc tính (Attribute): Ngoài thông tin về hình dạng hình học, mỗi đặc điểm
còn có thể chứa các thuộc tính mô tả. Các thuộc tính có thể bao gồm tên, loại,
mô tả, ngày tạo, và các thông tin khác về đặc điểm địa lý.
Mô hình này cho phép GML biểu diễn đa dạng các đặc điểm địa lý và thông tin liên
quan của chúng một cách rõ ràng và linh hoạt, làm cho nó trở thành một công cụ mạnh
mẽ trong việc trao đổi dữ liệu địa lý giữa các hệ thống và ứng dụng khác nhau.
2
chủ đề/thuộc tính Khung mô tả tài nguyên (RDF). Các đối tượng và lược đồ GML có
thể chia sẻ và tái sử dụng, giúp tạo ra tính nhất quán và kết nối trong việc trao đổi
thông tin địa lý.
3
3 Khái niệm khung
GML dựa trên mô hình địa lý trừu tượng do OGC phát triển. Điều này mô tả thế giới
dưới dạng các thực thể địa lý được gọi là các đối tượng địa lý. Về cơ bản, một đối
tượng không gì khác hơn là một danh sách các thuộc tính và hình học.
Hình: Một bản đồ vector, với các điểm, đường đa giác và đa giác
4
3.2 Thuộc tính hình học
Phần tử thuộc tính hình học của GML được tạo bằng cách sử dụng Điểm, Chuỗi
đường và Đa giác với trường hợp đặc biệt là các Vòng tuyến tính đóng đơn thuần là
các Chuỗi đường đóng.
Đa giác không chỉ là LinearRing vì có thể có ranh giới bên trong cũng như ranh giới
bên ngoài.
Ngoài các thực thể hình học nguyên thủy này, GML còn cung cấp các tập hợp (bộ sưu
tập) các phần tử sau: tức là MultiPoint, MultiLineString và MultiPolygon. Chúng
được tạo thành, như tên gọi của nó, gồm Điểm, Chuỗi đường và Đa giác.
GML có một phần tử hình học khác có thể bao gồm các phần tử hình học thuộc bất kỳ
loại nào. Đây được gọi là GeometryCollection. GeometryCollection cũng có thể bao
gồm các GeometryCollection khác.
Các phần tử hình học trong GML có thể được chỉ định bởi Danh sách tọa độ, đây chỉ
là danh sách các cặp tọa độ (x, y) với một số dấu phân cách như dấu phẩy và dấu cách.
Dấu phân cách có thể được chỉ định bởi các giá trị thuộc tính của thẻ <coordens>.
Có một phần tử hình học khác là Hộp, được xác định bởi hai điểm tọa độ, góc trên bên
trái và góc dưới bên phải. Phần tử Hộp được sử dụng nhiều hơn để mã hóa thành phần
thuộc tính của tài liệu địa lý hơn là cấu trúc hình học nghiêm ngặt của bản đồ.
Ngôn ngữ GML định nghĩa các phần tử là các đối tượng độc lập với các đối tượng
hình học, thuộc GML với các loại nguyên thủy hình học khác nhau. Trong GML, một
5
phần tử là một đối tượng cụ thể cho một ứng dụng hoặc nhóm ứng dụng (tức là được
định nghĩa trong sơ đồ ứng dụng) đại diện cho một thực thể hoặc hiện tượng trong thế
giới thực, chẳng hạn như tòa nhà, sông hoặc người. Một phần tử GML có thể có hoặc
không có các thuộc tính hình học. Mặt khác, một đối tượng hình học xác định một vị
trí hoặc một vùng không gian chứ không phải là một thực thể thực sự và do đó là một
đại diện có thể có của định nghĩa không gian của một yếu tố nhưng không phải là
chính phần tử.
Trong GML, một phần tử có thể có một số tính chất hình học mô tả các đặc điểm
không gian khác nhau của phần tử. Các phần tử GML có thể chia sẻ các thuộc tính
hình học với các phần tử khác bằng cách sử dụng các tham chiếu thuộc tính từ xa.
Ví dụ: một phần tử Xây dựng trong một sơ đồ ứng dụng GML cụ thể có thể có một vị
trí được xác định bởi Điểm loại đối tượng hình học, nhưng đối tượng Xây dựng là một
đối tượng độc lập với đối tượng Điểm xác định vị trí của nó. Cùng một đối tượng
điểm có thể là một thuộc tính hình học được chia sẻ với một phần tử khác và mặt
khác, một phần tử có thể có một số thuộc tính hình học.
Ví dụ về trực quan hóa nội dung của tệp ở định dạng GML, sử dụng chương trình đọc
tài liệu XML, cho thấy cách một loại phần tử (tính năng) nhất định sử dụng một đối
tượng hình học nhất định để xác định các thuộc tính không gian của nó.
Mô hình dữ liệu GML bao gồm các nguyên thủy hình học cho các đối tượng hình học
có kích thước 0, 1, 2 và 3, sử dụng các nguyên thủy Point, AbstractCurve,
AbstractSurface và AbstractSolid, thuộc loại chung AbstractGeometricPrimitive và
chuyên làm phát sinh các loại đối tượng hình học tuyến tính khác nhau (LineString,
Curve và CompositeCurve), bề ngoài (Polygon, Surface và CompositeSurface) hoặc
ba chiều (Solid và CompositeSolid).
Ngoài các nguyên thủy hình học, mô hình dữ liệu GML dự tính thêm hai loại hình
học, ImplicitGeometry và AbstractCompositeaggregate, để kết hợp tương ứng hình
học raster (Grid) và đồng nhất (MultiPoint, MultiCurve, MultiSurface, MultiSolid)
hoặc các đối tượng hình học không đồng nhất (MultiGeometry)) kết hợp các loại
nguyên thủy hình học cơ bản khác nhau trong đối tượng tổng hợp hoặc nhiều phần.
Nhìn chung, mô hình dữ liệu GML trong phiên bản 3, về mặt hình học, là một trong
những mô hình dữ liệu hoàn chỉnh nhất trong số các mô hình dữ liệu đơn phần tử, bao
gồm biểu diễn raster và vector, cũng như kết xuất 2D và 3D.
6
4.3 Các thành phần khác của mô hình dữ liệu GML
Trong số các đối tượng khác có trong mô hình dữ liệu GML, các đối tượng dự định
đại diện cho các topological properties and temporal properties của các yếu tố nổi bật.
Các tiết mục của các tính chất tôpô và thời gian khá rộng trong cả hai trường hợp.
Ngoài ra, cần làm nổi bật dự báo các cấu trúc topologica để cấu trúc các sự kiện thời
gian bằng cách sử dụng đồ thị:Hệ quy chiếu không gian
Loại thuộc tính (lược đồ XML) Loại đối tượng tôpô liên quan
- DirectedNodePropertyType Nút
- DirectedEdgePropertyType Cạnh
- DirectedFacePropertyType Mặt
- DirectedTopoSolidPropertyType TopoSolid
- TopoSurfacePropertyType TopoSurface
- TopoVolumePropertyType TopoVolume
- TopoComplexPropertyType TopoComplex
Loại thuộc tính (lược đồ XML) Loại đối tượng tạm thời liên quan
7
- TimePrimitivePropertyType AbstractTimePrimitive
AbstractTimeGeometricPrimitive
TimeInstant TimePeriod
AbstractTimeTopologyPrimitive
TimeEdge
TimeNode
- TimeGeometricPrimitivePropertyType AbstractTimeGeometricPrimitive
TimeInstant TimePeriod
- TimeInstantPropertyType TimeInstant
- TimeTopologyPrimitivePropertyType AbstractTimeTopologyPrimitive
TimeEdge TimeNode
- TimeEdgePropertyType TimeEdge
- TimeTopologyComplexPropertyType TimeTopologyComplex
- TimeOrdinalEraPropertyType TimeOrdinalEra
- TimeCalendarPropertyType TimeCalendar
8
- TimeCalendarEraPropertyType TimeCalendarEra
Trong ngôn ngữ GML, hệ thống tham chiếu không gian, hoặc hệ quy chiếu tọa độ,
được chỉ định rõ ràng, như trong mô hình dữ liệu Truy cập Tính năng Đơn giản tiêu
chuẩn và không giống như các định dạng như KML hoặc GeoRSS, nó không giả định
bất kỳ hệ thống tham chiếu không gian mặc định nào.
Hệ quy chiếu không gian trong GML được biểu thị bằng thuộc tính srsName được
thêm vào định nghĩa của các đối tượng hình học. Giá trị của thuộc tính srsName có thể
là mã định danh tài nguyên thống nhất (URI), tên tài nguyên thống nhất (URN) hoặc
thậm chí là URL. Mã cơ sở dữ liệu EPSG có thể được biểu thị dưới dạng URI, cho
biết nhãn epsg và số mã EPSG, như trong các dịch vụ bản đồ tiêu chuẩn WMS. Một
số ví dụ hợp lệ về chỉ dẫn hệ quy chiếu không gian là:
Trong tương lai, các dịch vụ GML có khả năng thực hiện động chuyển đổi tọa độ của
tài liệu dữ liệu ở định dạng GML sẽ được công bố, mặc dù các chuyển đổi tọa độ động
hiện đang được thực hiện bởi các chương trình máy chủ hoặc máy khách tạo và truyền
hoặc nhận và giải thích dữ liệu ở định dạng GML.
9
4.5 Mã hóa trong GML (2.0)
GML 2.0 không mã hóa nhiều tính năng mà không có thuộc tính hình học. Ví dụ
"Dean" đơn giản có thuộc tính familyName và age. Dean cũng có thể có không hoặc
nhiều thuộc tính nickName. Ví dụ XML cho Dean:
<Dean>
<familyName>Smith</familyName>
<age>42</age>
<nickName>Smithy</nickName>
<nickName>Bonehead</nickName>
</Dean>
Không cần suy nghĩ về GML, người ta có thể định nghĩa lược đồ XML có liên quan
để hỗ trợ điều này là:
<complexType name="DeanType">
<sequence>
maxOccurs="unbounded"/>
</sequence>
</complexType>
10
Tuy nhiên, bằng cách sử dụng lược đồ Tính năng từ GML, cần xác định những gì
đóng vai trò của các tính năng (và loại của chúng) và những gì đóng vai trò của các
thuộc tính. Trong ví dụ Dean, Dean là một loại tính năng và tuổi là một thuộc tính.
Điều này được chỉ định trong GML bởi những điều sau đây:
<complexType name="DeanType">
<complexContent>
<extension base="gml:AbstractFeatureType">
<sequence>
maxOccurs="unbounded"/>
</sequence>
</extension>
</complexContent>
</complexType>
Phù hợp với mô hình OGC Simple Features, GML cung cấp các phần tử hình học
tương ứng với các lớp hình học sau: Điểm, Chuỗi dòng, Tuyến tính, Đa giác, Đa điểm,
MultiLineString, Đa giác, Đa hình học
Ngoài ra, còn có các phần tử <tọa độ> và <tọa độ> để mã hóa tọa độ và phần tử
<Hộp> để xác định mức độ. Các phần sau đây mô tả chi tiết việc mã hóa từng loại
phần tử hình học cơ bản này.
11
4.5.2.1 Tọa độ
Tọa độ của bất kỳ thể hiện lớp Hình học nào được mã hóa dưới dạng một chuỗi
các phần tử <tọa độ> đóng gói các thành phần bộ dữ liệu hoặc dưới dạng một
chuỗi duy nhất chứa trong phần tử <tọa độ>. Ưu điểm của việc sử dụng các
phần tử <coord> là một trình phân tích cú pháp XML xác thực có thể thực hiện
kiểm tra kiểu cơ bản và thực thi các ràng buộc về số lượng bộ xuất hiện trong
một trường hợp hình học cụ thể. Cả hai cách tiếp cận đều có thể truyền đạt tọa
độ theo một, hai hoặc ba chiều. Các đoạn lược đồ có liên quan có thể được tìm
thấy trong lược đồ Hình học:
<complexType name="CoordType">
<sequence>
</sequence>
</complexType>
Một mức ràng buộc bổ sung hạn chế số lượng bộ dữ liệu theo kiểu dữ liệu. Ví
dụ: phần tử <Điểm> chứa chính xác một bộ tọa độ:
<Point srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
<coord><X>5.0</X><Y>40.0</Y></coord>
</Point>
Thay vào đó, tọa độ cũng có thể được truyền tải bằng một chuỗi duy nhất. Theo
mặc định, tọa độ trong một bộ được phân tách bằng dấu phẩy và các bộ liên
tiếp được phân tách bằng một ký tự khoảng trắng (#x20). Mặc dù các dấu phân
cách này được chỉ định bởi một số thuộc tính, người dùng có thể tự do xác định
danh sách tọa độ cục bộ được lấy từ gml: CoordinatesType. Một tài liệu thể
12
hiện sau đó có thể sử dụng thuộc tính xsi:type để thay thế danh sách tọa độ cục
bộ bất cứ nơi nào dự kiến phần tử <tọa độ>; Một kiểu con như vậy có thể sử
dụng các dấu phân cách khác để phản ánh việc sử dụng cục bộ.
Người ta hy vọng rằng một ứng dụng khách chuyên dụng sẽ trích xuất và xác
thực nội dung chuỗi, vì các chức năng này sẽ không được thực hiện bởi một
trình phân tích cú pháp XML chung. Các thuộc tính định dạng sẽ giả định các
giá trị mặc định của chúng nếu chúng không được chỉ định cho một trường hợp
cụ thể; phần tử <tọa độ> phải phù hợp với các đoạn lược đồ XML sau:
<complexType name="CoordinatesType">
<simpleContent>
<extension base="string">
</extension>
</simpleContent>
</complexType>
Điều này sẽ cho phép ví dụ Điểm được cung cấp ở trên được mã hóa thành:
<Point srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
<coordinates>5.0,40.0</coordinates>
</Point>
13
Các tọa độ cho một hình học được xác định trong một số hệ quy chiếu không
gian (SRS) và tất cả các hình học phải chỉ định SRS này. GML 2.0 không đề
cập đến các chi tiết của việc xác định các hệ quy chiếu không gian. Hiện tại có
một đặc tả dựa trên XML được đề xuất để xử lý các hệ quy chiếu tọa độ và biến
đổi tọa độ [OGC00-040]. Thuộc tính srsName của các kiểu hình học có thể
được sử dụng để kiểm tra sự bình đẳng của SRS giữa các hình học khác nhau.
SRSName (vì nó là một tham chiếu URI) có thể được điều hướng đến định
nghĩa của SRS. Dự kiến thông số kỹ thuật SRS đang chờ xử lý sẽ được áp dụng
cho mã hóa GML, có lẽ dưới vỏ bọc của một mô-đun Trắc địa có nguồn gốc từ
đặc điểm kỹ thuật đó.
Thuộc tính gid tùy chọn của các kiểu hình học đại diện cho một mã định danh
duy nhất cho các phần tử hình học; đây là thuộc tính loại ID có giá trị phải là
chuỗi văn bản phù hợp với tất cả các quy tắc tên XML (tức là ký tự đầu tiên
không thể là chữ số).
Phần tử Point được sử dụng để mã hóa các thể hiện của lớp hình học Point, với
tùy chọn cho thuộc tính srsName.. Đây là một ví dụ:
<coord><X>56.1</X><Y>0.45</Y></coord>
</Point>
Phần tử Box được sử dụng để mã hóa mức độ. Mỗi phần tử <Box> bao gồm
một chuỗi hai phần tử <tọa độ> hoặc một phần tử <tọa độ> chứa chính xác hai
bộ tọa độ; Cái đầu tiên trong số này được xây dựng từ các giá trị tối thiểu được
đo dọc theo tất cả các trục và cái thứ hai được xây dựng từ các giá trị tối đa
được đo dọc theo tất cả các trục. Một giá trị cho thuộc tính srsName nên được
cung cấp, vì một Box không thể được chứa bởi các lớp hình học khác. Một
phiên bản Box trông như thế này:
<Box srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
<coord><X>0.0</X><Y>0.0</Y></coord>
<coord><X>100.0</X><Y>100.0</Y></coord>
14
</Box>
LineString là một đường dẫn tuyến tính từng phần được xác định bởi một danh
sách các tọa độ được giả định là được kết nối bởi các đoạn thẳng. Một đường
dẫn khép kín được biểu thị bằng cách có tọa độ đầu tiên và cuối cùng trùng
khớp. Cần ít nhất hai tọa độ. Dưới đây là ví dụ về phiên bản LineString:
<LineString srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
<coord><X>0.0</X><Y>0.0</Y></coord>
<coord><X>20.0</X><Y>35.0</Y></coord>
<coord><X>100.0</X><Y>100.0</Y></coord>
</LineString>
LineString và LinearRing là các yếu tố dùng để mã hóa đường dẫn tuyến tính
và đường tuyến tính khép kín, tương ứng.. Một ví dụ sau đây về trường hợp Đa
giác có hai ranh giới bên trong và sử dụng chuỗi tọa độ:
epsg.xml#4326">
<outerBoundaryIs>
<LinearRing>
</coordinates>
</LinearRing>
</outerBoundaryIs>
<innerBoundaryIs>
<LinearRing>
</LinearRing>
</innerBoundaryIs>
<innerBoundaryIs>
<LinearRing>
</coordinates>
</LinearRing>
</innerBoundaryIs>
</Polygon>
Có các bộ sưu tập hình học đồng nhất như MultiLineString, MultiPolygon và
Đa điểm. Dưới đây là ví dụ về phiên bản MultiLineString có ba thành viên:
<MultiLineString srsName="http://www.opengis.net/gml/srs/
epsg.xml#4326">
<lineStringMember>
<LineString>
<coord><X>56.1</X><Y>0.45</Y></coord>
<coord><X>67.23</X><Y>0.98</Y></coord>
</LineString>
</lineStringMember>
<lineStringMember>
16
<LineString>
<coord><X>46.71</X><Y>9.25</Y></coord>
<coord><X>56.88</X><Y>10.44</Y></coord>
</LineString>
</lineStringMember>
<lineStringMember>
<LineString>
<coord><X>324.1</X><Y>219.7</Y></coord>
<coord><X>0.45</X><Y>4.56</Y></coord>
</LineString>
</lineStringMember>
</MultiLineString>
Ngoài ra, lược đồ Hình học xác định một tập hợp hình học không đồng nhất
được biểu diễn bởi phần tử MultiGeometry cung cấp một thùng chứa cho các
phần tử hình học tùy ý; nó có thể chứa bất kỳ phần tử hình học nguyên thủy
nào như Points, LineStrings, Polygons, MultiPoints, MultiLineStrings,
MultiPolygons và thậm chí cả các GeometryCollection khác. Phần tử
MultiGeometry có một thuộc tính geometryMember chung trả về phần tử hình
học tiếp theo trong tập hợp. Một ví dụ về trường hợp MultiGeometry không
đồng nhất xuất hiện bên dưới.
epsg.xml#4326">
<geometryMember>
<Point gid="P6776">
17
<coord><X>50.0</X><Y>50.0</Y></coord>
</Point>
</geometryMember>
<geometryMember>
<LineString gid="L21216">
<coord><X>0.0</X><Y>0.0</Y></coord>
<coord><X>0.0</X><Y>50.0</Y></coord>
<coord><X>100.0</X><Y>50.0</Y></coord>
</LineString>
</geometryMember>
<geometryMember>
<Polygon gid="_877789">
<outerBoundaryIs>
<LinearRing>
</coordinates>
</LinearRing>
</outerBoundaryIs>
</Polygon>
</geometryMember>
</MultiGeometry>
18
4.5.3 Mã hóa các tính năng với hình học
GML 2.0 cung cấp một tập hợp các thuộc tính hình học được xác định trước có thể
được sử dụng để liên hệ các hình học của các loại cụ thể với các tính năng. Hãy xem
xét trường hợp định nghĩa tính năng DeanType có thuộc tính điểm được gọi là
location, đây là một trong những tên mô tả được xác định trước có thể thay thế cho tên
chính thức pointProperty.
<Dean>
<familyName>Smith</familyName>
<age>42</age>
<nickName>Smithy</nickName>
<nickName>Bonehead</nickName>
<gml:location>
<gml:Point>
<gml:coord><gml:X>1.0</gml:X><gml:Y>1.0</gml:Y></gml:coord>
</gml:Point>
<gml:location>
</Dean>
substitutionGroup="gml:_Feature"/>
<complexType name="DeanType">
<complexContent>
19
<extension base="gml:AbstractFeatureType">
<sequence>
maxOccurs="unbounded"/>
<element ref="gml:location"/>
</sequence>
</extension>
</complexContent>
</complexType>
Ngoài ra, người ta có thể xác định các thuộc tính hình học cụ thể cho một lược đồ ứng
dụng. Ví dụ: người ta có thể muốn đặt tên cho thuộc tính chỉ định vị trí của phiên bản
Dean là deanLocation:
substitutionGroup="gml:_Feature"/>
<complexType name="DeanType">
<complexContent>
<extension base="gml:AbstractFeatureType">
<sequence>
20
<element name="nickName" type="string" minOccurs="0"
maxOccurs="unbounded"/>
</sequence>
</extension>
</complexContent>
</complexType>
Trong ví dụ này, gml:PointPropertyType có sẵn dưới dạng kiểu thuộc tính được xác
định trước hữu ích cho một tính năng sử dụng giống như chuỗi và số nguyên. Khai
báo cục bộ của phần tử <deanLocation> về cơ bản thiết lập một bí danh cho <gml:
pointProperty> như một phần tử con của Dean.
Việc sử dụng độc quyền các khai báo phần tử có phạm vi toàn cầu phản ánh một
phong cách tác giả khác 'gộp' tất cả các phần tử trong cùng một không gian ký hiệu
(xem phần 2.5 của đặc tả lược đồ XML, Phần 1 để biết thêm chi tiết); Phong cách này
cũng cho phép chúng ta gán các phần tử cho một nhóm thay thế sao cho các phần tử
được chỉ định có thể thay thế cho một phần tử đầu cụ thể, phải được khai báo là phần
tử toàn cục. Thuộc tính deanLocation sẽ được khai báo trên toàn cầu và được tham
chiếu trong định nghĩa kiểu như hình dưới đây:
substitutionGroup="gml:pointProperty"/>
<complexType name="DeanType">
<complexContent>
<extension base="gml:AbstractFeatureType">
<sequence>
21
<element name="familyName" type="string"/>
maxOccurs="unbounded"/>
</sequence>
</extension>
</complexContent>
</complexType>
GML 2.0 hỗ trợ việc xây dựng các bộ sưu tập tính năng, nơi mỗi phần tử trong lược
đồ ứng dụng có thể đại diện cho một bộ sưu tập tính năng. Để đảm bảo tính linh hoạt,
các bộ sưu tập tính năng được xác định bởi kiểu dữ liệu
gml:AbstractFeatureCollectionType và có thể thay thế phần tử trừu tượng
gml:_FeatureCollection.
Ví dụ, bộ sưu tập tính năng CityModel có thể chứa các thành viên là các tính năng
Đường và Sông. Trong ví dụ này, các tính năng trong CityModel được biểu diễn bằng
cách sử dụng thuộc tính gml:featureMember, một thuộc tính chung dựa trên
gml:FeatureAssociationType:
<CityModel fid="Cm1456">
<dateCreated>Feb 2000</dateCreated>
<gml:featureMember>
<River fid="Rv567">....</River>
</gml:featureMember>
22
<gml:featureMember>
<River fid="Rv568">....</River>
</gml:featureMember>
<gml:featureMember>
<Road fid="Rd812">....</Road>
</gml:featureMember>
</CityModel>
Đoạn mã lược đồ ứng dụng liên quan định nghĩa các phần tử CityModel, River và
Road:
<complexType name="CityModelType">
<complexContent>
<extension base="gml:AbstractFeatureCollectionType">
<sequence>
</sequence>
</extension>
</complexContent>
23
</complexType>
<complexType name="RiverType">
<complexContent>
<extension base="gml:AbstractFeatureType">
<sequence>....</sequence>
</extension>
</complexContent>
</complexType>
<complexType name="RoadType">
<complexContent>
<extension base="gml:AbstractFeatureType">
<sequence>.....</sequence>
</extension>
</complexContent>
</complexType>
GML 2.0 cung cấp cơ chế nhận dạng tính năng, trong đó mỗi tính năng có thể có một
thuộc tính 'fid' tùy chọn để xác định.
Để tham chiếu đến tính năng từ xa trong bộ sưu tập tính năng, ta có thể sử dụng các
phần tử liên kết đơn giản dựa trên XLink, cho phép thực hiện chức năng con trỏ.
Thuộc tính XLink chỉ có thể được đặt trên các phần tử thuộc tính và không có ràng
buộc nào đối với các giá trị của nó. Để tăng cường sự rõ ràng, một thuộc tính mới
trong không gian tên 'gml' được giới thiệu để bổ sung cho các thuộc tính XLink cơ
bản là remoteSchema, giúp xác định đoạn lược đồ GML hạn chế tài nguyên được trỏ
đến.
24
Với sự hỗ trợ của XLink, GML 2.0 cung cấp một cách tiện lợi để mã hóa các bộ sưu
tập tính năng và thực hiện chức năng con trỏ giữa chúng.
5. Hồ sơ
5.4 Quy tắc cho các phần tử và kiểu trong bản tóm lược
Các phần tử trong một hồ sơ GML sẽ:
● Chia sẻ tên (và không gian tên) của một phần tử cha trong GML.
● Bao gồm tất cả các phần bắt buộc (phần tử con và các thuộc tính) của phần tử
cha trong GML.
● Không bao gồm phần mà không có trong các phần tử cha trong GML.
● Có cùng giá trị mặc định cho các thuộc tính như các phần tử cha trong GML.
25
● Có một hệ thống phân cấp nhóm thay thế song song cho các phần tử có tên
trong cả hai lược đồ.
Kiểu chung trong một hồ sơ GML sẽ:
● Chia sẻ tên (và không gian tên) của một kiểu cha trong GML.
● Bao gồm tất cả các phần bắt buộc (phần tử con và các thuộc tính) của các kiểu
cha trong GML.
● Không bao gồm phần mà không có trong các kiểu cha GML.
● Có giá trị mặc định tương tự cho các thuộc tính như kiểu cha trong GML.
● Có một cây dẫn xuất song song với nhiều tên trong cả hai lược đồ. Tài liệu thể
hiện của một hồ sơ có giá trị đối với các lược đồ GML đầy đủ.
Sử dụng sao chép và kiểu bỏ mô tả ở trên, nhà phát triển có thể:
● Xóa các phần tử chung và các kiểu chung.
● Xóa phần tử con tùy chọn từ bất kỳ kiểu hoặc các phần tử.
● Làm cho phần tử con hoặc tùy thuộc tính bắt buộc trong bất kỳ kiểu hay thành
phần (nếu giá trị mặc định tồn tại, nó sẽ bị kiểu hoặc xác nhận lược đồ sẽ báo
lỗi giá trị mặc định chỉ có giá trị cho hạt tùy chọn).
● Giản lược cardinality của bất kỳ phần.
.
5.5 Quy tắc tham chiếu tóm lược GML từ lược đồ ứng dụng
Một lược đồ ứng dụng GML sẽ tham chiếu lược đồ GML đầy đủ trong các thuộc tính
schemaLocation của phần tử <import>.
Một tài liệu lược đồ ứng dụng GML phù hợp với một hoặc nhiều GML Profiles sẽ
cung cấp một phần tử chú thích Applnfo <gml:gmlProfileSchema> cho mỗi hồ sơ
trong các tài liệu lược đồ gốc <schema> phần tử hợp giá trị là một vị trí lược đồ của
lược đồ. Lưu ý rằng một lược đồ ứng dụng có thể phù hợp với nhiều cấu hình.
Ví dụ:
26
5.6 Khuyến nghị lược đồ ứng dụng sử dụng tóm lược GML
Để các hồ sơ trong một lược đồ ứng dụng có thể được mở rộng sau đó, bao gồm các
phần tử GML khác, các khuyến nghị sau đây được thực hiện:
● Các phần tử chung mà không có trong hồ sơ GML nhưng lại có trong một lược
đồ ứng dụng sử dụng một hồ sơ GML, không có cùng tên với bất kỳ phần tử
nào trong lược đồ GML.
● Kiểu chung không có trong một hồ sơ GML nhưng có trong một lược đồ ứng
dụng sử dụng một hồ sơ GML không nên có tên giống như bất kỳ kiểu trong
lược đồ GML.
Các khuyến nghị sau đây được thực hiện đơn giản để hiểu vai trò của các hồ sơ cá
nhân trong lược đồ ứng dụng:
● Các phần tử Profiled và các kiểu nên có trong một tập tin duy nhất cho cấu hình
nhỏ hơn hoặc trong một cấu trúc tập tin song song của GML.
● Một tham chiếu đến các tài liệu lược đồ GML thích hợp phải được thực hiện ở
đầu của tập tin.
6.1 Trường hợp đặc biệt của các đối tượng GML
AbstractFeature hoặc bất kỳ phần tử trực tiếp hoặc gián tiếp trong nhóm thay thế của
nó.Bao gồm tập đối tượng và tập dữ liệu địa lý.
27
Dictionary hoặc bất kỳ phần tử trực tiếp hoặc gián tiếp trong nhóm thay thế.Bao gồm
hệ thống phối hợp tham chiếu và các đơn vị từ điển.
TopoComplex hoặc bất kỳ phần tử trực tiếp hoặc gián tiếp trong nhóm thay thế.
Đối với một tài liệu GML, nguồn gốc của các thành phần mô tả các thành phần chính
trong tài liệu là một lược đồ ứng dụng GML.
6.1.2 Các phần tử đối tượng GML trong tài liệu XML khác
Các phần tử của các đối tượng GML có thể xảy ra trong các tài liệu XML mà không
phải là tài liệu GML, quá. Các tài liệu XML sẽ xác nhận đối với một lược đồ XML là
hàng nhập trực tiếp hoặc gián tiếp các lược đồ GML hoặc một hồ sơ GML và tùy chọn
một hoặc nhiều lược đồ ứng dụng GML.
VÍ DỤ: Phần tử đối tượng GML có thể được sử dụng trong yêu cầu và đáp ứng thông
điệp của dịch vụ WebGML.
Một lược đồ ứng dụng có thể tham chiếu cố định trực tiếp, các phần tử GML chung
(bao gồm cả các nhóm) và các thuộc tính (bao gồm cả attributeGroups) có tên và các
mô hình nội dung biểu diễn chính xác các thành phần của từ vựng nó định nghĩa
Ví dụ: Các phần tử thuộc tính như gml:name hoặc gml:description, các phần tử đối
tượng như gml:Observation, gml:Dictionary, or gml:Point, và các thuộc tính như
gml:id.
Lược đồ ứng dụng có thể khai báo các phần tử mới và các thuộc tính trong không gian
tên riêng, sử dụng các kiểu GML khi định nghĩa từ vựng cần phải bao gồm các tên
khác nhau cho các mô hình cùng một nội dung để phân biệt vai trò ngữ nghĩa của. Các
phần tử khai báo trong lược đồ ứng dụng nằm trong không gian tên khác nhau, và có
thể được sử dụng trong một thể hiện tài liệu.
Ví dụ: gml:EnvelopeType có thể được sử dụng như mô hình nội dung cho phần tử
xmml:lnterval.
28
Lược đồ ứng dụng có thể lấy được các kiểu mới trong không gian tên riêng bằng cách
mở rộng các kiểu GML khi định nghĩa từ vựng cần các thành phần bổ sung, thuộc tính
miền cụ thể.
Chú thích: Định nghĩa của ứng dụng cụ thể các kiểu đối tượng yêu cầu mô hình nội
dung của các kiểu đối tượng có nguồn gốc từ gml:AbstractFeatureType, thường bằng
cách mở rộng.
Lược đồ ứng dụng có thể lấy được các kiểu mới trong không gian tên bằng cách giản
lược các kiểu GML khi định nghĩa từ vựng cần các phiên bản chuyên biệt hơn các
kiểu GML giản lược cardinality hoặc kiểu thuộc tính.
Một lược đồ ứng dụng có thể khai báo các phần tử mới được gán cho một nhóm thay
thế mà dẫn đầu là một phần tử GML trừu tượng hay cố định. Sau đó các phần tử khai
báo trong lược đồ ứng dụng có thể xuất hiện trong các tài liệu ví dụ ở vị trí đứng đầu
nhóm thay thế và được tuân thủ QTI với mô hình nội dung đề cập đứng đầu nhóm
thay thế.
Lược đồ ứng dụng có thể được bao gồm nhiều tài liệu lược đồ rằng tất cả các khai báo
không gian tên cùng một mục tiêu.
Việc yêu cầu nhập các thành phần lược đồ GML được cung cấp gián tiếp thông qua
việc nhập lược đồ khác trong không gian tên của GML bao gồm các tài liệu lược đồ
GML cần thiết.
Ví dụ : Nhập gml.xsd từ Phụ lục C thỏa mãn các yêu cầu nhập lược đồ.
<import namespace="http://www.opengis.net/gml/3.2"
schemaLocation="../gml.xsd"/>
29
Các phần tử <import> quy định các thành phần được mô tả trong tài liệu lược đồ
GML nhập có liên quan đến không gian tên GML
Định danh tên miền không gian này phải phù hợp với không gian tên mục tiêu quy
định trong lược đồ được nhập để đảm bảo tính hợp lệ của lược đồ XML.
Đường dẫn (schemaLocation) vào tài liệu lược đồ GML nhập được cung cấp và có thể
là một bản sao của tài liệu, hoặc có thể một tham chiếu URI để một bản sao của tài
liệu lược đồ trong một số kho lưu trữ từ xa.
Mô hình nội dung của một kiểu đối tượng được xác định bởi một lược đồ ứng dụng
GML sẽ lấy trực tiếp từ các kiểu đối tượng GML làm cơ sở cho mô hình nội dung,
trong khi vẫn giữ sự nhất quán ngữ nghĩa và tăng tính chuyên môn.
Một kiểu thuộc tính quy định bởi một lược đồ ứng dụng GML có chứa nội tuyến một
đối tượng GML đơn có thể được bắt nguồn từ gml: InlinePropertyType hoặc có thể
làm theo mô hình mẫu của kiểu GML này.
Một kiểu thuộc tính quy định bởi một lược đồ ứng dụng GML để tham chiếu một đối
tượng GML đơn có thể được bắt nguồn từ gml:ReferenceType hoặc có thể làm theo
mô hình mẫu của kiểu này.
Một kiểu thuộc tính quy định bởi một lược đồ ứng dụng có chứa một tập đồng nhất
của các đối tượng GML được thực hiện theo mô hình của gml:lnlinePropertyType,
nhưng có thể thay đổi giá trị minOccurs và maxOccurs trong phần tử <sequence>.
30
6.2.7 Phần tử biểu diễn cho thuộc tính
Phần tử biểu diễn các thuộc tính của đối tượng GML được khai báo là các phần tử
chung trong một lược đồ ứng dụng, hoặc có thể được khai báo trong mô hình nội dung
đối tượng (kiểu định nghĩa).
Phần tử trong nội dung của các kiểu phức hợp được xác định với tên cục bộ trong một
lược đồ ứng dụng sẽ ngăn chặn sự giản lược trong không gian tên khác. Kiểu phức
hợp như vậy là phù hợp với các phần tử sử dụng y nguyên không gian tên riêng, và có
thể được khai báo final = "restriction". Phần tử trong nội dung của các kiểu phức hợp
được xác định bằng cách tham chiếu đến các phần tử chung hỗ trợ nguồn gốc bởi sự
giản lược trong không gian tên khác, cho phép giản lược cardinality, hoặc thay thế bởi
một thành viên của một nhóm thay thế. Kiểu phức hợp như vậy được thiết kế cho
nguồn gốc bằng cách giản lược là các kiểu "thư viện" thích hợp cho các phần tử trong
nhóm thay thế mà qua không gian tên.
Lược đồ ứng dụng đối tượng xác định đối tượng địa lý và tập đối tượng cho một miền
ứng dụng cụ thể. Các lược đồ ứng dụng GML phải tuân theo các quy tắc được mô tả
trong các mục con sau.
Một phần tử biểu diễn cho một đối tượng được là nhóm thay thế trực tiếp hoặc gián
tiếp của gml:AbstractFeature.
31
Một phần tử biểu diễn cho một tập kiểu đối tượng là nhóm thay thế trực tiếp hoặc gián
tiếp của gml: AbstractFeature và có trong mô hình nội dung là một phần tử thuộc tính
có mô hình nội dung mở rộng từ gml: AbstractFeatureMemberType.
6.4.2 Các loại hình học và thuộc tính hình học người dùng định nghĩa
6.4.2.1 Các loại hình học người dùng định nghĩa
Tác giả của các lược đồ ứng dụng có thể tạo ra các kiểu hình học của riêng mình nếu
GML thiếu cấu trúc mong muốn. Để làm điều này, các tác giả phải đảm bảo rằng các
phần tử đối tượng của các hình học và loại tập hợp hình học cụ thể đó nằm trong
nhóm thay thế (trực tiếp hoặc gián tiếp) của thành phần đối tượng GML tương ứng:
gml: AbstractGeometry.
Ví dụ: Dưới đây là phần tử và định nghĩa kiểu phức hợp trong một lược đồ ứng dụng
mở rộng gml: Point (ví dụ như hướng của một biểu tượng trong chân dung).
Bất kỳ các phân lớp hình học do người dùng định nghĩa sẽ kế thừa các phần tử và
thuộc tính của các kiểu hình học GML cơ bản mà không có giới hạn, nhưng có thể mở
rộng các loại cơ bản này để đáp ứng các yêu cầu của ứng dụng, như cung cấp mức độ
tương thích tốt hơn với các hệ thống kế thừa và bộ dữ liệu.
32
6.4.2.2 Các loại thuộc tính hình học người dùng định nghĩa
Một loại thuộc tính hình học có thể là hạn chế của gml: GeometryPropertyType,
nhưng đây không phải là yêu cầu. Tuy nhiên, mọi thuộc tính hình học phải tuân theo
mô hình của loại này. Một lược đồ ứng dụng có thể hỗ trợ sự lựa chọn giữa một ngữ
nghĩa nội tuyến hoặc một ngữ nghĩa tham chiếu hoặc nó có thể giới hạn việc sử dụng
nội tuyến (không sử dụng thuộc tính Xlink) hoặc theo tham chiếu (cấm ngăn chặn các
hình học trong đối tượng địa lý).
Một loại thuộc tính mảng hình học có thể là một hạn chế của gml:
GeometryArrayPropertyType, nhưng đây không phải là yêu cầu. Tuy nhiên, mọi thuộc
tính hình học phải tuân theo mô hình kiểu này. Tất cả các phần tử hình học trong
mảng được chứa nội tuyến trong đối tượng chứa, chỉ có các ngữ nghĩa nội tuyến được
hỗ trợ bởi thuộc tính mảng.
Ví dụ: Các định nghĩa kiểu phức hợp sau đây trong một lược đồ ứng dụng định nghĩa
một loại thuộc tính chuẩn cho kiểu hình học do người dùng định nghĩa và một kiểu
thuộc tính mảng cho cùng một kiểu hình học.
6.5.2 Các loại tô-pô và thuộc tính tô-pô người dùng định nghĩa
6.5.2.1 Các loại tô-pô người dùng định nghĩa
Các lược đồ ứng dụng có thể tạo các kiểu tô-pô của riêng mình nếu GML thiếu
cấu trúc mong muốn. Để làm điều này, các tác giả phải đảm bảo rằng các phần
tử đối tượng của các kiểu tô- pô cụ thể này nằm trong nhóm thay thế (trực tiếp
hay gián tiếp) của thành phần đối tượng GML tương ứng: gml:
AbstractTopology.
Bất kỳ các phân lớp tô-pô do người dùng định nghĩa sẽ kế thừa các phần tử và
thuộc tính của các kiểu tô-pô GML cơ bản mà không có giới hạn, nhưng có thể
mở rộng các loại cơ bản này để đáp ứng các yêu cầu của ứng dụng, như cung
cấp mức độ tương thích tốt hơn với các hệ thống kế thừa và các bộ dữ liệu.
6.5.2.2 Các loại thuộc tính tô-pô người dùng định nghĩa
Các lược đồ ứng dụng có thể tự tạo các loại thuộc tính tô-pô của riêng
mình.Phải đảm bảo rằng các thuộc tính này tuân theo các quy tắc. Ngoài ra,
kiểu mục tiêu (đích) sẽ là một cấu trúc tô-pô thực.
Một loại thuộc tính tô-pô có thể là một hạn chế của một loại thuộc tính tô-pô
hiện có.
Một loại thuộc tính tô-pô có thể hỗ trợ sự lựa chọn giữa một ngữ nghĩa nội
tuyến hoặc một ngữ nghĩa tham chiếu hoặc nó có thể hạn chế sử dụng cho nội
tuyến (không sử dụng thuộc tính Xlink) hoặc theo tham chiếu (cấm ngăn chặn
các hình học trong đối tượng tượng địa lý)
Thông thường các thành phần lược đồ thời gian bổ sung được yêu cầu ngoài những
yêu cầu của gml: AbstractTimeObject.
Trong thực tế, đặc biệt là các phần tử và các loại cụ thể như gml: Timelnstant và gml:
TimelnstantPropertyType thường là một phần của hồ sơ.
34
6.6.2 Các loại thời gian và thuộc tính thời gian người dùng định nghĩa
6.6.2.1 Các loại thời gian người dùng định nghĩa
Các tác giả của các lược đồ ứng dụng có thể tạo ra các kiểu thời gian riêng của
họ nếu GML thiếu cấu trúc mong muốn. Để làm điều này, tác giả phải đảm bảo
rằng các phần tử đối tượng của các kiểu thời gian cụ thể này nằm trong nhóm
thay thế (trực tiếp hoặc gián tiếp) của thành phần đối tượng GML tương ứng:
gml: AbstractTimeObject.
Bất kỳ kiểu con thời gian nào do người dùng định nghĩa sẽ kế thừa các phần tử
và thuộc tính của các loại thời gian GML cơ bản mà không có giới hạn, nhưng
có thể mở rộng các loại cơ bản này để đáp ứng các yêu cầu của ứng dụng, như
cung cấp mức độ tương thích tốt hơn với các hệ thống kế thừa và tập dữ liệu.
6.6.2.2 Các loại thuộc tính thời gian người dùng định nghĩa
Một loại thuộc tính thời gian có thể là sự hạn chế của một loại thuộc tính thời
gian hiện có.
Một loại thuộc tính thời gian có thể hỗ trợ sự lựa chọn giữa một ngữ nghĩa nội
tuyến hoặc một ngữ nghĩa tham chiếu hoặc nó có thể hạn chế việc sử dụng nội
tuyến (không sử dụng thuộc tính Xlink) hoặc theo tham chiếu (cấm ngăn chặn
các hình học trong đối tượng địa lý).
Các chuyển đổi, chuyển giao các phần tử, ParameterValue, và phần tử
ParameterValueGroup được sử dụng cho các phương pháp phối hợp hoạt động, đặc
35
biệt là khi chỉ có một thể hiện của phần tử là cần thiết cho phương pháp hoạt động.
Tuy nhiên, những phần tử này không nên được sử dụng cho phương thức phối hợp
hoạt động khi nhiều trường hợp của các phần tử cho một phương pháp hoạt động.
6.7.2 Nhập thành phần lược đồ hệ thống phối hợp tham chiếu GML
Các lược đồ ứng dụng sẽ nhập các lược đồ GML như mô tả trong 12.2.3. Bất kỳ hồ sơ
GML tham chiếu từ các lược đồ ứng dụng bao gồm ít nhất là phần tử
gml:AbstractCoordinateReferenceSystem và tất cả các thành phần lược đồ được sử
dụng bởi phần tử này
Thêm các thành phần lược đồ phối hợp hệ thống tham chiếu được yêu cầu, bên cạnh
những yêu cầu của gml:AbstractCoordinateReferenceSystem. Trong thực tế, các phần
tử đặc biệt là cố định và các kiểu thường sẽ là một phần của hồ sơ cá nhân.
Thêm các thành phần lược đồ tập dữ liệu địa lý được yêu cầu, bên cạnh những yêu cầu
của gml:AbstractCoverage. Trong thực tế, các phần tử đặc biệt là cố định và các kiểu
như gml:RectifiedGridCoverage thường sẽ là một phần của hồ sơ cá nhân.
Lược đồ ứng dụng có thể tạo ra các kiểu tập dữ liệu địa lý nếu GML thiếu xây dựng
mong muốn. Để làm điều này, phải đảm bảo rằng các phần tử đối tượng của các kiểu
tập dữ liệu địa lý đang thuộc nhóm thay thế (hoặc trực tiếp hoặc gián tiếp) của phần tử
đối tượng GML tương ứng: hoặc gml: AbstractDiscreteCoverage hoặc
gml:AbstractContinuousCoverage
Những phần tử gián tiếp trong nhóm thay thế gml: AbstractFeature thỏa mãn các điều
kiện của mô hình đối tượng.
36
Tiêu chuẩn này cung cấp các kiểu tập dữ liệu địa lý rời rạc gml:MultiPointCoverage,
gml:MultiCurveCoverage, gml:MultiSurfaceCoverage, gml:MultiSolidCoverage,
gml:GridCoverage, và gml:RectifledGridCoverage. Các ứng dụng tập dữ liệu địa lý có
thể xuất phát từ bất kỳ phần tử nào trong số những phần tử này.
Bất kỳ kiểu tập dữ liệu địa lý con do người dùng định nghĩa kế thừa các phần tử và
các thuộc tính của các kiểu tập dữ liệu địa lý GML cơ sở mà không giản lược, nhưng
có thể mở rộng các kiểu cơ sở để đáp ứng yêu cầu ứng dụng.
37
6.9.3 Các kiểu quan sát do người dùng định nghĩa
Tất cả các kiểu quan sát được xác định trong lược đồ ứng dụng GML sẽ được khai báo
là các phần tử toàn cục trong lược đồ, nghĩa là chúng phải là các phần tử con của phần
tử <schema> lược đồ XML. Mô hình nội dung cho các yếu tố toàn cục như vậy sẽ
được lấy bằng cách mở rộng trực tiếp hay gián tiếp từ gml: ObservationType.
Tác giả của các lược đồ ứng dụng có thể tạo ra các loại quan sát riêng của họ nếu
GML không có cấu trúc mong muốn. Để làm điều này, các tác giả phải đảm bảo rằng
các phần tử đối tượng của các kiểu quan sát này nằm trong nhóm thay thế (trực tiếp
hoặc gián tiếp) của thành phần đối tượng GML tương ứng: gml:Observation.
Các yếu tố gián tiếp trong nhóm thay thế của gml: AbstractFeature và do đó điều kiện
của mô hình đối tượng địa lý là thỏa mãn.
Tiêu chuẩn này cung cấp các kiểu quan sát đơn giản cụ thể gml:Observation, gml:
DirectedObservatlon và gml: DirectedObservationAtDistance. Các loại quan sát ứng
dụng cũng có thể xuất phát từ bất kỳ dạng quan sát nào.
Một lược đồ ứng dụng cho các định nghĩa xác định một hoặc nhiều loại định nghĩa
phù hợp với các quy tắc sau.
Các tác giả của các lược đồ ứng dụng có thể tạo các kiểu định nghĩa của riêng họ nếu
GML thiếu cấu trúc mong muốn. Để làm điều này, các tác giả phải đảm bảo rằng các
38
phần tử đối tượng của các loại định nghĩa này nằm trong nhóm thay thế (trực tiếp hoặc
gián tiếp) của thành phần đối tượng GML tương ứng: gml: Definition.
Các tác giả của các lược đồ ứng dụng có thể tạo các loại từ điển của riêng mình nếu
GML không có cấu trúc mong muốn. Để làm điều này, các tác giả phải đảm bảo rằng
các phần tử đối tượng của các kiểu định nghĩa này nằm trong nhóm thay thế (trực tiếp
hay gián tiếp) của thành phần đối tượng GML tương ứng: gml: Dictionary.
6.11.2 Nhập các thành phần lược đồ đối tượng giá trị GML
Bất kì lược đồ GML nào được tham chiếu từ lược đồ ứng dụng phải bao gồm nhóm
gml: Value và tất cả các thành phần lược đồ được sử dụng bởi phần tử này.
39
6.12 Hồ sơ GML của lược đồ GML
Thông thường một lược đồ ứng dụng GML chỉ yêu cầu một tập con giới hạn các thành
phần lược đồ của lược đồ GML.Một số nguyên tắc mà các thành phần lược đồ có thể
được yêu cầu tùy thuộc vào loại lược đồ ứng dụng GML.
● Trong một lược đồ ứng dụng mô hình các đối tượng địa lý, gml:
AbstractFeature và tất cả các thành phần lược đồ yêu cầu bởi phần tử này là bắt
buộc.
● Trong một lược đồ ứng dụng mô hình hòa tập các đối tượng địa lý, gml:
AbstractFeatureMemberType và gml: AggregationAttributeGroup cũng được
yêu cầu, cũng như tất cả các thành phần lược đồ mà 2 thành phần này yêu cầu.
● Nếu các đối tượng địa lý có các thuộc tính sử dụng các đơn vị đo lường, gml:
MeasureType và tất cả các phân nhóm cụ thể, ví dụ: gml: LengthType, được
yêu cầu cũng như tất cả các thành phần lược đồ do các thành phần này yêu cầu.
gml: BaseUnit, gml: DerivedUnit, gml: ConventionalUnit (và tất cả các thành
phần lược đồ yêu cầu của các thành phần này) không bắt buộc trừ khi ứng dụng
xác định các đơn vị đo lường như xuất hiện trong một đơn vị của từ điển đo.
● Nếu lược đồ ứng dụng sử dụng hình học không gian 0 chiều, gml: Point được
yêu cầu (và tất cả các thành phần lược đồ do thành phần này yêu cầu).
● Nếu lược đồ ứng dụng chỉ sử dụng các hình học không gian đơn giản một
chiều với nội suy tuyến tính, chỉ thành phần gml: LineString là bắt buộc (và tất
cả các thành phần lược đồ theo yêu cầu của thành phần này).
● Nếu lược đồ ứng dụng sử dụng các kiểu nội suy bổ sung, gml: Curve và bất kỳ
số phân đoạn đường cong nào tùy thuộc vào ứng dụng (nhưng ít nhất là một) là
bắt buộc. Đồng thời, tất cả các thành phần lược đồ yêu cầu bởi các yếu tố này.
● Nếu lược đồ ứng dụng chỉ sử dụng các hình học không gian hai chiều đơn giản
với nội suy tuyến tính dọc theo ranh giới của chúng mà không chia sẻ các phần
tử ranh giới, chỉ gml: Polygon và gml: LinearRing được yêu cầu (và tất cả các
thành phần lược đồ yêu cầu của các thành phần này).
● Nếu lược đồ ứng dụng sử dụng các kiểu nội suy bổ sung hoặc các bản vá bề
mặt, gml: Surface và bất kỳ số lượng vá bề mặt nào tùy thuộc vào ứng dụng
(nhưng ít nhất là một) là bắt buộc. Nếu bề mặt chia sẻ các nguyên thủy hình
học dọc theo ranh giới của chúng, gml: Ring được yêu cầu (tất cả các thành
phần lược đồ yêu cầu bởi các yếu tố này)
● Nếu lược đồ ứng dụng sử dụng hình học không gian ba chiều, gml: Solid được
yêu cầu (và tất cả các thành phần lược đồ cần thiết của nó).
● Các thành phần lược đồ tổ hợp và hỗn hợp hình học được mô tả nếu các đối
tượng địa lý sử dụng phức hợp hình học trong các thuộc tính không gian của
chúng.
40
7. Trao đổi và chia sẻ dữ liệu GML
GML với tính năng mã nguồn mở và khả năng tương thích với nhiều hệ thống GIS
khác nhau đã tạo điều kiện thuận lợi cho việc trao đổi, chia sẻ dữ liệu địa lý. Hiện nay,
có nhiều phần mềm và công cụ hỗ trợ tạo, hiển thị, chỉnh sửa dữ liệu GML như QGIS,
ArcGIS, gvSIG, JUMP GIS, Deegree,... Các phần mềm GIS phổ biến này đều có khả
năng import/export trực tiếp với định dạng GML hoặc thông qua các dịch vụ web GIS
hỗ trợ GML như WFS, WMS. Bên cạnh đó, GML cũng tương thích với các tiêu
chuẩnmở định dạng dữ liệu địa lý khác như GeoJSON, KML,... giúp trao đổi dữ liệu
được thuận tiện hơn.
41
Hình: Ví dụ về dịch vụ phần web theo tiêu chuẩn WFS, sử dụng định dạng GML để
truyền dữ liệu thành phần.
GML đã được ứng dụng rộng rãi trong nhiều lĩnh vực liên quan đến quản lý và phân
tích dữ liệu địa lý. Trong lĩnh vực GIS và bản đồ, GML là định dạng lý tưởng để lưu
trữ, hiển thị và xử lý dữ liệu không gian. GML cũng đóng vai trò quan trọng trong các
hệ thống thông tin đô thị 3D, quản lý tài nguyên đất đai, rừng, quản lý cơ sở hạ tầng
giao thông. Ngoài ra, GML còn được ứng dụng trong khí tượng, hàng hải, giám sát
môi trường, ứng phó khẩn cấp thảm họa, khai thác khoáng sản, quy hoạch đô thị và
nhiều lĩnh vực khác. Với khả năng mô tả đầy đủ các thông tin không gian, topo học và
siêu dữ liệu, GML đang ngày càng khẳng định vai trò là một tiêu chuẩn quan trọng
trong việc số hóa, lưu trữ và chia sẻ dữ liệu địa lý trên phạm vi toàn cầu.
1. https://docs.fileformat.com/fr/gis/gml/
2. gml01-029-20010228.pdf (coverpages.org)
42
4. http://nationalmap.gov/framework.html
5.https://redirect.zalo.me/v3/verifyv2/pc?token=OcNxnjvnLWnW2lBErHvVQca8-
R_M7K9sRmxvkpK&continue=https%3A%2F%2Fluatvietnam.vn%2Ftai-nguyen
%2Ftieu-chuan-tcvn-12155-2018-khuon-thuc-trao-doi-du-lieu-dia-ly-163783-d3.html
6. http://www.opengis.net/gml/3.2
7. http://www.w3.org/Mobile/posdep/GMLIntroduction.html
43