Nhiều đối tượng KML có thể chứa phần tử hoặc toạ độ <altitude>
chỉ định khoảng cách trên mặt đất, mực nước biển hoặc đáy biển cho đối tượng địa lý đó. Các phần tử <AbstractView>
cũng có thể chứa độ cao.
Mọi giá trị độ cao phải đi kèm với phần tử <altitudeMode>
để cho Google Earth biết cách đọc giá trị độ cao. Bạn có thể đo độ cao như sau:
- từ bề mặt Trái đất (
relativeToGround
), - trên mực nước biển (
absolute
) hoặc - tính từ đáy của các vùng nước chính (
relativeToSeaFloor
).
Cũng có thể bỏ qua (clampToGround
và clampToSeaFloor
)
Chế độ cao độ của SeaFloor và không gian tên của phần mở rộng KML
Các chế độ cao độ liên quan đến đáy biển được chứa trong một tập hợp các tiện ích với tiêu chuẩn KML, sử dụng tiền tố gx. Để sử dụng chúng, trước tiên, bạn phải thêm đúng URI không gian tên vào phần tử <kml>
mở đầu trong tệp KML:
<kml xmlns="http://www.opengis.net/kml/2.2" xmlns:gx="http://www.google.com/kml/ext/2.2">
Sau đó, hãy thay thế <gx:altitudeMode>
bằng <altitudeMode>
khi sử dụng clampToSeaFloor hoặc RelativeToSeaFloor.
Lưu ý rằng không gian tên phần mở rộng có tiền tố gx có thể không được một số trình duyệt địa lý hỗ trợ. Tính năng này được Google Earth 5.0 hỗ trợ.
Tham chiếu chế độ cao độ
tuyệt đối
Chế độ độ cao tuyệt đối đo độ cao so với mực nước biển, bất kể độ cao thực tế của địa hình bên dưới đối tượng địa lý. Bằng cách này, các tính năng có thể được đặt dưới lòng đất và sẽ không hiển thị. Các phần của một tính năng có thể mở rộng dưới lòng đất, như trong ví dụ dưới đây. Giá trị âm được chấp nhận để đặt các đối tượng địa lý dưới mực nước biển.
Chế độ cao độ này hữu ích trong trường hợp giá trị độ cao được biết chính xác. Ví dụ: đường đi GPS có thể sử dụng chế độ độ cao tuyệt đối để hiển thị đường đi được tạo trong khi bay hoặc lặn.
Ví dụ
<?xml version="1.0" encoding="UTF-8"?> <kml xmlns="http://www.opengis.net/kml/2.2"> <GroundOverlay> <name>absolute Example</name> <Icon> <href>rectangle.jpg</href> <viewBoundScale>0.75</viewBoundScale> </Icon> <altitude>2744.0</altitude> <altitudeMode>absolute</altitudeMode> <LatLonBox> <north>48.783</north> <south>48.751</south> <east>-121.75</east> <west>-121.89</west> <rotation>-30</rotation> </LatLonBox> </GroundOverlay> </kml>
kẹp
Chế độ này bỏ qua mọi giá trị độ cao và đặt tính năng KML trên bề mặt mặt đất, theo địa hình. Theo cách này, GroundOverlays có thể chẳng hạn, được phủ lên bề mặt Trái Đất. Nếu đối tượng địa lý này được định vị trên một vùng nước chính, clampToGround sẽ đặt đối tượng địa lý ở mực nước biển.
Mọi tính năng KML không được chỉ định chế độ độ cao sẽ được đặt mặc định là clampToGround.
Ví dụ
<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2"> <GroundOverlay> <name>clampToGround example</name> <Icon> <href>rectangle.jpg</href> <viewBoundScale>0.75</viewBoundScale> </Icon> <altitude>2744.0</altitude> <altitudeMode>clampToGround</altitudeMode> <LatLonBox> <north>48.783</north> <south>48.751</south> <east>-121.75</east> <west>-121.89</west> <rotation>-30</rotation> </LatLonBox> </GroundOverlay> </kml>
clampToSeaFlo
Được chứa trong không gian tên của phần mở rộng. Xem Chế độ cao độ SeaFloor và không gian tên tiện ích KML để biết thêm thông tin quan trọng.
Giống như clampToGround, chế độ này bỏ qua giá trị độ cao. Tính năng này đặt đối tượng địa lý ở đáy của một vùng nước chính; nếu đối tượng này nằm cách xa vùng nước, thì đối tượng địa lý đó sẽ được gắn với mặt đất.
Ví dụ
<?xml version="1.0" encoding="UTF-8"?> <kml xmlns="http://www.opengis.net/kml/2.2" xmlns:gx="http://www.google.com/kml/ext/2.2"> <!-- required when using gx-prefixed elements --> <Placemark> <name>clampToSeaFloor example</name> <Polygon> <tessellate>1</tessellate> <gx:altitudeMode>clampToSeaFloor</gx:altitudeMode> <outerBoundaryIs> <LinearRing> <coordinates> 146.793,12.213,0 146.803,12.202,0 146.829,12.218,0 146.807,12.226,0 146.793,12.213,0 </coordinates> </LinearRing> </outerBoundaryIs> </Polygon> </Placemark> </kml>
RelativeToGround
Đo độ cao từ mặt đất ngay bên dưới toạ độ.
Ví dụ: chế độ độ cao này có thể được sử dụng để đặt các đỉnh của đường dây điện khi chúng leo lên và qua một ngọn đồi. Nếu mỗi cột cao 20m, vị trí của mỗi cột sẽ chuyển lên và xuống theo độ cao của Trái Đất.
Ví dụ
<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2"> <Placemark> <name>relativeToGround Example</name> <LineString> <extrude>1</extrude> <altitudeMode>relativeToGround</altitudeMode> <coordinates> -121.835,48.754,700 -121.828,48.764,700 -121.818,48.776,700 -121.794,48.787,700 -121.778,48.781,700 -121.766,48.771,700 -121.768,48.757,700 -121.773,48.747,700 </coordinates> </LineString> </Placemark> </kml>
RelativeToSeaFloor
Được chứa trong không gian tên của phần mở rộng. Xem Chế độ cao độ SeaFloor và không gian tên tiện ích KML để biết thêm thông tin quan trọng.
Làm mờ độ cao từ đáy biển ngay bên dưới đối tượng nếu đối tượng địa lý được đặt trên một vùng nước chính. Nếu không phải trên mặt nước, độ cao sẽ được đo từ mặt đất.
Ví dụ
<?xml version="1.0" encoding="UTF-8"?> <kml xmlns="http://www.opengis.net/kml/2.2" xmlns:gx="http://www.google.com/kml/ext/2.2"> <!-- required when using gx-prefixed elements --> <Placemark> <name>relativeToSeaFloor Example</name> <LineString> <extrude>1</extrude> <gx:altitudeMode>relativeToSeaFloor</gx:altitudeMode> <coordinates> 146.825,12.233,400 146.820,12.222,400 146.812,12.212,400 146.796,12.209,400 146.788,12.205,400 </coordinates> </LineString> </Placemark> </kml>