ST_AsMARC21 — Gibt die Geometrie als MARC21/XML-Datensatz mit einem geografischen Datenfeld (034) zurück.
text ST_AsMARC21 (
geometry geom , text format='hdddmmss' )
;
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
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. |
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. |
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>