📄 classogr__srsnode.html
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"><title>OGR: OGR_SRSNode Class Reference</title><link href="doxygen.css" rel="stylesheet" type="text/css"><link href="tabs.css" rel="stylesheet" type="text/css"></head><body><!-- Generated by Doxygen 1.5.1 --><div class="tabs"> <ul> <li><a href="index.html"><span>Main Page</span></a></li> <li id="current"><a href="annotated.html"><span>Classes</span></a></li> <li><a href="files.html"><span>Files</span></a></li> <li><a href="dirs.html"><span>Directories</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> </ul></div><div class="tabs"> <ul> <li><a href="annotated.html"><span>Class List</span></a></li> <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class Members</span></a></li> </ul></div><h1>OGR_SRSNode Class Reference</h1><!-- doxytag: class="OGR_SRSNode" --><code>#include <<a class="el" href="ogr__spatialref_8h-source.html">ogr_spatialref.h</a>></code><p><a href="classOGR__SRSNode-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0"><tr><td></td></tr><tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classOGR__SRSNode.html#667f1d3760fdc53c1157b36031a260bd">OGR_SRSNode</a> (const char *=NULL)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classOGR__SRSNode.html#1abd1be9379bd21567b6cc0eadc819f6">GetChildCount</a> () const</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classOGR__SRSNode.html">OGR_SRSNode</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classOGR__SRSNode.html#ad8c07e21a228cdd2e58a9944aa86d76">GetChild</a> (int)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classOGR__SRSNode.html">OGR_SRSNode</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classOGR__SRSNode.html#6760a6ffee3941f9b55d184304a70b06">GetNode</a> (const char *)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classOGR__SRSNode.html#56c84c7cfcadf8ee273eb5f265b5dcd9">InsertChild</a> (<a class="el" href="classOGR__SRSNode.html">OGR_SRSNode</a> *, int)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classOGR__SRSNode.html#161233efeab69c02691bfdfb8acda20d">AddChild</a> (<a class="el" href="classOGR__SRSNode.html">OGR_SRSNode</a> *)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classOGR__SRSNode.html#047ce17a7a2f76ab0a6c4c7f5cab06a9">FindChild</a> (const char *) const </td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classOGR__SRSNode.html#d292fa90c3d86e79a7dcc0d1ed7bfa72">DestroyChild</a> (int)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classOGR__SRSNode.html#181ab5c7787769906e42ad54101e326a">StripNodes</a> (const char *)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="classOGR__SRSNode.html#3a32e6047922b70c704bf3e11559b750">GetValue</a> () const</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classOGR__SRSNode.html#07094ad4ae48e6760d0816ff14d2a8ad">SetValue</a> (const char *)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classOGR__SRSNode.html#1cb8176e81a89fb8e8cd8522c0785492">MakeValueSafe</a> ()</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classOGR__SRSNode.html">OGR_SRSNode</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classOGR__SRSNode.html#1400b9c8cbe19ec67e7082f383a9f0d3">Clone</a> () const</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">OGRErr </td><td class="memItemRight" valign="bottom"><a class="el" href="classOGR__SRSNode.html#6b8db59ea569b214a0ae163f505dc2e0">importFromWkt</a> (char **)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">OGRErr </td><td class="memItemRight" valign="bottom"><a class="el" href="classOGR__SRSNode.html#5b147bc2cad0aaafb201c559abe9cc85">exportToWkt</a> (char **) const </td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">OGRErr </td><td class="memItemRight" valign="bottom"><a class="el" href="classOGR__SRSNode.html#a6e0f8e8c7f5da9fc44d9ab103592bcf">applyRemapper</a> (const char *pszNode, char **papszSrcValues, char **papszDstValues, int nStepSize=1, int bChildOfHit=FALSE)</td></tr></table><hr><a name="_details"></a><h2>Detailed Description</h2>Objects of this class are used to represent value nodes in the parsed representation of the WKT SRS format. For instance UNIT["METER",1] would be rendered into three OGR_SRSNodes. The root node would have a value of UNIT, and two children, the first with a value of METER, and the second with a value of 1.<p>Normally application code just interacts with the <a class="el" href="classOGRSpatialReference.html">OGRSpatialReference</a> object, which uses the <a class="el" href="classOGR__SRSNode.html">OGR_SRSNode</a> to implement it's data structure; however, this class is user accessable for detailed access to components of an SRS definition. <p><hr><h2>Constructor & Destructor Documentation</h2><a class="anchor" name="667f1d3760fdc53c1157b36031a260bd"></a><!-- doxytag: member="OGR_SRSNode::OGR_SRSNode" ref="667f1d3760fdc53c1157b36031a260bd" args="(const char *=NULL)" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname">OGR_SRSNode::OGR_SRSNode </td> <td>(</td> <td class="paramtype">const char * </td> <td class="paramname"> <em>pszValueIn</em> = <code>NULL</code> </td> <td> ) </td> <td width="100%"></td> </tr> </table></div><div class="memdoc"><p>Constructor.<p><dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>pszValueIn</em> </td><td>this optional parameter can be used to initialize the value of the node upon creation. If omitted the node will be created with a value of "". Newly created OGR_SRSNodes have no children. </td></tr> </table></dl></div></div><p><hr><h2>Member Function Documentation</h2><a class="anchor" name="1abd1be9379bd21567b6cc0eadc819f6"></a><!-- doxytag: member="OGR_SRSNode::GetChildCount" ref="1abd1be9379bd21567b6cc0eadc819f6" args="() const" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname">int OGR_SRSNode::GetChildCount </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td width="100%"> const<code> [inline]</code></td> </tr> </table></div><div class="memdoc"><p>Get number of children nodes.<p><dl class="return" compact><dt><b>Returns:</b></dt><dd>0 for leaf nodes, or the number of children nodes. </dd></dl></div></div><p><a class="anchor" name="ad8c07e21a228cdd2e58a9944aa86d76"></a><!-- doxytag: member="OGR_SRSNode::GetChild" ref="ad8c07e21a228cdd2e58a9944aa86d76" args="(int)" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classOGR__SRSNode.html">OGR_SRSNode</a> * OGR_SRSNode::GetChild </td> <td>(</td> <td class="paramtype">int </td> <td class="paramname"> <em>iChild</em> </td> <td> ) </td> <td width="100%"></td> </tr> </table></div><div class="memdoc"><p>Fetch requested child.<p><dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>iChild</em> </td><td>the index of the child to fetch, from 0 to <a class="el" href="classOGR__SRSNode.html#1abd1be9379bd21567b6cc0eadc819f6">GetChildCount()</a> - 1.</td></tr> </table></dl><dl class="return" compact><dt><b>Returns:</b></dt><dd>a pointer to the child <a class="el" href="classOGR__SRSNode.html">OGR_SRSNode</a>, or NULL if there is no such child. </dd></dl></div></div><p><a class="anchor" name="6760a6ffee3941f9b55d184304a70b06"></a><!-- doxytag: member="OGR_SRSNode::GetNode" ref="6760a6ffee3941f9b55d184304a70b06" args="(const char *)" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classOGR__SRSNode.html">OGR_SRSNode</a> * OGR_SRSNode::GetNode </td> <td>(</td> <td class="paramtype">const char * </td> <td class="paramname"> <em>pszName</em> </td> <td> ) </td> <td width="100%"></td> </tr> </table></div><div class="memdoc"><p>Find named node in tree.<p>This method does a pre-order traversal of the node tree searching for a node with this exact value (case insensitive), and returns it. Leaf nodes are not considered, under the assumption that they are just attribute value nodes.<p>If a node appears more than once in the tree (such as UNIT for instance), the first encountered will be returned. Use <a class="el" href="classOGR__SRSNode.html#6760a6ffee3941f9b55d184304a70b06">GetNode()</a> on a subtree to be more specific.<p><dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>pszName</em> </td><td>the name of the node to search for.</td></tr> </table></dl><dl class="return" compact><dt><b>Returns:</b></dt><dd>a pointer to the node found, or NULL if none. </dd></dl></div></div><p><a class="anchor" name="56c84c7cfcadf8ee273eb5f265b5dcd9"></a><!-- doxytag: member="OGR_SRSNode::InsertChild" ref="56c84c7cfcadf8ee273eb5f265b5dcd9" args="(OGR_SRSNode *, int)" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname">void OGR_SRSNode::InsertChild </td> <td>(</td> <td class="paramtype"><a class="el" href="classOGR__SRSNode.html">OGR_SRSNode</a> * </td> <td class="paramname"> <em>poNew</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>iChild</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"></td> </tr> </table></div><div class="memdoc"><p>Insert the passed node as a child of target node, at the indicated position.<p>Note that ownership of the passed node is assumed by the node on which the method is invoked ... use the <a class="el" href="classOGR__SRSNode.html#1400b9c8cbe19ec67e7082f383a9f0d3">Clone()</a> method if the original is to be preserved. All existing children at location iChild and beyond are push down one space to make space for the new child.<p><dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>poNew</em> </td><td>the node to add as a child. </td></tr> <tr><td valign="top"></td><td valign="top"><em>iChild</em> </td><td>position to insert, use 0 to insert at the beginning. </td></tr> </table></dl></div></div><p><a class="anchor" name="161233efeab69c02691bfdfb8acda20d"></a><!-- doxytag: member="OGR_SRSNode::AddChild" ref="161233efeab69c02691bfdfb8acda20d" args="(OGR_SRSNode *)" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname">void OGR_SRSNode::AddChild </td> <td>(</td> <td class="paramtype"><a class="el" href="classOGR__SRSNode.html">OGR_SRSNode</a> * </td> <td class="paramname"> <em>poNew</em> </td> <td> ) </td> <td width="100%"></td> </tr> </table></div><div class="memdoc"><p>Add passed node as a child of target node.<p>Note that ownership of the passed node is assumed by the node on which the method is invoked ... use the <a class="el" href="classOGR__SRSNode.html#1400b9c8cbe19ec67e7082f383a9f0d3">Clone()</a> method if the original is to be preserved. New children are always added at the end of the list.<p><dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>poNew</em> </td><td>the node to add as a child. </td></tr> </table></dl></div></div><p><a class="anchor" name="047ce17a7a2f76ab0a6c4c7f5cab06a9"></a><!-- doxytag: member="OGR_SRSNode::FindChild" ref="047ce17a7a2f76ab0a6c4c7f5cab06a9" args="(const char *) const " --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname">int OGR_SRSNode::FindChild </td> <td>(</td> <td class="paramtype">const char * </td> <td class="paramname"> <em>pszValue</em> </td> <td> ) </td> <td width="100%"> const</td> </tr> </table></div><div class="memdoc"><p>Find the index of the child matching the given string.<p>Note that the node value must match pszValue with the exception of case. The comparison is case insensitive.<p><dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>pszValue</em> </td><td>the node value being searched for.</td></tr> </table></dl><dl class="return" compact><dt><b>Returns:</b></dt><dd>the child index, or -1 on failure. </dd></dl></div></div><p><a class="anchor" name="d292fa90c3d86e79a7dcc0d1ed7bfa72"></a><!-- doxytag: member="OGR_SRSNode::DestroyChild" ref="d292fa90c3d86e79a7dcc0d1ed7bfa72" args="(int)" --><div class="memitem"><div class="memproto">
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -