ST_AsMARC21 — Returnerar geometri som en MARC21/XML-post med ett geografiskt datafält (034).
text ST_AsMARC21 (
geometry geom , text format='hdddmmss' )
;
Denna funktion returnerar en MARC21/XML-post med kodade kartografiska matematiska data som representerar den begränsande boxen för en given geometri. Formatparametern
gör det möjligt att koda koordinaterna i underfälten $d
,$e
,$f
och $g
i alla format som stöds av MARC21/XML-standarden. Giltiga format är:
kardinalriktning, grader, minuter och sekunder (standard): hdddmmss
decimalgrader med kardinalriktning: hddd
.dddddd
decimalgrader utan kardinalriktning: ddd.dddddddd
decimalminuter med kardinalriktning: hdddmm.mmmm
decimalminuter utan kardinalriktning: dddmm.mmmm
decimalsekunder med kardinalriktning: hdddmmss.sss
Decimaltecknet kan också vara ett kommatecken, t.ex. hdddmm,mmmm.
.
Precisionen i decimalformat kan begränsas av antalet tecken efter decimaltecknet, t.ex. hdddmm.mm
för decimala minuter med en precision på två decimaler.
Denna funktion ignorerar Z- och M-dimensionerna.
Stöd för LOC MARC21/XML-versioner:
Tillgänglighet: 3.3.0
![]() |
|
Denna funktion stöder inte geometrier som inte är lon/lat, eftersom de inte stöds av MARC21/XML-standarden (Coded Cartographic Mathematical Data). |
![]() |
|
MARC21/XML-standarden tillhandahåller inte något sätt att kommentera det spatiala referenssystemet för kodade kartografiska matematiska data, vilket innebär att denna information kommer att gå förlorad efter konvertering till MARC21/XML. |
Konvertera en POINT
till MARC21/XML formaterad som 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>
Konvertering av en POLYGON
till MARC21/XML formaterad i decimalgrader
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>
Konvertering av en GEOMETRYCOLLECTION
till MARC21/XML formaterad i decimalminuter. Geometriernas ordning i MARC21/XML-utdata motsvarar deras ordning i samlingen.
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>