Joomla Platform  13.1
Documentation des API du framework Joomla Platform
 Tout Classes Espaces de nommage Fichiers Fonctions Variables Pages
Référence de la classe JOpenstreetmapElements
+ Graphe d'héritage de JOpenstreetmapElements:
+ Graphe de collaboration de JOpenstreetmapElements:

Liste de tous les membres

Fonctions membres publiques

 createNode ($changeset, $latitude, $longitude, $tags)
 createWay ($changeset, $tags, $nds)
 createRelation ($changeset, $tags, $members)
 readElement ($element, $id)
 updateElement ($element, $xml, $id)
 deleteElement ($element, $id, $version, $changeset, $latitude=null, $longitude=null)
 historyOfElement ($element, $id)
 versionOfElement ($element, $id, $version)
 multiFetchElements ($element, $params)
 relationsForElement ($element, $id)
 waysForNode ($id)
 fullElement ($element, $id)
 redaction ($element, $id, $version, $redaction_id)
- Fonctions membres publiques inherited from JOpenstreetmapObject
 __construct (JRegistry &$options=null, JHttp $client=null, JOpenstreetmapOauth $oauth=null)
 getOption ($key)
 setOption ($key, $value)
 sendRequest ($path, $method= 'GET', $headers=array(), $data= '')

Additional Inherited Members

- Attributs protégés inherited from JOpenstreetmapObject
 $options
 $client
 $oauth

Description détaillée

Définition à la ligne 19 du fichier elements.php.


Documentation des fonctions membres

JOpenstreetmapElements::createNode (   $changeset,
  $latitude,
  $longitude,
  $tags 
)

Method to create a node

Paramètres:
integer$changesetChangeset id
float$latitudeLatitude of the node
float$longitudeLongitude of the node
arary$tagsArray of tags for a node
Renvoie:
array The XML response
Depuis:
13.1

Définition à la ligne 33 du fichier elements.php.

{
$token = $this->oauth->getToken();
// Set parameters.
$parameters = array(
'oauth_token' => $token['key']
);
// Set the API base
$base = 'node/create';
// Build the request path.
$path = $this->getOption('api.url') . $base;
$tag_list = '';
// Create XML node
if (!empty($tags))
{
foreach ($tags as $key => $value)
{
$tag_list .= '<tag k="' . $key . '" v="' . $value . '"/>';
}
}
$xml = '<?xml version="1.0" encoding="UTF-8"?>
<osm version="0.6" generator="JOpenstreetmap">
<node changeset="' . $changeset . '" lat="' . $latitude . '" lon="' . $longitude . '">'
. $tag_list .
'</node>
</osm>';
$header['Content-Type'] = 'text/xml';
// Send the request.
$response = $this->oauth->oauthRequest($path, 'PUT', $parameters, $xml, $header);
return $response->body;
}
JOpenstreetmapElements::createRelation (   $changeset,
  $tags,
  $members 
)

Method to create a relation

Paramètres:
integer$changesetChangeset id
array$tagsArray of tags for a relation
array$membersArray of members for a relation eg: $members = array(array("type"=>"node", "role"=>"stop", "ref"=>"123"), array("type"=>"way", "ref"=>"123"))
Renvoie:
array The XML response
Depuis:
13.1

Définition à la ligne 149 du fichier elements.php.

{
$token = $this->oauth->getToken();
// Set parameters.
$parameters = array(
'oauth_token' => $token['key']
);
// Set the API base
$base = 'relation/create';
// Build the request path.
$path = $this->getOption('api.url') . $base;
$tag_list = '';
// Create XML node
if (!empty($tags))
{
foreach ($tags as $key => $value)
{
$tag_list .= '<tag k="' . $key . '" v="' . $value . '"/>';
}
}
// Members
$member_list = '';
if (!empty($members))
{
foreach ($members as $member)
{
if ($member['type'] == "node")
{
$member_list .= '<member type="' . $member['type'] . '" role="' . $member['role'] . '" ref="' . $member['ref'] . '"/>';
}
elseif ($member['type'] == "way")
{
$member_list .= '<member type="' . $member['type'] . '" ref="' . $member['ref'] . '"/>';
}
}
}
$xml = '<?xml version="1.0" encoding="UTF-8"?>
<osm version="0.6" generator="JOpenstreetmap">
<relation relation="' . $changeset . '" >'
. $tag_list
. $member_list .
'</relation>
</osm>';
$header['Content-Type'] = 'text/xml';
// Send the request.
$response = $this->oauth->oauthRequest($path, 'PUT', $parameters, $xml, $header);
return $response->body;
}
JOpenstreetmapElements::createWay (   $changeset,
  $tags,
  $nds 
)

Method to create a way

Paramètres:
integer$changesetChangeset id
array$tagsArray of tags for a way
array$ndsNode ids to refer
Renvoie:
array The XML response
Depuis:
13.1

Définition à la ligne 85 du fichier elements.php.

{
$token = $this->oauth->getToken();
// Set parameters.
$parameters = array(
'oauth_token' => $token['key']
);
// Set the API base
$base = 'way/create';
// Build the request path.
$path = $this->getOption('api.url') . $base;
$tag_list = '';
// Create XML node
if (!empty($tags))
{
foreach ($tags as $key => $value)
{
$tag_list .= '<tag k="' . $key . '" v="' . $value . '"/>';
}
}
$nd_list = '';
if (!empty($nds))
{
foreach ($nds as $value)
{
$nd_list .= '<nd ref="' . $value . '"/>';
}
}
$xml = '<?xml version="1.0" encoding="UTF-8"?>
<osm version="0.6" generator="JOpenstreetmap">
<way changeset="' . $changeset . '">'
. $tag_list
. $nd_list .
'</way>
</osm>';
$header['Content-Type'] = 'text/xml';
// Send the request.
$response = $this->oauth->oauthRequest($path, 'PUT', $parameters, $xml, $header);
return $response->body;
}
JOpenstreetmapElements::deleteElement (   $element,
  $id,
  $version,
  $changeset,
  $latitude = null,
  $longitude = null 
)

Method to delete an element [node|way|relation]

Paramètres:
string$element[node|way|relation]
integer$idElement identifier
integer$versionElement version
integer$changesetChangeset identifier
float$latitudeLatitude of the element
float$longitudeLongitude of the element
Renvoie:
array The XML response
Depuis:
13.1
Exceptions:
DomainException

Définition à la ligne 294 du fichier elements.php.

{
if ($element != 'node' && $element != 'way' && $element != 'relation')
{
throw new DomainException("Element should be a node, a way or a relation");
}
$token = $this->oauth->getToken();
// Set parameters.
$parameters = array(
'oauth_token' => $token['key']
);
// Set the API base
$base = $element . '/' . $id;
// Build the request path.
$path = $this->getOption('api.url') . $base;
// Create xml
$xml = '<?xml version="1.0" encoding="UTF-8"?>
<osm version="0.6" generator="JOpenstreetmap">
<' . $element . ' id="' . $id . '" version="' . $version . '" changeset="' . $changeset . '"';
if (!empty($latitude) && !empty($longitude))
{
$xml .= ' lat="' . $latitude . '" lon="' . $longitude . '"';
}
$xml .= '/></osm>';
$header['Content-Type'] = 'text/xml';
// Send the request.
$response = $this->oauth->oauthRequest($path, 'DELETE', $parameters, $xml, $header);
return $response->body;
}
JOpenstreetmapElements::fullElement (   $element,
  $id 
)

Method to get full information about an element [way|relation]

Paramètres:
string$element[way|relation]
integer$idIdentifier
Renvoie:
array The XML response
Depuis:
13.1
Exceptions:
DomainException

Définition à la ligne 492 du fichier elements.php.

{
if ($element != 'way' && $element != 'relation')
{
throw new DomainException("Element should be a way or a relation");
}
// Set the API base
$base = $element . '/' . $id . '/full';
// Build the request path.
$path = $this->getOption('api.url') . $base;
// Send the request.
$xml_string = $this->sendRequest($path);
return $xml_string->node;
}
JOpenstreetmapElements::historyOfElement (   $element,
  $id 
)

Method to get history of an element [node|way|relation]

Paramètres:
string$element[node|way|relation]
integer$idElement identifier
Renvoie:
array The XML response
Depuis:
13.1
Exceptions:
DomainException

Définition à la ligne 345 du fichier elements.php.

{
if ($element != 'node' && $element != 'way' && $element != 'relation')
{
throw new DomainException("Element should be a node, a way or a relation");
}
// Set the API base
$base = $element . '/' . $id . '/history';
// Build the request path.
$path = $this->getOption('api.url') . $base;
// Send the request.
$xml_string = $this->sendRequest($path);
return $xml_string->$element;
}
JOpenstreetmapElements::multiFetchElements (   $element,
  $params 
)

Method to get data about multiple ids of an element [node|way|relation]

Paramètres:
string$element[nodes|ways|relations] - use plural word
string$paramsComma separated list of ids belonging to type $element
Renvoie:
array The XML response
Depuis:
13.1
Exceptions:
DomainException

Définition à la ligne 406 du fichier elements.php.

{
if ($element != 'nodes' && $element != 'ways' && $element != 'relations')
{
throw new DomainException("Element should be nodes, ways or relations");
}
// Get singular word
$single_element = substr($element, 0, strlen($element) - 1);
// Set the API base, $params is a string with comma seperated values
$base = $element . '?' . $element . "=" . $params;
// Build the request path.
$path = $this->getOption('api.url') . $base;
// Send the request.
$xml_string = $this->sendRequest($path);
return $xml_string->$single_element;
}
JOpenstreetmapElements::readElement (   $element,
  $id 
)

