Name

ST_AsMARC21 — Gibt die Geometrie als MARC21/XML-Datensatz mit einem geografischen Datenfeld (034) zurück.

Synopsis

text ST_AsMARC21 ( geometry geom , text format='hdddmmss' );

Beschreibung

Diese Funktion gibt einen MARC21/XML-Datensatz mit Codierten kartographisch-mathematischen Daten zurück, der die Bounding Box einer bestimmten Geometrie darstellt. Der Parameter Format erlaubt die Codierung der Koordinaten in den Unterfeldern $d,$e,$f und $g in allen vom MARC21/XML-Standard unterstützten Formaten zu codieren. Gültige Formate sind:

  • Himmelsrichtung, Grad, Minuten und Sekunden (Standard): hdddmmss

  • Dezimalgrad mit Himmelsrichtung: hddd.dddddd

  • Dezimalgrad ohne Himmelsrichtung: ddd.dddddd

  • Dezimalminuten mit Himmelsrichtung: hdddmm.mmmm

  • Dezimalminuten ohne Himmelsrichtung: dddmm.mmmm

  • Dezimalsekunden mit Himmelsrichtung: hdddmmss.sss

Das Dezimalzeichen kann auch ein Komma sein, z.B. hdddmm,mmmm.

Die Genauigkeit von Dezimalformaten kann durch die Anzahl der Zeichen nach dem Dezimalzeichen begrenzt werden, z. B. hdddmm.mm für Dezimalminuten mit einer Genauigkeit von zwei Dezimalstellen.

Diese Funktion ignoriert die Dimensionen Z und M.

LOC MARC21/XML-Versionen werden unterstützt:

Verfügbarkeit: 3.3.0

[Note]

Diese Funktion unterstützt keine Geometrien, die nicht lon/lat sind, da diese nicht vom MARC21/XML-Standard (Coded Cartographic Mathematical Data) unterstützt werden.

[Note]

Der MARC21/XML-Standard bietet keine Möglichkeit, das räumliche Referenzsystem für kartografisch-mathematische Daten zu kommentieren, was bedeutet, dass diese Information nach der Konvertierung in MARC21/XML verloren geht.

Beispiele

Konvertierung eines POINT in MARC21/XML im Format hdddmmss (Standard)



                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>



Konvertierung eines POLYGON in MARC21/XML in dezimaler Form



                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>



Konvertierung einer GEOMETRYCOLLECTION in MARC21/XML im Dezimalminutenformat. Die Reihenfolge der Geometrien in der MARC21/XML-Ausgabe entspricht der Reihenfolge in der Sammlung.



                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>



Siehe auch

ST_GeomFromMARC21