ST_AsMARC21 — 將幾何圖形以 MARC21/XML 記錄格式傳回,並包含地理資料欄位 (034)。
text ST_AsMARC21 (
geometry geom , text format='hdddmmss' )
;
此函數會傳回一個 MARC21/XML 記錄,其中包含編碼製圖數學資料,表示給定幾何圖形的邊界框。 format
參數允許以 MARC21/XML 標準支援的所有格式,在子欄位 $d
、$e
、$f
和 $g
中編碼座標。有效格式為:
方位、度、分和秒(預設):hdddmmss
含方位的十進制度:hddd.dddddd
不含方位的十進制度:ddd.dddddd
含方位的十進位分:hdddmm.mmmm
不含方位的十進位分:dddmm.mmmm
含方位的十進位秒:hdddmmss.sss
十進位符號也可以是逗號,例如 hdddmm,mmmm
。
十進位格式的精確度可以透過小數點後的字元數來限制,例如 hdddmm.mm
表示精確度為兩位小數的十進位分。
此函數會忽略 Z 和 M 維度。
支援的 LOC MARC21/XML 版本
可用性:3.3.0
![]() |
|
此函數不支援非經緯度的幾何圖形,因為 MARC21/XML 標準(編碼製圖數學資料)不支援它們。 |
![]() |
|
MARC21/XML 標準未提供任何方法來註釋編碼製圖數學資料的空間參考系統,這表示此資訊在轉換為 MARC21/XML 後將會遺失。 |
將 POINT
轉換為格式為 hdddmmss (預設) 的 MARC21/XML
SELECT ST_AsMARC21('SRID=4326;POINT(-4.504289 54.253312)'::geometry); st_asmarc21 ------------------------------------------------- <record xmlns="http://www.loc.gov/MARC21/slim"> <datafield tag="034" ind1="1" ind2=" "> <subfield code="a">a</subfield> <subfield code="d">W0043015</subfield> <subfield code="e">W0043015</subfield> <subfield code="f">N0541512</subfield> <subfield code="g">N0541512</subfield> </datafield> </record>
將 POLYGON
轉換為以十進制度格式化的 MARC21/XML
SELECT ST_AsMARC21('SRID=4326;POLYGON((-4.5792388916015625 54.18172660239091,-4.56756591796875 54.196993557130355,-4.546623229980469 54.18313300502024,-4.5792388916015625 54.18172660239091))'::geometry,'hddd.dddd'); <record xmlns="http://www.loc.gov/MARC21/slim"> <datafield tag="034" ind1="1" ind2=" "> <subfield code="a">a</subfield> <subfield code="d">W004.5792</subfield> <subfield code="e">W004.5466</subfield> <subfield code="f">N054.1970</subfield> <subfield code="g">N054.1817</subfield> </datafield> </record>
將 GEOMETRYCOLLECTION
轉換為以十進位分格式化的 MARC21/XML。MARC21/XML 輸出中的幾何圖形順序與它們在集合中的順序相對應。
SELECT ST_AsMARC21('SRID=4326;GEOMETRYCOLLECTION(POLYGON((13.1 52.65,13.516666666666667 52.65,13.516666666666667 52.38333333333333,13.1 52.38333333333333,13.1 52.65)),POINT(-4.5 54.25))'::geometry,'hdddmm.mmmm'); st_asmarc21 ------------------------------------------------- <record xmlns="http://www.loc.gov/MARC21/slim"> <datafield tag="034" ind1="1" ind2=" "> <subfield code="a">a</subfield> <subfield code="d">E01307.0000</subfield> <subfield code="e">E01331.0000</subfield> <subfield code="f">N05240.0000</subfield> <subfield code="g">N05224.0000</subfield> </datafield> <datafield tag="034" ind1="1" ind2=" "> <subfield code="a">a</subfield> <subfield code="d">W00430.0000</subfield> <subfield code="e">W00430.0000</subfield> <subfield code="f">N05415.0000</subfield> <subfield code="g">N05415.0000</subfield> </datafield> </record>