Method to read an element [node|way|relation]

Paramètres:
string$element[node|way|relation]
integer$idElement identifier
Renvoie:
array The XML response
Depuis:
13.1
Exceptions:
DomainException

Définition à la ligne 220 du fichier elements.php.

{
if ($element != 'node' && $element != 'way' && $element != 'relation')
{
throw new DomainException("Element should be a node, a way or a relation");
}
// Set the API base
$base = $element . '/' . $id;
// Build the request path.
$path = $this->getOption('api.url') . $base;
// Send the request.
$xml_string = $this->sendRequest($path);
return $xml_string->$element;
}
JOpenstreetmapElements::redaction (   $element,
  $id,
  $version,
  $redaction_id 
)

Method used by the DWG to hide old versions of elements containing data privacy or copyright infringements

Paramètres:
string$element[node|way|relation]
integer$idElement identifier
integer$versionElement version
integer$redaction_idRedaction id
Renvoie:
array The xml response
Depuis:
13.1
Exceptions:
DomainException

Définition à la ligne 524 du fichier elements.php.

{
if ($element != 'node' && $element != 'way' && $element != 'relation')
{
throw new DomainException("Element should be a node, a way or a relation");
}
$token = $this->oauth->getToken();
// Set parameters.
$parameters = array(
'oauth_token' => $token['key']
);
// Set the API base
$base = $element . '/' . $id . '/' . $version . '/redact?redaction=' . $redaction_id;
// Build the request path.
$path = $this->getOption('api.url') . $base;
// Send the request.
$response = $this->oauth->oauthRequest($path, 'PUT', $parameters);
$xml_string = simplexml_load_string($response->body);
return $xml_string;
}
JOpenstreetmapElements::relationsForElement (   $element,
  $id 
)

Method to get relations for an Element [node|way|relation]

Paramètres:
string$element[node|way|relation]
integer$idElement identifier
Renvoie:
array The XML response
Depuis:
13.1
Exceptions:
DomainException

Définition à la ligne 439 du fichier elements.php.

{
if ($element != 'node' && $element != 'way' && $element != 'relation')
{
throw new DomainException("Element should be a node, a way or a relation");
}
// Set the API base
$base = $element . '/' . $id . '/relations';
// Build the request path.
$path = $this->getOption('api.url') . $base;
// Send the request.
$xml_string = $this->sendRequest($path);
return $xml_string->$element;
}
JOpenstreetmapElements::updateElement (   $element,
  $xml,
  $id 
)

Method to update an Element [node|way|relation]

Paramètres:
string$element[node|way|relation]
string$xmlFull reperentation of the element with a version number
integer$idElement identifier
Renvoie:
array The xml response
Depuis:
13.1
Exceptions:
DomainException

Définition à la ligne 251 du fichier elements.php.

{
if ($element != 'node' && $element != 'way' && $element != 'relation')
{
throw new DomainException("Element should be a node, a way or a relation");
}
$token = $this->oauth->getToken();
// Set parameters.
$parameters = array(
'oauth_token' => $token['key']
);
// Set the API base
$base = $element . '/' . $id;
// Build the request path.
$path = $this->getOption('api.url') . $base;
$header['Content-Type'] = 'text/xml';
// Send the request.
$response = $this->oauth->oauthRequest($path, 'PUT', $parameters, $xml, $header);
return $response->body;
}
JOpenstreetmapElements::versionOfElement (   $element,
  $id,
  $version 
)

Method to get details about a version of an element [node|way|relation]

Paramètres:
string$element[node|way|relation]
integer$idElement identifier
integer$versionElement version
Renvoie:
array The XML response
Depuis:
13.1
Exceptions:
DomainException

Définition à la ligne 376 du fichier elements.php.

{
if ($element != 'node' && $element != 'way' && $element != 'relation')
{
throw new DomainException("Element should be a node, a way or a relation");
}
// Set the API base
$base = $element . '/' . $id . '/' . $version;
// Build the request path.
$path = $this->getOption('api.url') . $base;
// Send the request.
$xml_string = $this->sendRequest($path);
return $xml_string->$element;
}
JOpenstreetmapElements::waysForNode (   $id)

Method to get ways for a Node element

Paramètres:
integer$idNode identifier
Renvoie:
array The XML response
Depuis:
13.1

Définition à la ligne 467 du fichier elements.php.

{
// Set the API base
$base = 'node/' . $id . '/ways';
// Build the request path.
$path = $this->getOption('api.url') . $base;
// Send the request.
$xml_string = $this->sendRequest($path);
return $xml_string->way;
}

La documentation de cette classe a été générée à partir du fichier suivant :