集成在php示例中的PostGIS函数?

集成在php示例中的PostGIS函数?,php,function,postgresql,geocoding,postgis,Php,Function,Postgresql,Geocoding,Postgis,我正在为带有PostGIS功能的postgreSQL数据库编写一个客户端。这个客户机当然是通过php进行通信的。然而,我正在为可用的postGIS函数寻找合适的文档,我可以从我的php文件中调用这些函数 如果我能得到一个简单的例子,说明如何将postGIS函数集成到php中,我将不胜感激 干杯:)PostGIS在其网站上列出了其所有类型和功能,例如下面是。您可以将这些函数称为SQL,就像从PHP调用任何其他SQL一样 因此,使用PHP的内置PostgreSQL函数,您可以执行以下操作: $res

我正在为带有PostGIS功能的postgreSQL数据库编写一个客户端。这个客户机当然是通过php进行通信的。然而,我正在为可用的postGIS函数寻找合适的文档,我可以从我的php文件中调用这些函数

如果我能得到一个简单的例子,说明如何将postGIS函数集成到php中,我将不胜感激


干杯:)

PostGIS在其网站上列出了其所有类型和功能,例如下面是。您可以将这些函数称为SQL,就像从PHP调用任何其他SQL一样

因此,使用PHP的内置PostgreSQL函数,您可以执行以下操作:

$result = pg_query_params('
    SELECT ST_Distance( location, ST_SetSRID(ST_Point($1, $2), 27700) )
    FROM table WHERE id=$3', array(400000, 300000, 123) );
获取从英国栅格参考系统中的(400000,300000)到数据库表中第123行位置列的距离(以米为单位)


PostGIS函数可能有PHP包装器,但我恐怕不知道PostGIS在postgresql数据库中的某些模式中有存储过程。 如果你有PDO,你可以编写程序,然后调用非常接近的对象。 有关可用的获取模式,请参见PHP PDO

<?php
require_once 'constants.php';
class Postgis extends PDO
{
  public function __construct()
  {
    $this->pg = new PDO( PDO_DB_DSN );
    $this->pg->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
  }
  public function makePoint( $x, $y )
  {
    $preparedStatement = $this->pg->prepare( 'SELECT public.st_makepoint( ?, ? )' );
    $preparedStatement->execute( array( $x, $y ) );
    return $preparedStatement->fetchColumn();
  }
}

try
{
  $postgis = new Postgis();
  $point = $postgis->makePoint( 34, 44 ); //point holds the binary string of a point without srid
  var_dump( $point );
}
catch ( PDOException $e )
{
  // any errors here
  var_dump( $e->getMessage() );
}
?>

我唯一能找到的东西。这是一本很长的书。。。