€cdocutils.nodes document q)q}q(U nametypesq}q(X ogc sfsqlqˆX postgresqlqNX$deleting records from the repositoryqNXsetting up the databaseq NXoptimizing the databaseq NXadministrationq ˆXloading recordsq NXpostgisq NXogrqˆXcustom_repositoryqˆXewktqˆXsupported information modelsqNXmetadata repository setupqNXwktqˆXexporting the repositoryqNX!mapping to an existing repositoryqNXdatabase specific notesqNXpostgresql full text searchqˆX existing repository requirementsqNuUsubstitution_defsq}qUparse_messagesq]qcdocutils.nodes system_message q)q}q(U rawsourceq UUparentq!cdocutils.nodes section q")q#}q$(h UU referencedq%Kh!hUsourceq&X(/tmp/pycsw-2.0.2/docs/administration.rstq'Uexpect_referenced_by_nameq(}q)h cdocutils.nodes target q*)q+}q,(h X.. _administration:h!hh&h'Utagnameq-Utargetq.U attributesq/}q0(Uidsq1]Ubackrefsq2]Udupnamesq3]Uclassesq4]Unamesq5]Urefidq6Uadministrationq7uUlineq8KUdocumentq9hUchildrenq:]ubsh-Usectionq;h/}q<(h3]q=Xadministrationq>ah4]h2]h1]q?(h7Uid1q@eh5]qAh auh8Kh9hUexpect_referenced_by_idqB}qCh7h+sh:]qD(cdocutils.nodes title qE)qF}qG(h XAdministrationqHh!h#h&h'h-UtitleqIh/}qJ(h3]h4]h2]h1]h5]uh8Kh9hh:]qKcdocutils.nodes Text qLXAdministrationqM…qN}qO(h hHh!hFubaubcdocutils.nodes paragraph qP)qQ}qR(h X®pycsw administration is handled by the ``pycsw-admin.py`` utility. ``pycsw-admin.py`` is installed as part of the pycsw install process and should be available in your PATH.h!h#h&h'h-U paragraphqSh/}qT(h3]h4]h2]h1]h5]uh8Kh9hh:]qU(hLX'pycsw administration is handled by the qV…qW}qX(h X'pycsw administration is handled by the h!hQubcdocutils.nodes literal qY)qZ}q[(h X``pycsw-admin.py``h/}q\(h3]h4]h2]h1]h5]uh!hQh:]q]hLXpycsw-admin.pyq^…q_}q`(h Uh!hZubah-UliteralqaubhLX utility. qb…qc}qd(h X utility. h!hQubhY)qe}qf(h X``pycsw-admin.py``h/}qg(h3]h4]h2]h1]h5]uh!hQh:]qhhLXpycsw-admin.pyqi…qj}qk(h Uh!heubah-haubhLXX is installed as part of the pycsw install process and should be available in your PATH.ql…qm}qn(h XX is installed as part of the pycsw install process and should be available in your PATH.h!hQubeubcdocutils.nodes note qo)qp}qq(h XMRun ``pycsw-admin.py -h`` to see all administration operations and parametersqrh!h#h&h'h-Unoteqsh/}qt(h3]h4]h2]h1]h5]uh8Nh9hh:]quhP)qv}qw(h hrh!hph&h'h-hSh/}qx(h3]h4]h2]h1]h5]uh8K h:]qy(hLXRun qz…q{}q|(h XRun h!hvubhY)q}}q~(h X``pycsw-admin.py -h``h/}q(h3]h4]h2]h1]h5]uh!hvh:]q€hLXpycsw-admin.py -hq…q‚}qƒ(h Uh!h}ubah-haubhLX4 to see all administration operations and parametersq„…q…}q†(h X4 to see all administration operations and parametersh!hvubeubaubh")q‡}qˆ(h Uh!h#h&h'h-h;h/}q‰(h3]h4]h2]h1]qŠUmetadata-repository-setupq‹ah5]qŒhauh8Kh9hh:]q(hE)qŽ}q(h XMetadata Repository Setupqh!h‡h&h'h-hIh/}q‘(h3]h4]h2]h1]h5]uh8Kh9hh:]q’hLXMetadata Repository Setupq“…q”}q•(h hh!hŽubaubhP)q–}q—(h X'pycsw supports the following databases:q˜h!h‡h&h'h-hSh/}q™(h3]h4]h2]h1]h5]uh8Kh9hh:]qšhLX'pycsw supports the following databases:q›…qœ}q(h h˜h!h–ubaubcdocutils.nodes bullet_list qž)qŸ}q (h Uh!h‡h&h'h-U bullet_listq¡h/}q¢(Ubulletq£X-h1]h2]h3]h4]h5]uh8Kh9hh:]q¤(cdocutils.nodes list_item q¥)q¦}q§(h XSQLite3q¨h!hŸh&h'h-U list_itemq©h/}qª(h3]h4]h2]h1]h5]uh8Nh9hh:]q«hP)q¬}q­(h h¨h!h¦h&h'h-hSh/}q®(h3]h4]h2]h1]h5]uh8Kh:]q¯hLXSQLite3q°…q±}q²(h h¨h!h¬ubaubaubh¥)q³}q´(h X PostgreSQLqµh!hŸh&h'h-h©h/}q¶(h3]h4]h2]h1]h5]uh8Nh9hh:]q·hP)q¸}q¹(h hµh!h³h&h'h-hSh/}qº(h3]h4]h2]h1]h5]uh8Kh:]q»hLX PostgreSQLq¼…q½}q¾(h hµh!h¸ubaubaubh¥)q¿}qÀ(h XPostgreSQL with PostGIS enabledqÁh!hŸh&h'h-h©h/}qÂ(h3]h4]h2]h1]h5]uh8Nh9hh:]qÃhP)qÄ}qÅ(h hÁh!h¿h&h'h-hSh/}qÆ(h3]h4]h2]h1]h5]uh8Kh:]qÇhLXPostgreSQL with PostGIS enabledqÈ…qÉ}qÊ(h hÁh!hÄubaubaubh¥)qË}qÌ(h XMySQL h!hŸh&h'h-h©h/}qÍ(h3]h4]h2]h1]h5]uh8Nh9hh:]qÎhP)qÏ}qÐ(h XMySQLqÑh!hËh&h'h-hSh/}qÒ(h3]h4]h2]h1]h5]uh8Kh:]qÓhLXMySQLqÔ…qÕ}qÖ(h hÑh!hÏubaubaubeubho)q×}qØ(h XMThe easiest and fastest way to deploy pycsw is to use SQLite3 as the backend.qÙh!h‡h&h'h-hsh/}qÚ(h3]h4]h2]h1]h5]uh8Nh9hh:]qÛhP)qÜ}qÝ(h hÙh!h×h&h'h-hSh/}qÞ(h3]h4]h2]h1]h5]uh8Kh:]qßhLXMThe easiest and fastest way to deploy pycsw is to use SQLite3 as the backend.qà…qá}qâ(h hÙh!hÜubaubaubho)qã}qä(h XDPostgreSQL support includes support for PostGIS functions if enabledqåh!h‡h&h'h-hsh/}qæ(h3]h4]h2]h1]h5]uh8Nh9hh:]qçhP)qè}qé(h håh!hãh&h'h-hSh/}qê(h3]h4]h2]h1]h5]uh8Kh:]qëhLXDPostgreSQL support includes support for PostGIS functions if enabledqì…qí}qî(h håh!hèubaubaubho)qï}qð(h X…If PostGIS (1.x or 2.x) is activated before setting up the pycsw/PostgreSQL database, then native PostGIS geometries will be enabled.qñh!h‡h&h'h-hsh/}qò(h3]h4]h2]h1]h5]uh8Nh9hh:]qóhP)qô}qõ(h hñh!hïh&h'h-hSh/}qö(h3]h4]h2]h1]h5]uh8Kh:]q÷hLX…If PostGIS (1.x or 2.x) is activated before setting up the pycsw/PostgreSQL database, then native PostGIS geometries will be enabled.qø…qù}qú(h hñh!hôubaubaubhP)qû}qü(h XLTo expose your geospatial metadata via pycsw, perform the following actions:qýh!h‡h&h'h-hSh/}qþ(h3]h4]h2]h1]h5]uh8K h9hh:]qÿhLXLTo expose your geospatial metadata via pycsw, perform the following actions:r…r}r(h hýh!hûubaubhž)r}r(h Uh!h‡h&h'h-h¡h/}r(h£X-h1]h2]h3]h4]h5]uh8K"h9hh:]r(h¥)r}r(h Xsetup the databaser h!jh&h'h-h©h/}r (h3]h4]h2]h1]h5]uh8Nh9hh:]r hP)r }r (h j h!jh&h'h-hSh/}r(h3]h4]h2]h1]h5]uh8K"h:]rhLXsetup the databaser…r}r(h j h!j ubaubaubh¥)r}r(h Ximport metadatarh!jh&h'h-h©h/}r(h3]h4]h2]h1]h5]uh8Nh9hh:]rhP)r}r(h jh!jh&h'h-hSh/}r(h3]h4]h2]h1]h5]uh8K#h:]rhLXimport metadatar…r}r(h jh!jubaubaubh¥)r}r (h Xpublish the repository h!jh&h'h-h©h/}r!(h3]h4]h2]h1]h5]uh8Nh9hh:]r"hP)r#}r$(h Xpublish the repositoryr%h!jh&h'h-hSh/}r&(h3]h4]h2]h1]h5]uh8K$h:]r'hLXpublish the repositoryr(…r)}r*(h j%h!j#ubaubaubeubeubh")r+}r,(h Uh!h#h&h'h-h;h/}r-(h3]h4]h2]h1]r.Usupported-information-modelsr/ah5]r0hauh8K'h9hh:]r1(hE)r2}r3(h XSupported Information Modelsr4h!j+h&h'h-hIh/}r5(h3]h4]h2]h1]h5]uh8K'h9hh:]r6hLXSupported Information Modelsr7…r8}r9(h j4h!j2ubaubhP)r:}r;(h X@By default, pycsw supports the ``csw:Record`` information model.r<h!j+h&h'h-hSh/}r=(h3]h4]h2]h1]h5]uh8K)h9hh:]r>(hLXBy default, pycsw supports the r?…r@}rA(h XBy default, pycsw supports the h!j:ubhY)rB}rC(h X``csw:Record``h/}rD(h3]h4]h2]h1]h5]uh!j:h:]rEhLX csw:RecordrF…rG}rH(h Uh!jBubah-haubhLX information model.rI…rJ}rK(h X information model.h!j:ubeubho)rL}rM(h X8See :ref:`profiles` for information on enabling profilesrNh!j+h&h'h-hsh/}rO(h3]h4]h2]h1]h5]uh8Nh9hh:]rPhP)rQ}rR(h jNh!jLh&h'h-hSh/}rS(h3]h4]h2]h1]h5]uh8K,h:]rT(hLXSee rU…rV}rW(h XSee h!jQubcsphinx.addnodes pending_xref rX)rY}rZ(h X:ref:`profiles`r[h!jQh&h'h-U pending_xrefr\h/}r](UreftypeXrefUrefwarnr^ˆU reftargetr_XprofilesU refdomainXstdr`h1]h2]U refexplicit‰h3]h4]h5]UrefdocraXadministrationrbuh8K,h:]rccdocutils.nodes inline rd)re}rf(h j[h/}rg(h3]h4]rh(Uxrefrij`Xstd-refrjeh2]h1]h5]uh!jYh:]rkhLXprofilesrl…rm}rn(h Uh!jeubah-UinlineroubaubhLX% for information on enabling profilesrp…rq}rr(h X% for information on enabling profilesh!jQubeubaubeubh")rs}rt(h Uh!h#h&h'h-h;h/}ru(h3]h4]h2]h1]rvUsetting-up-the-databaserwah5]rxh auh8K/h9hh:]ry(hE)rz}r{(h XSetting up the Databaser|h!jsh&h'h-hIh/}r}(h3]h4]h2]h1]h5]uh8K/h9hh:]r~hLXSetting up the Databaser…r€}r(h j|h!jzubaubcdocutils.nodes literal_block r‚)rƒ}r„(h X+$ pycsw-admin.py -c setup_db -f default.cfgh!jsh&h'h-U literal_blockr…h/}r†(Ulinenosr‡‰UlanguagerˆXbashU xml:spacer‰UpreserverŠh1]h2]h3]Uhighlight_argsr‹}h4]h5]uh8K1h9hh:]rŒhLX+$ pycsw-admin.py -c setup_db -f default.cfgr…rŽ}r(h Uh!jƒubaubhP)r}r‘(h XDThis will create the necessary tables and values for the repository.r’h!jsh&h'h-hSh/}r“(h3]h4]h2]h1]h5]uh8K5h9hh:]r”hLXDThis will create the necessary tables and values for the repository.r•…r–}r—(h j’h!jubaubhP)r˜}r™(h XThe database created is an `OGC SFSQL`_ compliant database, and can be used with any implementing software. For example, to use with `OGR`_:ršh!jsh&h'h-hSh/}r›(h3]h4]h2]h1]h5]uh8K7h9hh:]rœ(hLXThe database created is an r…rž}rŸ(h XThe database created is an h!j˜ubcdocutils.nodes reference r )r¡}r¢(h X `OGC SFSQL`_Uresolvedr£Kh!j˜h-U referencer¤h/}r¥(UnameX OGC SFSQLUrefurir¦X+http://www.opengeospatial.org/standards/sfsr§h1]h2]h3]h4]h5]uh:]r¨hLX OGC SFSQLr©…rª}r«(h Uh!j¡ubaubhLX_ compliant database, and can be used with any implementing software. For example, to use with r¬…r­}r®(h X_ compliant database, and can be used with any implementing software. For example, to use with h!j˜ubj )r¯}r°(h X`OGR`_j£Kh!j˜h-j¤h/}r±(UnameXOGRj¦Xhttp://www.gdal.org/ogrr²h1]h2]h3]h4]h5]uh:]r³hLXOGRr´…rµ}r¶(h Uh!j¯ubaubhLX:…r·}r¸(h X:h!j˜ubeubj‚)r¹}rº(h X¢$ ogrinfo /path/to/records.db INFO: Open of 'records.db' using driver 'SQLite' successful. 1: records (Polygon) $ ogrinfo -al /path/to/records.db # lots of outputh!jsh&h'h-j…h/}r»(j‡‰jˆXbashj‰jŠh1]h2]h3]j‹}h4]h5]uh8K9h9hh:]r¼hLX¢$ ogrinfo /path/to/records.db INFO: Open of 'records.db' using driver 'SQLite' successful. 1: records (Polygon) $ ogrinfo -al /path/to/records.db # lots of outputr½…r¾}r¿(h Uh!j¹ubaubho)rÀ}rÁ(h XwIf PostGIS is detected, the pycsw-admin.py script does not create the SFSQL tables as they are already in the database.rÂh!jsh&h'h-hsh/}rÃ(h3]h4]h2]h1]h5]uh8Nh9hh:]rÄhP)rÅ}rÆ(h jÂh!jÀh&h'h-hSh/}rÇ(h3]h4]h2]h1]h5]uh8KCh:]rÈhLXwIf PostGIS is detected, the pycsw-admin.py script does not create the SFSQL tables as they are already in the database.rÉ…rÊ}rË(h jÂh!jÅubaubaubeubh")rÌ}rÍ(h Uh!h#h&h'h-h;h/}rÎ(h3]h4]h2]h1]rÏUloading-recordsrÐah5]rÑh auh8KGh9hh:]rÒ(hE)rÓ}rÔ(h XLoading RecordsrÕh!jÌh&h'h-hIh/}rÖ(h3]h4]h2]h1]h5]uh8KGh9hh:]r×hLXLoading RecordsrØ…rÙ}rÚ(h jÕh!jÓubaubj‚)rÛ}rÜ(h XC$ pycsw-admin.py -c load_records -f default.cfg -p /path/to/recordsh!jÌh&h'h-j…h/}rÝ(j‡‰jˆXbashj‰jŠh1]h2]h3]j‹}h4]h5]uh8KIh9hh:]rÞhLXC$ pycsw-admin.py -c load_records -f default.cfg -p /path/to/recordsrß…rà}rá(h Uh!jÛubaubhP)râ}rã(h XxThis will import all ``*.xml`` records from ``/path/to/records`` into the database specified in ``default.cfg`` (``repository.database``). Passing ``-r`` to the script will process ``/path/to/records`` recursively. Passing ``-y`` to the script will force overwrite existing metadata with the same identifier. Note that ``-p`` accepts either a directory path or single file.räh!jÌh&h'h-hSh/}rå(h3]h4]h2]h1]h5]uh8KMh9hh:]ræ(hLXThis will import all rç…rè}ré(h XThis will import all h!jâubhY)rê}rë(h X ``*.xml``h/}rì(h3]h4]h2]h1]h5]uh!jâh:]ríhLX*.xmlrî…rï}rð(h Uh!jêubah-haubhLX records from rñ…rò}ró(h X records from h!jâubhY)rô}rõ(h X``/path/to/records``h/}rö(h3]h4]h2]h1]h5]uh!jâh:]r÷hLX/path/to/recordsrø…rù}rú(h Uh!jôubah-haubhLX into the database specified in rû…rü}rý(h X into the database specified in h!jâubhY)rþ}rÿ(h X``default.cfg``h/}r(h3]h4]h2]h1]h5]uh!jâh:]rhLX default.cfgr…r}r(h Uh!jþubah-haubhLX (r…r}r(h X (h!jâubhY)r}r (h X``repository.database``h/}r (h3]h4]h2]h1]h5]uh!jâh:]r hLXrepository.databaser …r }r(h Uh!jubah-haubhLX ). Passing r…r}r(h X ). Passing h!jâubhY)r}r(h X``-r``h/}r(h3]h4]h2]h1]h5]uh!jâh:]rhLX-rr…r}r(h Uh!jubah-haubhLX to the script will process r…r}r(h X to the script will process h!jâubhY)r}r(h X``/path/to/records``h/}r(h3]h4]h2]h1]h5]uh!jâh:]rhLX/path/to/recordsr …r!}r"(h Uh!jubah-haubhLX recursively. Passing r#…r$}r%(h X recursively. Passing h!jâubhY)r&}r'(h X``-y``h/}r((h3]h4]h2]h1]h5]uh!jâh:]r)hLX-yr*…r+}r,(h Uh!j&ubah-haubhLX[ to the script will force overwrite existing metadata with the same identifier. Note that r-…r.}r/(h X[ to the script will force overwrite existing metadata with the same identifier. Note that h!jâubhY)r0}r1(h X``-p``h/}r2(h3]h4]h2]h1]h5]uh!jâh:]r3hLX-pr4…r5}r6(h Uh!j0ubah-haubhLX0 accepts either a directory path or single file.r7…r8}r9(h X0 accepts either a directory path or single file.h!jâubeubho)r:}r;(h XCRecords can also be imported using CSW-T (see :ref:`transactions`).r<h!jÌh&h'h-hsh/}r=(h3]h4]h2]h1]h5]uh8Nh9hh:]r>hP)r?}r@(h j<h!j:h&h'h-hSh/}rA(h3]h4]h2]h1]h5]uh8KPh:]rB(hLX.Records can also be imported using CSW-T (see rC…rD}rE(h X.Records can also be imported using CSW-T (see h!j?ubjX)rF}rG(h X:ref:`transactions`rHh!j?h&h'h-j\h/}rI(UreftypeXrefj^ˆj_X transactionsU refdomainXstdrJh1]h2]U refexplicit‰h3]h4]h5]jajbuh8KPh:]rKjd)rL}rM(h jHh/}rN(h3]h4]rO(jijJXstd-refrPeh2]h1]h5]uh!jFh:]rQhLX transactionsrR…rS}rT(h Uh!jLubah-joubaubhLX).rU…rV}rW(h X).h!j?ubeubaubeubh")rX}rY(h Uh!h#h&h'h-h;h/}rZ(h3]h4]h2]h1]r[Uexporting-the-repositoryr\ah5]r]hauh8KSh9hh:]r^(hE)r_}r`(h XExporting the Repositoryrah!jXh&h'h-hIh/}rb(h3]h4]h2]h1]h5]uh8KSh9hh:]rchLXExporting the Repositoryrd…re}rf(h jah!j_ubaubj‚)rg}rh(h XH$ pycsw-admin.py -c export_records -f default.cfg -p /path/to/output_dirh!jXh&h'h-j…h/}ri(j‡‰jˆXbashj‰jŠh1]h2]h3]j‹}h4]h5]uh8KUh9hh:]rjhLXH$ pycsw-admin.py -c export_records -f default.cfg -p /path/to/output_dirrk…rl}rm(h Uh!jgubaubhP)rn}ro(h X¤This will write each record in the database specified in ``default.cfg`` (``repository.database``) to an XML document on disk, in directory ``/path/to/output_dir``.rph!jXh&h'h-hSh/}rq(h3]h4]h2]h1]h5]uh8KYh9hh:]rr(hLX9This will write each record in the database specified in rs…rt}ru(h X9This will write each record in the database specified in h!jnubhY)rv}rw(h X``default.cfg``h/}rx(h3]h4]h2]h1]h5]uh!jnh:]ryhLX default.cfgrz…r{}r|(h Uh!jvubah-haubhLX (r}…r~}r(h X (h!jnubhY)r€}r(h X``repository.database``h/}r‚(h3]h4]h2]h1]h5]uh!jnh:]rƒhLXrepository.databaser„…r…}r†(h Uh!j€ubah-haubhLX+) to an XML document on disk, in directory r‡…rˆ}r‰(h X+) to an XML document on disk, in directory h!jnubhY)rŠ}r‹(h X``/path/to/output_dir``h/}rŒ(h3]h4]h2]h1]h5]uh!jnh:]rhLX/path/to/output_dirrŽ…r}r(h Uh!jŠubah-haubhLX.…r‘}r’(h X.h!jnubeubeubh")r“}r”(h Uh!h#h&h'h-h;h/}r•(h3]h4]h2]h1]r–Uoptimizing-the-databaser—ah5]r˜h auh8K\h9hh:]r™(hE)rš}r›(h XOptimizing the Databaserœh!j“h&h'h-hIh/}r(h3]h4]h2]h1]h5]uh8K\h9hh:]ržhLXOptimizing the DatabaserŸ…r }r¡(h jœh!jšubaubj‚)r¢}r£(h X.$ pycsw-admin.py -c optimize_db -f default.cfgh!j“h&h'h-j…h/}r¤(j‡‰jˆXbashj‰jŠh1]h2]h3]j‹}h4]h5]uh8K^h9hh:]r¥hLX.$ pycsw-admin.py -c optimize_db -f default.cfgr¦…r§}r¨(h Uh!j¢ubaubho)r©}rª(h X6This feature is relevant only for PostgreSQL and MySQLr«h!j“h&h'h-hsh/}r¬(h3]h4]h2]h1]h5]uh8Nh9hh:]r­hP)r®}r¯(h j«h!j©h&h'h-hSh/}r°(h3]h4]h2]h1]h5]uh8Kch:]r±hLX6This feature is relevant only for PostgreSQL and MySQLr²…r³}r´(h j«h!j®ubaubaubeubh")rµ}r¶(h Uh!h#h&h'h-h;h/}r·(h3]h4]h2]h1]r¸U$deleting-records-from-the-repositoryr¹ah5]rºhauh8Kfh9hh:]r»(hE)r¼}r½(h X$Deleting Records from the Repositoryr¾h!jµh&h'h-hIh/}r¿(h3]h4]h2]h1]h5]uh8Kfh9hh:]rÀhLX$Deleting Records from the RepositoryrÁ…rÂ}rÃ(h j¾h!j¼ubaubj‚)rÄ}rÅ(h X1$ pycsw-admin.py -c delete_records -f default.cfgh!jµh&h'h-j…h/}rÆ(j‡‰jˆXbashj‰jŠh1]h2]h3]j‹}h4]h5]uh8Khh9hh:]rÇhLX1$ pycsw-admin.py -c delete_records -f default.cfgrÈ…rÉ}rÊ(h Uh!jÄubaubhP)rË}rÌ(h X.This will empty the repository of all records.rÍh!jµh&h'h-hSh/}rÎ(h3]h4]h2]h1]h5]uh8Klh9hh:]rÏhLX.This will empty the repository of all records.rÐ…rÑ}rÒ(h jÍh!jËubaubeubh")rÓ}rÔ(h Uh!h#h&h'h-h;h/}rÕ(h3]h4]h2]h1]rÖUdatabase-specific-notesr×ah5]rØhauh8Koh9hh:]rÙ(hE)rÚ}rÛ(h XDatabase Specific NotesrÜh!jÓh&h'h-hIh/}rÝ(h3]h4]h2]h1]h5]uh8Koh9hh:]rÞhLXDatabase Specific Notesrß…rà}rá(h jÜh!jÚubaubh")râ}rã(h Uh!jÓh&h'h-h;h/}rä(h3]h4]h2]h1]råU postgresqlræah5]rçhauh8Krh9hh:]rè(hE)ré}rê(h X PostgreSQLrëh!jâh&h'h-hIh/}rì(h3]h4]h2]h1]h5]uh8Krh9hh:]ríhLX PostgreSQLrî…rï}rð(h jëh!jéubaubhž)rñ}rò(h Uh!jâh&h'h-h¡h/}ró(h£X-h1]h2]h3]h4]h5]uh8Kth9hh:]rô(h¥)rõ}rö(h Xif PostGIS is not enabled, pycsw makes uses of PL/Python functions. To enable PostgreSQL support, the database user must be able to create functions within the database. In case of recent PostgreSQL versions (9.x), the PL/Python extension must be enabled prior to pycsw setupr÷h!jñh&h'h-h©h/}rø(h3]h4]h2]h1]h5]uh8Nh9hh:]rùhP)rú}rû(h j÷h!jõh&h'h-hSh/}rü(h3]h4]h2]h1]h5]uh8Kth:]rýhLXif PostGIS is not enabled, pycsw makes uses of PL/Python functions. To enable PostgreSQL support, the database user must be able to create functions within the database. In case of recent PostgreSQL versions (9.x), the PL/Python extension must be enabled prior to pycsw setuprþ…rÿ}r(h j÷h!júubaubaubh¥)r}r(h Xv`PostgreSQL Full Text Search`_ is supported for ``csw:AnyText`` based queries. pycsw creates a tsvector column based on the text from anytext column. Then pycsw creates a GIN index against the anytext_tsvector column. This is created automatically in ``pycsw.admin.setup_db``. Any query against `csw:AnyText` or `apiso:AnyText` will process using PostgreSQL FTS handling h!jñh&h'h-h©h/}r(h3]h4]h2]h1]h5]uh8Nh9hh:]rhP)r}r(h Xu`PostgreSQL Full Text Search`_ is supported for ``csw:AnyText`` based queries. pycsw creates a tsvector column based on the text from anytext column. Then pycsw creates a GIN index against the anytext_tsvector column. This is created automatically in ``pycsw.admin.setup_db``. Any query against `csw:AnyText` or `apiso:AnyText` will process using PostgreSQL FTS handlingh!jh&h'h-hSh/}r(h3]h4]h2]h1]h5]uh8Kuh:]r(j )r }r (h X`PostgreSQL Full Text Search`_j£Kh!jh-j¤h/}r (UnameXPostgreSQL Full Text Searchj¦X9http://www.postgresql.org/docs/9.2/static/textsearch.htmlr h1]h2]h3]h4]h5]uh:]r hLXPostgreSQL Full Text Searchr…r}r(h Uh!j ubaubhLX is supported for r…r}r(h X is supported for h!jubhY)r}r(h X``csw:AnyText``h/}r(h3]h4]h2]h1]h5]uh!jh:]rhLX csw:AnyTextr…r}r(h Uh!jubah-haubhLX¾ based queries. pycsw creates a tsvector column based on the text from anytext column. Then pycsw creates a GIN index against the anytext_tsvector column. This is created automatically in r…r}r(h X¾ based queries. pycsw creates a tsvector column based on the text from anytext column. Then pycsw creates a GIN index against the anytext_tsvector column. This is created automatically in h!jubhY)r}r(h X``pycsw.admin.setup_db``h/}r (h3]h4]h2]h1]h5]uh!jh:]r!hLXpycsw.admin.setup_dbr"…r#}r$(h Uh!jubah-haubhLX. Any query against r%…r&}r'(h X. Any query against h!jubcdocutils.nodes title_reference r()r)}r*(h X `csw:AnyText`h/}r+(h3]h4]h2]h1]h5]uh!jh:]r,hLX csw:AnyTextr-…r.}r/(h Uh!j)ubah-Utitle_referencer0ubhLX or r1…r2}r3(h X or h!jubj()r4}r5(h X`apiso:AnyText`h/}r6(h3]h4]h2]h1]h5]uh!jh:]r7hLX apiso:AnyTextr8…r9}r:(h Uh!j4ubah-j0ubhLX+ will process using PostgreSQL FTS handlingr;…r<}r=(h X+ will process using PostgreSQL FTS handlingh!jubeubaubeubeubh")r>}r?(h Uh!jÓh&h'h-h;h/}r@(h3]h4]h2]h1]rAUpostgisrBah5]rCh auh8Kxh9hh:]rD(hE)rE}rF(h XPostGISrGh!j>h&h'h-hIh/}rH(h3]h4]h2]h1]h5]uh8Kxh9hh:]rIhLXPostGISrJ…rK}rL(h jGh!jEubaubhž)rM}rN(h Uh!j>h&h'h-h¡h/}rO(h£X-h1]h2]h3]h4]h5]uh8Kzh9hh:]rP(h¥)rQ}rR(h XKpycsw makes use of PostGIS spatial functions and native geometry data type.rSh!jMh&h'h-h©h/}rT(h3]h4]h2]h1]h5]uh8Nh9hh:]rUhP)rV}rW(h jSh!jQh&h'h-hSh/}rX(h3]h4]h2]h1]h5]uh8Kzh:]rYhLXKpycsw makes use of PostGIS spatial functions and native geometry data type.rZ…r[}r\(h jSh!jVubaubaubh¥)r]}r^(h XSIt is advised to install the PostGIS extension before setting up the pycsw databaser_h!jMh&h'h-h©h/}r`(h3]h4]h2]h1]h5]uh8Nh9hh:]rahP)rb}rc(h j_h!j]h&h'h-hSh/}rd(h3]h4]h2]h1]h5]uh8K{h:]rehLXSIt is advised to install the PostGIS extension before setting up the pycsw databaserf…rg}rh(h j_h!jbubaubaubh¥)ri}rj(h XIf PostGIS is detected, the pycsw-admin.py script will create both a native geometry column and a WKT column, as well as a trigger to keep both synchronized.rkh!jMh&h'h-h©h/}rl(h3]h4]h2]h1]h5]uh8Nh9hh:]rmhP)rn}ro(h jkh!jih&h'h-hSh/}rp(h3]h4]h2]h1]h5]uh8K|h:]rqhLXIf PostGIS is detected, the pycsw-admin.py script will create both a native geometry column and a WKT column, as well as a trigger to keep both synchronized.rr…rs}rt(h jkh!jnubaubaubh¥)ru}rv(h XQIn case PostGIS gets disabled, pycsw will continue to work with the `WKT`_ columnrwh!jMh&h'h-h©h/}rx(h3]h4]h2]h1]h5]uh8Nh9hh:]ryhP)rz}r{(h jwh!juh&h'h-hSh/}r|(h3]h4]h2]h1]h5]uh8K}h:]r}(hLXDIn case PostGIS gets disabled, pycsw will continue to work with the r~…r}r€(h XDIn case PostGIS gets disabled, pycsw will continue to work with the h!jzubj )r}r‚(h X`WKT`_j£Kh!jzh-j¤h/}rƒ(UnameXWKTj¦X,http://en.wikipedia.org/wiki/Well-known_textr„h1]h2]h3]h4]h5]uh:]r…hLXWKTr†…r‡}rˆ(h Uh!jubaubhLX columnr‰…rŠ}r‹(h X columnh!jzubeubaubh¥)rŒ}r(h X{In case of migration from plain PostgreSQL database to PostGIS, the spatial functions of PostGIS will be used automaticallyrŽh!jMh&h'h-h©h/}r(h3]h4]h2]h1]h5]uh8Nh9hh:]rhP)r‘}r’(h jŽh!jŒh&h'h-hSh/}r“(h3]h4]h2]h1]h5]uh8K~h:]r”hLX{In case of migration from plain PostgreSQL database to PostGIS, the spatial functions of PostGIS will be used automaticallyr•…r–}r—(h jŽh!j‘ubaubaubh¥)r˜}r™(h XeWhen migrating from plain PostgreSQL database to PostGIS, in order to enable native geometry support, a "GEOMETRY" column named "wkb_geometry" needs to be created manually (along with the update trigger in ``pycsw.admin.setup_db``). Also the native geometries must be filled manually from the `WKT`_ field. Next versions of pycsw will automate this process h!jMh&h'h-h©h/}rš(h3]h4]h2]h1]h5]uh8Nh9hh:]r›hP)rœ}r(h XdWhen migrating from plain PostgreSQL database to PostGIS, in order to enable native geometry support, a "GEOMETRY" column named "wkb_geometry" needs to be created manually (along with the update trigger in ``pycsw.admin.setup_db``). Also the native geometries must be filled manually from the `WKT`_ field. Next versions of pycsw will automate this processh!j˜h&h'h-hSh/}rž(h3]h4]h2]h1]h5]uh8Kh:]rŸ(hLXÎWhen migrating from plain PostgreSQL database to PostGIS, in order to enable native geometry support, a "GEOMETRY" column named "wkb_geometry" needs to be created manually (along with the update trigger in r …r¡}r¢(h XÎWhen migrating from plain PostgreSQL database to PostGIS, in order to enable native geometry support, a "GEOMETRY" column named "wkb_geometry" needs to be created manually (along with the update trigger in h!jœubhY)r£}r¤(h X``pycsw.admin.setup_db``h/}r¥(h3]h4]h2]h1]h5]uh!jœh:]r¦hLXpycsw.admin.setup_dbr§…r¨}r©(h Uh!j£ubah-haubhLX?). Also the native geometries must be filled manually from the rª…r«}r¬(h X?). Also the native geometries must be filled manually from the h!jœubj )r­}r®(h X`WKT`_j£Kh!jœh-j¤h/}r¯(UnameXWKTj¦j„h1]h2]h3]h4]h5]uh:]r°hLXWKTr±…r²}r³(h Uh!j­ubaubhLX9 field. Next versions of pycsw will automate this processr´…rµ}r¶(h X9 field. Next versions of pycsw will automate this processh!jœubeubaubeubh*)r·}r¸(h X.. _custom_repository:h!j>h&h'h-h.h/}r¹(h1]h2]h3]h4]h5]h6Ucustom-repositoryrºuh8Kh9hh:]ubeubeubh")r»}r¼(h Uh!h#h&h'h(}r½hj·sh-h;h/}r¾(h3]h4]h2]h1]r¿(U!mapping-to-an-existing-repositoryrÀjºeh5]rÁ(hheuh8K„h9hhB}rÂjºj·sh:]rÃ(hE)rÄ}rÅ(h X!Mapping to an Existing RepositoryrÆh!j»h&h'h-hIh/}rÇ(h3]h4]h2]h1]h5]uh8K„h9hh:]rÈhLX!Mapping to an Existing RepositoryrÉ…rÊ}rË(h jÆh!jÄubaubhP)rÌ}rÍ(h Xpycsw supports publishing metadata from an existing repository. To enable this functionality, the default database mappings must be modified to represent the existing database columns mapping to the abstract core model (the default mappings are in ``pycsw/config.py:MD_CORE_MODEL``).rÎh!j»h&h'h-hSh/}rÏ(h3]h4]h2]h1]h5]uh8K†h9hh:]rÐ(hLXùpycsw supports publishing metadata from an existing repository. To enable this functionality, the default database mappings must be modified to represent the existing database columns mapping to the abstract core model (the default mappings are in rÑ…rÒ}rÓ(h Xùpycsw supports publishing metadata from an existing repository. To enable this functionality, the default database mappings must be modified to represent the existing database columns mapping to the abstract core model (the default mappings are in h!jÌubhY)rÔ}rÕ(h X!``pycsw/config.py:MD_CORE_MODEL``h/}rÖ(h3]h4]h2]h1]h5]uh!jÌh:]r×hLXpycsw/config.py:MD_CORE_MODELrØ…rÙ}rÚ(h Uh!jÔubah-haubhLX).rÛ…rÜ}rÝ(h X).h!jÌubeubhP)rÞ}rß(h X!To override the default settings:ràh!j»h&h'h-hSh/}rá(h3]h4]h2]h1]h5]uh8Kˆh9hh:]râhLX!To override the default settings:rã…rä}rå(h jàh!jÞubaubhž)ræ}rç(h Uh!j»h&h'h-h¡h/}rè(h£X-h1]h2]h3]h4]h5]uh8KŠh9hh:]ré(h¥)rê}rë(h X=define a custom database mapping based on ``etc/mappings.py``rìh!jæh&h'h-h©h/}rí(h3]h4]h2]h1]h5]uh8Nh9hh:]rîhP)rï}rð(h jìh!jêh&h'h-hSh/}rñ(h3]h4]h2]h1]h5]uh8KŠh:]rò(hLX*define a custom database mapping based on ró…rô}rõ(h X*define a custom database mapping based on h!jïubhY)rö}r÷(h X``etc/mappings.py``h/}rø(h3]h4]h2]h1]h5]uh!jïh:]rùhLXetc/mappings.pyrú…rû}rü(h Uh!jöubah-haubeubaubh¥)rý}rþ(h XYin ``default.cfg``, set ``repository.mappings`` to the location of the mappings.py file: h!jæh&h'h-h©h/}rÿ(h3]h4]h2]h1]h5]uh8Nh9hh:]rhP)r}r(h XXin ``default.cfg``, set ``repository.mappings`` to the location of the mappings.py file:h!jýh&h'h-hSh/}r(h3]h4]h2]h1]h5]uh8K‹h:]r(hLXin r…r}r(h Xin h!jubhY)r}r (h X``default.cfg``h/}r (h3]h4]h2]h1]h5]uh!jh:]r hLX default.cfgr …r }r(h Uh!jubah-haubhLX, set r…r}r(h X, set h!jubhY)r}r(h X``repository.mappings``h/}r(h3]h4]h2]h1]h5]uh!jh:]rhLXrepository.mappingsr…r}r(h Uh!jubah-haubhLX) to the location of the mappings.py file:r…r}r(h X) to the location of the mappings.py file:h!jubeubaubeubj‚)r}r(h X-[repository] ... mappings=path/to/mappings.pyh!j»h&h'h-j…h/}r(j‡‰jˆXnonej‰jŠh1]h2]h3]j‹}h4]h5]uh8Kh9hh:]rhLX-[repository] ... mappings=path/to/mappings.pyr …r!}r"(h Uh!jubaubhP)r#}r$(h X;See the :ref:`geonode` and :ref:`odc` for further examples.r%h!j»h&h'h-hSh/}r&(h3]h4]h2]h1]h5]uh8K“h9hh:]r'(hLXSee the r(…r)}r*(h XSee the h!j#ubjX)r+}r,(h X:ref:`geonode`r-h!j#h&h'h-j\h/}r.(UreftypeXrefj^ˆj_XgeonodeU refdomainXstdr/h1]h2]U refexplicit‰h3]h4]h5]jajbuh8K“h:]r0jd)r1}r2(h j-h/}r3(h3]h4]r4(jij/Xstd-refr5eh2]h1]h5]uh!j+h:]r6hLXgeonoder7…r8}r9(h Uh!j1ubah-joubaubhLX and r:…r;}r<(h X and h!j#ubjX)r=}r>(h X :ref:`odc`r?h!j#h&h'h-j\h/}r@(UreftypeXrefj^ˆj_XodcU refdomainXstdrAh1]h2]U refexplicit‰h3]h4]h5]jajbuh8K“h:]rBjd)rC}rD(h j?h/}rE(h3]h4]rF(jijAXstd-refrGeh2]h1]h5]uh!j=h:]rHhLXodcrI…rJ}rK(h Uh!jCubah-joubaubhLX for further examples.rL…rM}rN(h X for further examples.h!j#ubeubh")rO}rP(h Uh!j»h&h'h-h;h/}rQ(h3]h4]h2]h1]rRU existing-repository-requirementsrSah5]rThauh8K–h9hh:]rU(hE)rV}rW(h X Existing Repository RequirementsrXh!jOh&h'h-hIh/}rY(h3]h4]h2]h1]h5]uh8K–h9hh:]rZhLX Existing Repository Requirementsr[…r\}r](h jXh!jVubaubhP)r^}r_(h Xlpycsw requires certain repository attributes and semantics to exist in any repository to operate as follows:r`h!jOh&h'h-hSh/}ra(h3]h4]h2]h1]h5]uh8K˜h9hh:]rbhLXlpycsw requires certain repository attributes and semantics to exist in any repository to operate as follows:rc…rd}re(h j`h!j^ubaubhž)rf}rg(h Uh!jOh&h'h-h¡h/}rh(h£X-h1]h2]h3]h4]h5]uh8Kšh9hh:]ri(h¥)rj}rk(h X'``pycsw:Identifier``: unique identifierrlh!jfh&h'h-h©h/}rm(h3]h4]h2]h1]h5]uh8Nh9hh:]rnhP)ro}rp(h jlh!jjh&h'h-hSh/}rq(h3]h4]h2]h1]h5]uh8Kšh:]rr(hY)rs}rt(h X``pycsw:Identifier``h/}ru(h3]h4]h2]h1]h5]uh!joh:]rvhLXpycsw:Identifierrw…rx}ry(h Uh!jsubah-haubhLX: unique identifierrz…r{}r|(h X: unique identifierh!joubeubaubh¥)r}}r~(h X…``pycsw:Typename``: typename for the metadata; typically the value of the root element tag (e.g. ``csw:Record``, ``gmd:MD_Metadata``)rh!jfh&h'h-h©h/}r€(h3]h4]h2]h1]h5]uh8Nh9hh:]rhP)r‚}rƒ(h jh!j}h&h'h-hSh/}r„(h3]h4]h2]h1]h5]uh8K›h:]r…(hY)r†}r‡(h X``pycsw:Typename``h/}rˆ(h3]h4]h2]h1]h5]uh!j‚h:]r‰hLXpycsw:TypenamerŠ…r‹}rŒ(h Uh!j†ubah-haubhLXO: typename for the metadata; typically the value of the root element tag (e.g. r…rŽ}r(h XO: typename for the metadata; typically the value of the root element tag (e.g. h!j‚ubhY)r}r‘(h X``csw:Record``h/}r’(h3]h4]h2]h1]h5]uh!j‚h:]r“hLX csw:Recordr”…r•}r–(h Uh!jubah-haubhLX, r—…r˜}r™(h X, h!j‚ubhY)rš}r›(h X``gmd:MD_Metadata``h/}rœ(h3]h4]h2]h1]h5]uh!j‚h:]rhLXgmd:MD_Metadatarž…rŸ}r (h Uh!jšubah-haubhLX)…r¡}r¢(h X)h!j‚ubeubaubh¥)r£}r¤(h XŸ``pycsw:Schema``: schema for the metadata; typically the target namespace (e.g. ``http://www.opengis.net/cat/csw/2.0.2``, ``http://www.isotc211.org/2005/gmd``)r¥h!jfh&h'h-h©h/}r¦(h3]h4]h2]h1]h5]uh8Nh9hh:]r§hP)r¨}r©(h j¥h!j£h&h'h-hSh/}rª(h3]h4]h2]h1]h5]uh8Kœh:]r«(hY)r¬}r­(h X``pycsw:Schema``h/}r®(h3]h4]h2]h1]h5]uh!j¨h:]r¯hLX pycsw:Schemar°…r±}r²(h Uh!j¬ubah-haubhLX@: schema for the metadata; typically the target namespace (e.g. r³…r´}rµ(h X@: schema for the metadata; typically the target namespace (e.g. h!j¨ubhY)r¶}r·(h X(``http://www.opengis.net/cat/csw/2.0.2``h/}r¸(h3]h4]h2]h1]h5]uh!j¨h:]r¹hLX$http://www.opengis.net/cat/csw/2.0.2rº…r»}r¼(h Uh!j¶ubah-haubhLX, r½…r¾}r¿(h X, h!j¨ubhY)rÀ}rÁ(h X$``http://www.isotc211.org/2005/gmd``h/}rÂ(h3]h4]h2]h1]h5]uh!j¨h:]rÃhLX http://www.isotc211.org/2005/gmdrÄ…rÅ}rÆ(h Uh!jÀubah-haubhLX)…rÇ}rÈ(h X)h!j¨ubeubaubh¥)rÉ}rÊ(h X'``pycsw:InsertDate``: date of insertionrËh!jfh&h'h-h©h/}rÌ(h3]h4]h2]h1]h5]uh8Nh9hh:]rÍhP)rÎ}rÏ(h jËh!jÉh&h'h-hSh/}rÐ(h3]h4]h2]h1]h5]uh8Kh:]rÑ(hY)rÒ}rÓ(h X``pycsw:InsertDate``h/}rÔ(h3]h4]h2]h1]h5]uh!jÎh:]rÕhLXpycsw:InsertDaterÖ…r×}rØ(h Uh!jÒubah-haubhLX: date of insertionrÙ…rÚ}rÛ(h X: date of insertionh!jÎubeubaubh¥)rÜ}rÝ(h X&``pycsw:XML``: full XML representationrÞh!jfh&h'h-h©h/}rß(h3]h4]h2]h1]h5]uh8Nh9hh:]ràhP)rá}râ(h jÞh!jÜh&h'h-hSh/}rã(h3]h4]h2]h1]h5]uh8Kžh:]rä(hY)rå}ræ(h X ``pycsw:XML``h/}rç(h3]h4]h2]h1]h5]uh!jáh:]rèhLX pycsw:XMLré…rê}rë(h Uh!jåubah-haubhLX: full XML representationrì…rí}rî(h X: full XML representationh!jáubeubaubh¥)rï}rð(h XÀ``pycsw:AnyText``: bag of XML element text values, used for full text search. Realized with the following design pattern: - capture all XML element and attribute values - store in repositoryh!jfh&Nh-h©h/}rñ(h3]h4]h2]h1]h5]uh8Nh9hh:]rò(hP)ró}rô(h Xz``pycsw:AnyText``: bag of XML element text values, used for full text search. Realized with the following design pattern:rõh!jïh&h'h-hSh/}rö(h3]h4]h2]h1]h5]uh8KŸh:]r÷(hY)rø}rù(h X``pycsw:AnyText``h/}rú(h3]h4]h2]h1]h5]uh!jóh:]rûhLX pycsw:AnyTextrü…rý}rþ(h Uh!jøubah-haubhLXi: bag of XML element text values, used for full text search. Realized with the following design pattern:rÿ…r}r(h Xi: bag of XML element text values, used for full text search. Realized with the following design pattern:h!jóubeubhž)r}r(h Uh/}r(h£X-h1]h2]h3]h4]h5]uh!jïh:]r(h¥)r}r(h X,capture all XML element and attribute valuesrh/}r (h3]h4]h2]h1]h5]uh!jh:]r hP)r }r (h jh!jh&h'h-hSh/}r (h3]h4]h2]h1]h5]uh8K¡h:]rhLX,capture all XML element and attribute valuesr…r}r(h jh!j ubaubah-h©ubh¥)r}r(h Xstore in repositoryrh/}r(h3]h4]h2]h1]h5]uh!jh:]rhP)r}r(h jh!jh&h'h-hSh/}r(h3]h4]h2]h1]h5]uh8K¢h:]rhLXstore in repositoryr…r}r(h jh!jubaubah-h©ubeh-h¡ubeubh¥)r}r(h X<``pycsw:BoundingBox``: string of `WKT`_ or `EWKT`_ geometry h!jfh&h'h-h©h/}r (h3]h4]h2]h1]h5]uh8Nh9hh:]r!hP)r"}r#(h X;``pycsw:BoundingBox``: string of `WKT`_ or `EWKT`_ geometryh!jh&h'h-hSh/}r$(h3]h4]h2]h1]h5]uh8K£h:]r%(hY)r&}r'(h X``pycsw:BoundingBox``h/}r((h3]h4]h2]h1]h5]uh!j"h:]r)hLXpycsw:BoundingBoxr*…r+}r,(h Uh!j&ubah-haubhLX : string of r-…r.}r/(h X : string of h!j"ubj )r0}r1(h X`WKT`_j£Kh!j"h-j¤h/}r2(UnameXWKTj¦j„h1]h2]h3]h4]h5]uh:]r3hLXWKTr4…r5}r6(h Uh!j0ubaubhLX or r7…r8}r9(h X or h!j"ubj )r:}r;(h X`EWKT`_j£Kh!j"h-j¤h/}r<(UnameXEWKTj¦X7http://en.wikipedia.org/wiki/Well-known_text#Variationsr=h1]h2]h3]h4]h5]uh:]r>hLXEWKTr?…r@}rA(h Uh!j:ubaubhLX geometryrB…rC}rD(h X geometryh!j"ubeubaubeubhP)rE}rF(h XIThe following repository semantics exist if the attributes are specified:rGh!jOh&h'h-hSh/}rH(h3]h4]h2]h1]h5]uh8K¥h9hh:]rIhLXIThe following repository semantics exist if the attributes are specified:rJ…rK}rL(h jGh!jEubaubhž)rM}rN(h Uh!jOh&h'h-h¡h/}rO(h£X-h1]h2]h3]h4]h5]uh8K§h9hh:]rP(h¥)rQ}rR(h X4``pycsw:Keywords``: comma delimited list of keywordsrSh!jMh&h'h-h©h/}rT(h3]h4]h2]h1]h5]uh8Nh9hh:]rUhP)rV}rW(h jSh!jQh&h'h-hSh/}rX(h3]h4]h2]h1]h5]uh8K§h:]rY(hY)rZ}r[(h X``pycsw:Keywords``h/}r\(h3]h4]h2]h1]h5]uh!jVh:]r]hLXpycsw:Keywordsr^…r_}r`(h Uh!jZubah-haubhLX": comma delimited list of keywordsra…rb}rc(h X": comma delimited list of keywordsh!jVubeubaubh¥)rd}re(h X^``pycsw:Links``: structure of links in the format "name,description,protocol,url[^,,,[^,,,]]" h!jMh&h'h-h©h/}rf(h3]h4]h2]h1]h5]uh8Nh9hh:]rghP)rh}ri(h X]``pycsw:Links``: structure of links in the format "name,description,protocol,url[^,,,[^,,,]]"h!jdh&h'h-hSh/}rj(h3]h4]h2]h1]h5]uh8K¨h:]rk(hY)rl}rm(h X``pycsw:Links``h/}rn(h3]h4]h2]h1]h5]uh!jhh:]rohLX pycsw:Linksrp…rq}rr(h Uh!jlubah-haubhLXN: structure of links in the format "name,description,protocol,url[^,,,[^,,,]]"rs…rt}ru(h XN: structure of links in the format "name,description,protocol,url[^,,,[^,,,]]"h!jhubeubaubeubhP)rv}rw(h X@Values of mappings can be derived from the following mechanisms:rxh!jOh&h'h-hSh/}ry(h3]h4]h2]h1]h5]uh8Kªh9hh:]rzhLX@Values of mappings can be derived from the following mechanisms:r{…r|}r}(h jxh!jvubaubhž)r~}r(h Uh!jOh&h'h-h¡h/}r€(h£X-h1]h2]h3]h4]h5]uh8K¬h9hh:]r(h¥)r‚}rƒ(h X text fieldsr„h!j~h&h'h-h©h/}r…(h3]h4]h2]h1]h5]uh8Nh9hh:]r†hP)r‡}rˆ(h j„h!j‚h&h'h-hSh/}r‰(h3]h4]h2]h1]h5]uh8K¬h:]rŠhLX text fieldsr‹…rŒ}r(h j„h!j‡ubaubaubh¥)rŽ}r(h X1Python datetime.datetime or datetime.date objectsrh!j~h&h'h-h©h/}r‘(h3]h4]h2]h1]h5]uh8Nh9hh:]r’hP)r“}r”(h jh!jŽh&h'h-hSh/}r•(h3]h4]h2]h1]h5]uh8K­h:]r–hLX1Python datetime.datetime or datetime.date objectsr—…r˜}r™(h jh!j“ubaubaubh¥)rš}r›(h XPython functions h!j~h&h'h-h©h/}rœ(h3]h4]h2]h1]h5]uh8Nh9hh:]rhP)rž}rŸ(h XPython functionsr h!jšh&h'h-hSh/}r¡(h3]h4]h2]h1]h5]uh8K®h:]r¢hLXPython functionsr£…r¤}r¥(h j h!jžubaubaubeubhP)r¦}r§(h XEFurther information is provided in ``pycsw/config.py:MD_CORE_MODEL``.r¨h!jOh&h'h-hSh/}r©(h3]h4]h2]h1]h5]uh8K°h9hh:]rª(hLX#Further information is provided in r«…r¬}r­(h X#Further information is provided in h!j¦ubhY)r®}r¯(h X!``pycsw/config.py:MD_CORE_MODEL``h/}r°(h3]h4]h2]h1]h5]uh!j¦h:]r±hLXpycsw/config.py:MD_CORE_MODELr²…r³}r´(h Uh!j®ubah-haubhLX.…rµ}r¶(h X.h!j¦ubeubh*)r·}r¸(h X".. _`OGR`: http://www.gdal.org/ogrh%Kh!jOh&h'h-h.h/}r¹(j¦j²h1]rºUogrr»ah2]h3]h4]h5]r¼hauh8K²h9hh:]ubh*)r½}r¾(h X<.. _`OGC SFSQL`: http://www.opengeospatial.org/standards/sfsh%Kh!jOh&h'h-h.h/}r¿(j¦j§h1]rÀU ogc-sfsqlrÁah2]h3]h4]h5]rÂhauh8K³h9hh:]ubh*)rÃ}rÄ(h X7.. _`WKT`: http://en.wikipedia.org/wiki/Well-known_texth%Kh!jOh&h'h-h.h/}rÅ(j¦j„h1]rÆUwktrÇah2]h3]h4]h5]rÈhauh8K´h9hh:]ubh*)rÉ}rÊ(h XC.. _`EWKT`: http://en.wikipedia.org/wiki/Well-known_text#Variationsh%Kh!jOh&h'h-h.h/}rË(j¦j=h1]rÌUewktrÍah2]h3]h4]h5]rÎhauh8Kµh9hh:]ubh*)rÏ}rÐ(h X\.. _`PostgreSQL Full Text Search`: http://www.postgresql.org/docs/9.2/static/textsearch.htmlh%Kh!jOh&h'h-h.h/}rÑ(j¦j h1]rÒUpostgresql-full-text-searchrÓah2]h3]h4]h5]rÔhauh8K¶h9hh:]ubeubeubeubh&h'h-Usystem_messagerÕh/}rÖ(h3]UlevelKh1]h2]r×h@aUsourceh'h4]h5]UlineKUtypeUINFOrØuh8Kh9hh:]rÙhP)rÚ}rÛ(h X1Duplicate implicit target name: "administration".h/}rÜ(h3]h4]h2]h1]h5]uh!hh:]rÝhLX1Duplicate implicit target name: "administration".rÞ…rß}rà(h Uh!jÚubah-hSubaubaUcurrent_sourceráNU decorationrâNUautofootnote_startrãKUnameidsrä}rå(hjÁhjæhj¹h jwh j—h h7h jÐh jBhj»hjºhjÍhj/hh‹hjÇhj\hjÀhj×hjÓhjSuh:]ræ(h+h#eh UU transformerrçNU footnote_refsrè}réUrefnamesrê}rë(Xwkt]rì(jj­j0eX ogc sfsql]ríj¡aXewkt]rîj:aXpostgresql full text search]rïj aXogr]rðj¯auUsymbol_footnotesrñ]ròUautofootnote_refsró]rôUsymbol_footnote_refsrõ]röU citationsr÷]røh9hU current_linerùNUtransform_messagesrú]rû(h)rü}rý(h Uh/}rþ(h3]UlevelKh1]h2]Usourceh'h4]h5]UlineKUtypejØuh:]rÿhP)r}r(h Uh/}r(h3]h4]h2]h1]h5]uh!jüh:]rhLX4Hyperlink target "administration" is not referenced.r…r}r(h Uh!jubah-hSubah-jÕubh)r}r(h Uh/}r (h3]UlevelKh1]h2]Usourceh'h4]h5]UlineKUtypejØuh:]r hP)r }r (h Uh/}r (h3]h4]h2]h1]h5]uh!jh:]rhLX7Hyperlink target "custom-repository" is not referenced.r…r}r(h Uh!j ubah-hSubah-jÕubeUreporterrNUid_startrKU autofootnotesr]rU citation_refsr}rUindirect_targetsr]rUsettingsr(cdocutils.frontend Values ror}r(Ufootnote_backlinksrKUrecord_dependenciesrNU rfc_base_urlr Uhttps://tools.ietf.org/html/r!U tracebackr"ˆUpep_referencesr#NUstrip_commentsr$NU toc_backlinksr%Uentryr&U language_coder'Uenr(U datestampr)NU report_levelr*KU _destinationr+NU halt_levelr,KU strip_classesr-NhINUerror_encoding_error_handlerr.Ubackslashreplacer/Udebugr0NUembed_stylesheetr1‰Uoutput_encoding_error_handlerr2Ustrictr3U sectnum_xformr4KUdump_transformsr5NU docinfo_xformr6KUwarning_streamr7NUpep_file_url_templater8Upep-%04dr9Uexit_status_levelr:KUconfigr;NUstrict_visitorr<NUcloak_email_addressesr=ˆUtrim_footnote_reference_spacer>‰Uenvr?NUdump_pseudo_xmlr@NUexpose_internalsrANUsectsubtitle_xformrB‰U source_linkrCNUrfc_referencesrDNUoutput_encodingrEUutf-8rFU source_urlrGNUinput_encodingrHU utf-8-sigrIU_disable_configrJNU id_prefixrKUU tab_widthrLKUerror_encodingrMUUTF-8rNU_sourcerOh'Ugettext_compactrPˆU generatorrQNUdump_internalsrRNU smart_quotesrS‰U pep_base_urlrTU https://www.python.org/dev/peps/rUUsyntax_highlightrVUlongrWUinput_encoding_error_handlerrXj3Uauto_id_prefixrYUidrZUdoctitle_xformr[‰Ustrip_elements_with_classesr\NU _config_filesr]]Ufile_insertion_enabledr^ˆU raw_enabledr_KU dump_settingsr`NubUsymbol_footnote_startraKUidsrb}rc(j»j·j×jÓjæjâh‹h‡jÓjÏh7h#jBj>jÐjÌh@h#jwjsjÀj»jSjOj/j+jÁj½jºj»jÇjÃjÍjÉj—j“j¹jµj\jXuUsubstitution_namesrd}reh-h9h/}rf(h3]h1]h2]Usourceh'h4]h5]uU footnotesrg]rhUrefidsri}rj(h7]rkh+ajº]rlj·auub.