Uploaded by nmv

9 Tieu chuan GML 24092014

advertisement
Tiêu chuẩn Geography Markup Language – Ngôn ngữ đánh dấu địa lý
Tổng quan về GML
Tiêu chuẩn GML (Geography Markup Language) – Ngôn ngữ đánh dấu địa lý
là một tiêu chuẩn mã hóa thông tin địa lý dựa trên ngôn ngữ đánh dấu mở rộng XML
(Extensible Markup Language) do Tổ chức Không gian địa lý (Open Geospatial
Consortium - OGC) phát triển. Đây là một tổ chức quốc tế được thành lập năm 1994
với mục tiêukhuyến khích phát triển và thực thi các chuẩn mở cho nội dung về địa lý,
các dịch vụ dữ liệu và chia sẻ dữ liệu thuộc Hệ thống thông tin địa lý.
Tiêu chuẩn GML vừa là một ngôn ngữ mô hình hóa cho các hệ thống thông tin
địa lý vừa là một định dạng trao đổi mở cho các giao dịch địa lý trên Internet. Cho đến
hiện tại, GML bao gồm những phiên bản sau (Các tài liệu tham khảo của các phiên
bản có thể tham khảo tại đây):
- Phiên bản đầu tiên chỉ được coi là một bài khuyến nghị do một nhóm tác giả
thực hiện và được đăng tải vào tháng 5 năm 2000. Phiên bản này bao gồm 3 hồ sơ về
GML, trong đó 2 hồ sơ dựa trên định nghĩa kiểu tài liệu (Document Type Definition –
DTD, tập các khai báo đánh dấu định nghĩa kiểu tài liệu cho họ Ngôn ngữ đánh dấu
tiêu chuẩn chung (Standard Generalized Markup Language – SGML)) và một hồ sơ
dựa trên khung mô tả nguồn tài nguyên (Resource Description Framework – RDF, họ
các đặc tả của tổ chức W3C như mô hình Đặc tả dữ liệu (Metadata)).
- Phiên bản thứ hai là GML 2 (bao gồm các phiên bản GML 2), được công bố
vào tháng 2 năm 2001, thay thế phiên bản đầu tiên và thiết lập một số nguyên tắc
chính của GML, thay thế cơ chế nguồn tài nguyên cho các tham chiếu từ xa sử dụng
xlink:href, phát triển một số thành phần đặc tả để xử lý các mở rộng cho các cấu trúc
phức tạp.
- Phiên bản thứ ba là GML 3 (bao gồm các phiên bản 3), đã được công bố là
tiêu chuẩn quốc tế ISO 19136:2007 vào tháng 8 năm 2007. Các đặc tả GML thuộc họ
các tiêu chuẩn về thông tin địa lý, dựa trên mã hóa XML phù hợp với tiêu chuẩn ISO
19118 về trao đổi và lưu trữ các thông tin địa lý được mô hình hóa theo khung mô hình
khái niệm sử dụng trong chuỗi tiêu chuẩn ISO 19100 và bao gồm cả thuộc tính không
gian và phi không gian địa lý, cụ thể: ISO/TSS 19103 – Ngôn ngữ lược đồ khái niệm
(các đơn vị đo, các kiểu dữ liệu cơ bản); ISO 19107 – Lược đồ không gian (các đối
tượng hình học và cấu trúc liên kết); ISO 19108 – Lược đồ thời gian (các đối tượng
hình học theo thời gian và cấu trúc liên kết, các hệ tham chiếu thời gian); ISO 19109 –
Các nguyên tắc lược đồ ứng dụng (các đặc tính); ISO 19111 – Tham chiếu không gian
(các hệ tham chiếu kết hợp); ISO 19123 – Lược đồ hình học phạm vi và các chức
năng; ISO 19148 – Tham chiếu tuyến tính (được bổ sung tại phiên bản GML 3.3).
Phiên bản GML 3.3 về các lược đồ mở rộng và các nguyên tắc mã hóa đã được
công bố vào tháng 7 năm 2012. Phiên bản này định nghĩa các khái niệm XML được sử
1
dụng trong tập dữ liệu không gian theo thời gian, mở rộng phiên bản GML 3.2 (ISO
19136:2007).
Mô hình GML
Mô hình GML gốc được dựa trên Khung mô tả nguồn tài nguyên RDF của Hiệp
hồi Web toàn cầu. Nó bao gồm tập các thành phần có sẵn rất phong phú được sử dụng
để xây dựng nên các lược đồ ứng dụng hay các ngôn ngữ ứng dụng, cụ thể gồm: Lược
đồ GML – Các nguyên tắc chung và các thành phần lược đồ cơ sở; Lược đồ GML –
Xlink và các kiểu phần tử cơ bản; Lược đồ GML – Các đặc tính; Lược đồ GML – Các
thành phần hình học có sẵn; Lược đồ GML – Tập hình học, kiến trúc hỗn hợp và phức
hợp; Lược đồ GML – Lược đồ các hệ tham chiếu kết hợp; Lược đồ GML – Cấu trúc
liên kết (topology); Lược đồ GML – Dữ liệu thời gian và các đặc tính động; Lược đồ
GML – Các đơn vị đo và các giá trị; Lược đồ GML – Các hướng (directions); Lược đồ
GML – Quan sát (observations); Lược đồ GML – Phạm vi (coverages).
Lược đồ GML
Lược đồ GML bao gồm các thành phần lược đồ XML của Hiệp hội Web toàn
cầu W3C xác định các kiểu và khai báo:
- Các phần tử XML để mã hóa các đối tượng GML với đặc tính riêng (identity),
- Các phần tử XML để mã hóa các thuộc tính của các đối tượng GML đó,
- Các thuộc tính của các đối tượng trên.
Trong đó, một đối tượng GML là một phần tử XML được hình thành trực tiếp
hoặc gián tiếp từ gml:AbstractGMLType; thuộc tính là một phần tử con của một đối
tượng GML, có biểu diễn là xlink:href, tham chiếu đến một đặc tính.
Các thành phần lược đồ cơ bản gmlBase
Các thành phần lược đồ gmlBase thiết lập mô hình và cú pháp GML, cụ thể:
- Một kiểu XML gốc được xuất phát từ các kiểu XML cho tất cả các đối tượng
XML
- Một kiểu mẫu và các thành phần cho các thuộc tính GML
- Các kiểu mẫu cho các tập hợp và các dãy, các thành phần cho các tập hợp và
dãy chung
- Các thành phần để liên kết đặc tả dữ liệu với các đối tượng GML
- Các thành phần xây dựng định nghĩa và từ điển
Các đối tượng cơ sở
Một phần tử thích hợp gml:AbstractObject được khai báo như sau:
<element name="AbstractObject" abstract="true"/>
2
Phần tử này không được định nghĩa kiểu trước và do đó nó là XML Schema
kiểu anyType. Nó được sử dụng như phần tiêu đề (head) của một nhóm các thay đổi
XML Schema thống nhất về nội dung và các phần tử có nội dung đơn giản được sử
dụng cho các kiểu dữ liệu trong GML, bao gồm nhóm gml:AbstractGML.
Một tập dữ liệu GML (còn được gọi là tài liệu dữ liệu) được biểu diễn bởi một
phần tử đối tượng, đối tượng này có thể thuộc bộ các đối tượng GML.
Các thành phần cơ bản nhất thể hiện đối tượng có đặc tính riêng được mô tả
như sau:
<element name="AbstractGML" type="gml:AbstractGMLType"
abstract="true" substitutionGroup="gml:AbstractObject"/>
<complexType name="AbstractGMLType" abstract="true">
<sequence>
<group ref="gml:StandardObjectProperties"/>
</sequence>
<attribute ref="gml:id" use="required"/>
</complexType>
<group name="StandardObjectProperties">
<sequence>
<element ref="gml:metaDataProperty" minOccurs="0"
maxOccurs="unbounded"/>
<element ref="gml:description" minOccurs="0"/>
<element ref="gml:descriptionReference" minOccurs="0"/>
<element ref="gml:identifier" minOccurs="0"/>
<element ref="gml:name" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
</group>
Phần tử khái niệm gml:AbstractGML là “Một đối tượng GML bất kỳ có đặc
tính riêng”. Nó là phần tiêu đề của một nhóm thay đổi XML Schema, nhóm này có thể
chứa phần tử bất kỳ chẳng hạn như: đặc tính GML, đối tượng khác với đặc tính riêng.
Gml:AbstractGML và gml:AbstractGMLType chỉ ra một kiểu mẫu cơ sở được
sử dụng trong lược đồ GML khi mà mỗi kiểu đối tượng GML được biểu diễn bằng một
khai báo phần tử chung, có định nghĩa kiểu XML Schema. Tên của một phần tử thể
hiện một đối tượng GML chỉ ra ý nghĩa của đối tượng. Tên các phần tử chung trong
GML bao gồm gml:AbstractObject, gml:AbstractGML, gml:AbstractFeature,
gml:AbstractValue,
gml:AbstractCoverage,
gml:AbstractTopology
và
gml:AbstractCRS.
Các phần tử con và thể hiện (attributes) XML của một đối tượng GML là các
thuộc tính (properties) của đối tượng đó. Do đó, một đối tượng được biểu diễn bởi một
phần tử gml:AbstractGML có 5 thuộc tính gml:identifier, gml:description,
gml:descriptionReference, gml:name và gml:id.
Thuộc tính (properties) GML
Thuật ngữ “thuộc tính“ được sử dụng để tham chiếu đến một thuộc tính GML,
là một đặc điểm (characteristic) của một đối tượng GML. Một phần tử trong một tài
liệu GML hay một dòng dữ liệu là một thuộc tính GML khi và chỉ khi nó là một phần
3
tử con của một phần tử đối tượng GML. Ý nghĩa của mỗi thuộc tính sẽ được chỉ ra bởi
tên của mỗi phần tử.
Các đối tượng GML có thể có rất nhiều thuộc tính khác ngoài những thuộc tính
từ gml:AbstractGMLType. Một thuộc tính có thể được định nghĩa có cả nội dung đơn
giản và phức tạp. Một thuộc tính có nội dung đơn giản là một kiểu nội dung đơn giản
XML, là trường hợp các phần tử thuộc tính tiêu chuẩn gml:description và gml:name.
Một thuộc tính có nội dung phức tạp chứa kiểu nội dung phức tạp XML Schema.
Các phần tử thuộc tính có thể sử dụng 2 phương thức sau:
- inline: giá trị của thuộc tính được thể hiện trực tiếp, là nội dung của phần tử
thuộc tính. Phương thức này được sử dụng cho các thuộc tính tiêu chuẩn gml:name và
có thể được sử dụng cho gml:description.
- by reference: giá trị của thuộc tính là có sẵn và được đặc trưng bởi giá trị của
xlink:href trên phần tử thuộc tính. Phương thức này được sử dụng cho thuộc tính tiêu
chuẩn gml:descriptionReference.
Các thuộc tính tiêu chuẩn của đối tượng GML
Các kiểu lược đồ XML cho tất cả đối tượng GML đều hình thành trực tiếp hay
gián tiếp từ gml:AbstractGMLType, do đó, tất cả các đối tượng GML thừa hưởng các
thuộc tính tiêu chuẩn chứa trong mô hình nội dung gml:AbstractGMLType.
Nếu giá trị của thuộc tính là một mô tả kiểu văn bản về đối tượng,
gml:description, nó sẽ sử dụng gml:StringOrRefType là mô hình nội dung. Ví dụ:
<element name="description" type="gml:StringOrRefType"/>
Nếu giá trị của thuộc tính là một mô tả kiểu văn bản từ xa về đối tượng, nó sử
dụng xlink:href của thuộc tính gml:descriptionReference để tham chiếu. Ví dụ:
<element name="descriptionReference" type="gml:ReferenceType"/>
Thuộc tính gml:name thường là tên có tính chất mô tả, sử dụng mô hình nội
dung gml:CodeType. Một đối tượng có thể có nhiều tên, thường được đặt bởi nhiều tác
giả khác nhau, mỗi tác giả được chỉ ra bởi giá trị codeSpace, ví dụ:
<element name="name" type="gml:CodeType"/>
Trường hợp tên do một tác giả đặt và duy trì, được gọi là định danh (identifier),
nó được sử dụng trong các tham chiếu đến đối tượng. Khi đó, codeSpace sẽ được cung
cấp cụ thể và định danh sẽ có tính duy nhất, ví dụ:
<element name="identifier" type="gml:CodeWithAuthorityType"/>
Thuộc tính gml:id hỗ trợ việc xử lý các phần tử XML biểu diễn một đối tượng
GML, nó có tính bắt buộc cho tất cả các đối tượng GML, ví dụ:
<attribute name="id" type="ID"/>
Thuộc tính là kiểu ID của XML, vì thế nó có tính duy nhất trong tài liệu XML.
4
Đặc tả dữ liệu (metadata)
Để liên kết đặc tả dữ liệu được mô tả bởi lược đồ XML Schema bất kỳ với một
đối tượng GML, cần định nghĩa một phần tử thuộc tính có mô hình nội dung từ
gml:AbstractMetadataPropertyType.
Giá trị của mỗi thuộc tính này sẽ là đặc tả dữ liệu, mô hình nội dung của mỗi
kiểu thuộc tính sẽ như sau:
<complexType name="AbstractMetadataPropertyType" abstract="true">
<sequence/>
<attributeGroup ref="gml:OwnershipAttributeGroup"/>
</complexType>
Kiểu thuộc tính từ gml:AbstractMetadataPropertyType sẽ tuân theo một trong
các kiểu mẫu đặc tả cho các kiểu thuộc tính GML.
Ứng dụng
GML cung cấp nhiều loại đối tượng cho việc mô tả địa lý bao gồm các đặc tính
địa lý (geographic feature), hệ tham chiếu kết hợp (coordinate reference system), đối
tượng hình học (geometry), cấu trúc liên kết (topology), thời gian (time), đơn vị đo và
tổng quát hóa dữ liệu, do đó, GML được dùng để mô hình hóa (modeling), truyền tải
(transport), lưu trữ các thông tin địa lý như các điểm mạng, các tuyến đường, các hình
ảnh, thông tin định vị... Trong Thông tư số 22/2013/TT-BTTTT ngày 23 tháng 12
năm 2013 của Bộ trưởng Bộ Thông tin và Truyền thông Ban hành Danh mục tiêu
chuẩn kỹ thuật về ứng dụng công nghệ thông tin trong cơ quan nhà nước quy định Bắt
buộc áp dụng GML phiên bản 3.3 và được xếp vào nhóm Tiêu chuẩn về tích hợp dữ
liệu.
Đặng Thị Thu Hương – Cục Tin học hóa
5
Download