Name

ST_GeomFromMARC21 — Nimmt MARC21/XML-Geodaten als Eingabe und gibt ein PostGIS-Geometrieobjekt zurück.

Übersicht

geometry ST_GeomFromMARC21 ( text marcxml );

Beschreibung

Diese Funktion erstellt eine PostGIS-Geometrie aus einem MARC21/XML-Datensatz, der einen POINT oder ein POLYGON enthalten kann. Bei mehreren geografischen Dateneinträgen im selben MARC21/XML-Datensatz wird ein MULTIPOINT oder MULTIPOLYGON zurückgegeben. Wenn der Datensatz gemischte Geometrietypen enthält, wird GEOMETRYCOLLECTION zurückgegeben. Es wird NULL zurückgegeben, wenn der MARC21/XML-Datensatz keine geografischen Daten enthält (Datenfeld:034).

LOC MARC21/XML-Versionen werden unterstützt:

Verfügbarkeit: 3.3.0, erfordert libxml2 2.6+

[Anmerkung]

MARC21/XML Coded Cartographic Mathematical Data bietet derzeit keine Möglichkeit, das räumliche Bezugssystem der kodierten Koordinaten zu beschreiben, so dass diese Funktion immer eine Geometrie mit SRID 0 zurückgibt.

[Anmerkung]

Die zurückgegebenen POLYGON Geometrien sind immer im Uhrzeigersinn ausgerichtet.

Beispiele

Konvertierung von MARC21/XML-Geodaten, die einen einzelnen POINT enthalten, kodiert als hddd.dddddd

Code
SELECT ST_GeomFromMARC21(
'<record xmlns="http://www.loc.gov/MARC21/slim">
    <leader
>00000nz a2200000nc 4500</leader>
    <controlfield tag="001"
>040277569</controlfield>
    <datafield tag="034" ind1=" " ind2=" ">
        <subfield code="d"
>W004.500000</subfield>
        <subfield code="e"
>W004.500000</subfield>
        <subfield code="f"
>N054.250000</subfield>
        <subfield code="g"
>N054.250000</subfield>
    </datafield>
</record
>'
);
Ausgabe von Rastern
POINT(-4.5 54.25)
Figure
Geometry figure for visual-st-geomfrommarc21-01

Konvertierung von MARC21/XML-Geodaten, die eine einzelne POLYGON kodiert als hdddmmss

Code
SELECT ST_GeomFromMARC21(
'<record xmlns="http://www.loc.gov/MARC21/slim">
    <leader
>01062cem a2200241 a 4500</leader>
    <controlfield tag="001"
>   84696781 </controlfield>
    <datafield tag="034" ind1="1" ind2=" ">
        <subfield code="a"
>a</subfield>
        <subfield code="b"
>50000</subfield>
        <subfield code="d"
>E0130600</subfield>
        <subfield code="e"
>E0133100</subfield>
        <subfield code="f"
>N0523900</subfield>
        <subfield code="g"
>N0522300</subfield>
    </datafield>
</record
>'
);
Ausgabe von Rastern
POLYGON((13.1 52.65,13.516666666666667 52.65,13.516666666666667 52.38333333333333,13.1 52.38333333333333,13.1 52.65))
Figure
Geometry figure for visual-st-geomfrommarc21-02

Konvertierung von MARC21/XML-Geodaten, die ein POLYGON und ein POINT enthalten:

Code
SELECT ST_GeomFromMARC21(
'<record xmlns="http://www.loc.gov/MARC21/slim">
    <datafield tag="034" ind1="1" ind2=" ">
        <subfield code="a"
>a</subfield>
        <subfield code="b"
>50000</subfield>
        <subfield code="d"
>E0130600</subfield>
        <subfield code="e"
>E0133100</subfield>
        <subfield code="f"
>N0523900</subfield>
        <subfield code="g"
>N0522300</subfield>
    </datafield>
    <datafield tag="034" ind1=" " ind2=" ">
        <subfield code="d"
>W004.500000</subfield>
        <subfield code="e"
>W004.500000</subfield>
        <subfield code="f"
>N054.250000</subfield>
        <subfield code="g"
>N054.250000</subfield>
    </datafield>
</record
>'
);
Ausgabe von Rastern
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))
Figure
Geometry figure for visual-st-geomfrommarc21-03

Siehe auch

ST_AsMARC21