名稱

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

[Note]

此函數不支援非經緯度的幾何圖形,因為 MARC21/XML 標準(編碼製圖數學資料)不支援它們。

[Note]

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>



另請參閱

ST_GeomFromMARC21