GISarabia.org
PostGIS › الدليل الرسمي › 7. مرجع PostGIS › 7.8.1. النص المعروف (WKT)
PostGIS 3.6 · Official Manual · ترجمة عربية

ST_GeomFromMARC21

الصفحة الأصلية بالإنجليزية postgis.net ↗

الاسم

ST_GeomFromMARC21 — تأخذ بيانات جغرافية بصيغة MARC21/XML مدخلًا وتُعيد كائن geometry في PostGIS.

المختصر

geometry ST_GeomFromMARC21 ( text marcxml );

الوصف

تُنشئ هذه الدالة geometry في PostGIS من سجل MARC21/XML، يمكن أن يحتوي على POINT أو POLYGON. وفي حال وجود عدة مُدخلات بيانات جغرافية في سجل MARC21/XML نفسه، يُعاد MULTIPOINT أو MULTIPOLYGON. وإذا احتوى السجل على أنواع أشكال مختلطة، يُعاد GEOMETRYCOLLECTION. وتُعيد NULL إذا لم يحتوِ سجل MARC21/XML على أي بيانات جغرافية (datafield:034).

إصدارات LOC MARC21/XML المدعومة:

متاحة منذ: 3.3.0، تتطلب libxml2 2.6+

[ملاحظة]

لا توفر البيانات الرياضية الخرائطية المرمّزة (Coded Cartographic Mathematical Data) في MARC21/XML حاليًا أي وسيلة لوصف النظام المرجعي المكاني للإحداثيات المرمّزة، لذا ستُعيد هذه الدالة دائمًا geometry بقيمة SRID 0.

[ملاحظة]

تكون أشكال POLYGON المُعادة دائمًا باتجاه عقارب الساعة.

أمثلة

تحويل بيانات جغرافية بصيغة MARC21/XML تحتوي على POINT واحدة مرمّزة بالصيغة hddd.dddddd


                SELECT
                ST_AsText(
                    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
>'));

                st_astext
                -------------------
                POINT(-4.5 54.25)
                (1 row)

            

تحويل بيانات جغرافية بصيغة MARC21/XML تحتوي على POLYGON واحد مرمّز بالصيغة hdddmmss



                SELECT
                ST_AsText(
                    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
>'));

                st_astext
                -----------------------------------------------------------------------------------------------------------------------
                POLYGON((13.1 52.65,13.516666666666667 52.65,13.516666666666667 52.38333333333333,13.1 52.38333333333333,13.1 52.65))
                (1 row)

            

تحويل بيانات جغرافية بصيغة MARC21/XML تحتوي على POLYGON وPOINT:



                SELECT
                ST_AsText(
                    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
>'));
                                                                                        st_astext
                -------------------------------------------------------------------------------------------------------------------------------------------------------------
                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))
                (1 row)
            

انظر أيضًا

ST_AsMARC21