Geographic Information Systems Asked by Eze on December 21, 2020
So I have a kml file that I want to save to my postgis database,
Currently I have the following code using php:
$file = $request->file("item");
$name = time();
$name = $name . '.' . $file->getClientOriginalExtension();
$temp = 'uploads/' . $user_app->id . '/kml/';
$path = public_path('uploads/' . $user_app->id . '/kml/');
if (!file_exists($path)) {
mkdir($path, 0777, true);
}
$path = public_path() . '/uploads/' . $user_app->id . '/kml/';
$command = "ogr2ogr -f PostgreSQL PG:"host=".$HOST." dbname=".$DBNAME." port=".$PORT." user=".$USER." password=".$PASSWORD."" ".$path.$name." -nln siap 2>&1";
Log::debug($command);
$res = shell_exec($command) ;
Log::debug($res);
This is the command line,
ogr2ogr -f PostgreSQL PG:"host=127.0.0.1 dbname=postgis_24_sample port=5432 user=postgres password=123456" C:xampphtdocssiap-padronpublic/uploads/2044492/kml/1597284059.kml -nln siap 2>&1
this if I run it in powershell or in the system symbol it inserts it correctly in the postgis base, but when it is run in php it gives me the following error
local.DEBUG: FAILURE: Unable to open datasource `C:/xampp/htdocs/siap-padron/public/uploads/2044492/kml/1597284059.kml' with the following drivers.
-> `JP2ECW'......
Any comment would be very helpful.
The error came out because my kml file path was wrong, the correct way is as follows
ogr2ogr -f PostgreSQL PG:"host=127.0.0.1 dbname=postgis_24_sample port=5432 user=postgres password=123456" C:/xampp/htdocs/siap-padron/public/uploads/2044492/kml/1597328869.kml -nln siap 2>&1
Answered by Eze on December 21, 2020
Get help from others!
Recent Answers
Recent Questions
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP