exists in latest
GDAL
Gane R
___
gdal-dev mailing list
gdal-dev@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/gdal-dev
Hi,
I am trying to draw OGR features with style in a defined by a vrt file.
I want point features to be placed with my custom icon with the OGR Feature
style.
So I tried,
The following line works when I change the size parameter s:n
SYMBOL(c:#00FF,s:50px,id:ogr-sym-3);
The following line
Hi all,
Is there any way to disable one or all OGR formats when building on Linux.
i.e.,
when using ./configure
Is there any way to disable certain raster formats when building on Linux
Thanks
Ganesan
___
gdal-dev mailing list
gdal-dev@lists.osgeo.org
Does the latest version of GDAL 2.2.4 can be compiled without c++11 support
or it is mandatory to compile with c++11.
Is there any possibility I can build with a compiler which doesn't support
c++11.
Can you point any relevant information on this?
Thanks
Gane
Thanks for your reply,
I got it working by referencing the the subsets like PDF:
On Fri, Oct 27, 2017 at 1:59 PM, wrote:
> You should be able to just use the normal subdataset referencing. I like
> gdalinfo to get the syntax.
>
>
>
> Brad
>
>
>
I have a GeoPDF with Map on second page, first page is kind of foreword.
Do We have any way in GDAL to say to GDAL API use page 2 of this GeoPDF
for gdal_translate or gdalwarp ?
Thanks
Ganesan
___
gdal-dev mailing list
gdal-dev@lists.osgeo.org
I came across this link
https://pro.arcgis.com/en/pro-app/help/data/geodatabases/overview/create-datasets-in-a-geodatabase.htm
in GDAL Filegeodb using ESRI File Geodb what dataset we support apart from
Feature Datasets, like tables, Mosiac, Rasters ?
Gane
I had a chance to work with prebuild gdal-2-1-3 bin, I tried to convert a
PDF to TIFF, with attached PDF, the PDF is not oriented to the north
rotation as expected on the TIFF.
I tried to work with source and found the angle dfRotation is reported as
zero. The resultant GeoTIFF output is not
suggestions on this issue or any one has worked on this will of great
help.
Gane R
___
gdal-dev mailing list
gdal-dev@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/gdal-dev
for a Geospatial PDF crashes
at version gdal-2.2.0
Has anybody tried to build GDAL with PDFium recently, or there was a change
in the PDFium source ?
Gane R
On Wed, May 10, 2017 at 6:18 PM, Gane R <gane.p...@gmail.com> wrote:
> I got it working, I saw the post Handling pdfium build / in
I got it working, I saw the post Handling pdfium build / integration and
fixed it.
On Tue, May 9, 2017 at 6:31 PM, Gane R <gane.p...@gmail.com> wrote:
> Hi all,
> I am trying to build GDAL with PDFium
>
> I saw the link
> https://github.com/rouault/pdfium/tree/build
>
&g
sorry wrong post ..
On Wed, May 10, 2017 at 6:16 PM, Gane R <gane.p...@gmail.com> wrote:
> I got it working, I saw the post Handling pdfium build / integration and
> fixed it.
>
> On Wed, Mar 29, 2017 at 2:47 PM, Gane R <gane.p...@gmail.com> wrote:
>
>> Hi all
I got it working, I saw the post Handling pdfium build / integration and
fixed it.
On Wed, Mar 29, 2017 at 2:47 PM, Gane R <gane.p...@gmail.com> wrote:
> Hi all,
>
> I am looking for building gdal with minimal set of drivers like gdal with
> geotiff, jpg, png and sqlite gpkg
&
: recipe for target 'apps-target' failed
make: *** [apps-target] Error 2
Thanks
Gane R
___
gdal-dev mailing list
gdal-dev@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/gdal-dev
Hi all,
I am looking for building gdal with minimal set of drivers like gdal with
geotiff, jpg, png and sqlite gpkg
so it should do basic warp geotiff and work with geopkg raster. I don't
need OGR part I need the core, alg and raster tif, gpkg, jpg and png alone
is enought.
the problem is I get
gdalinfo for a file is as
Driver: PDF/Geospatial PDF
Files: C:\la plata_final_sept8-1.pdf
Size is 5100, 3300
Coordinate System is:
PROJCS["unnamed",
GEOGCS["unknown",
DATUM["WGS_1984 based datum",
SPHEROID["Sphere",6378137,0],
TOWGS84[0,0,0,0,0,0,0]],
Hi all,
I had a change to see the link
http://stackoverflow.com/questions/12643898/incorporating-gdal-ogr-into-an-ios-project-a-quick-guide
This was guiding to build with Xcode 4.0, the above link says that it
doesn't work with Xcode version above 4.0
I just wanted to build GDAL as static
Hi all,
I saw a link for Building GDAL for android on linux
https://trac.osgeo.org/gdal/wiki/BuildingForAndroid
Is it updated ?, I tried to build on centOS, It took the android linux
compiler. The make resulted in a error. gdal 2.1.0
Is there any updated document or any one having personal
I see the usage of the gdalinfo for the gpkg with multiple tile source as
Subdataset,
I also saw the source code of gdalinfo getting the subdataset
*Q1: Can I get a list of tiles source name (table_name) in gpkg_contents
data_type as tiles?Is there any API call*
*or only by the following code
com>
wrote:
> Le mardi 17 mai 2016 17:08:32, Gane R a écrit :
> > Hi all,
> >
> > I am using a pre-build version of gdal 2.1.0. I am able to create GeoTIFF
> > to GeoPackage using gdal_translate.
> >
> > I see from the Geopackage specification I understand that
Hi all,
I am using a pre-build version of gdal 2.1.0. I am able to create GeoTIFF
to GeoPackage using gdal_translate.
I see from the Geopackage specification I understand that Geopackage can
have multiple tile sources, If so
Q1: How to I add a tilesource to an exisiting geopackage from a
Hi,
I was working with gdal 2.1.0, I was trying to convert a geopackage raster
to mbtiles, I used GDALCreateCopy to convert the dataset to mbtiles.
On http://www.gdal.org/frmt_mbtiles.html
I saw an example to use gdal_translate and then to use gdaladdo to
overviews
Q1: I got only one level of
Hi all,
Here is a link to Geopackage sample name ERDC Whitehorse GeoPackage.gpkg
at
https://portal.opengeospatial.org/files/63156
I tried like this
gdal_translate.exe -of GPKG "sample.tif" "sample.gpkg" -co *TILING_SCHEME*
=PseudoTMS_GlobalMercator
I got only one zoom level in the output
I see a link to download the source
http://download.osgeo.org/gdal/2.0.2/gdal202.zip
when can I find a prebuilt version of GDAL 2.0.2
Thanks
Gane
___
gdal-dev mailing list
gdal-dev@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/gdal-dev
I saw the code on gdal-2.1.0\frmts\mbtiles\mbtilesdataset.cpp I want know
where a blob is written into mbtiles.
I don't see any INSERT SQL statement for inserting a tile blob
Gane
___
gdal-dev mailing list
gdal-dev@lists.osgeo.org
Looking for function to do fast IO across the two datasets
Is GDALDatasetRasterIO already best or any other available.
___
gdal-dev mailing list
gdal-dev@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/gdal-dev
I got it and saw the progress and cancel working,
thanks
Gane
On Tue, Apr 26, 2016 at 3:33 PM, Even Rouault <even.roua...@spatialys.com>
wrote:
> Le mardi 26 avril 2016 11:58:22, Gane R a écrit :
> > [1] Is is possible to get the progress 10...20... into a variable and [2]
>
Is is possible to access a dataset from different threads with
GDALDatasetRasterIO is it thread safe.
___
gdal-dev mailing list
gdal-dev@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/gdal-dev
at 3:13 PM, Even Rouault <even.roua...@spatialys.com>
wrote:
> Le mardi 26 avril 2016 11:36:46, Gane R a écrit :
> > Is that any way to get the progress of the gdalwarp and make a cancel
> > request of gdalwarp.
> >
> > in gdal 1.10.1
> > In gd
Is that any way to get the progress of the gdalwarp and make a cancel
request of gdalwarp.
in gdal 1.10.1
In gdalwarp.cpp
I see psWO->pfnProgress = GDALTermProgress;
This for only progress right ?
I want to have function called with the progress displayed and also check,
if cancel is
I want to have the dll generated as gdal_2_0_2.dll for gdal 2.0.2 build
and this name has to used in gdal_i.lib
So event the apps like gdalwarp.exe will look for gdal_2_0_2.dll and not
gdal200.dll
Thanks
Gane
___
gdal-dev mailing list
Sorry I got one sample and it failed withe the -co PHOTOMETRIC=YCBCR on
grey TIF with 1 raster band.
Thanks
Gane
On Tue, Mar 29, 2016 at 4:50 PM, Gane R <gane.p...@gmail.com> wrote:
> I am using gdalwarp withe following option to convert a tif to compressed
> TIF
>
> -co
I am using gdalwarp withe following option to convert a tif to compressed
TIF
-co COMPRESS=JPEG -co JPEG_QUALITY=80 -co TILED=YES -co PHOTOMETRIC=YCBCR
-co BLOCKYSIZE=512 -co BLOCKXSIZE=512
Will the PHOTOMETRIC option work on grey tif images. Unfortunately I don't
have such data set.
If any one
I am trying to do a gdalwarp on linux with poppler, fontconfig and
freetype2 built in gdal
I get the following error
ERROR 1: Couldn't find a font
when converting from GeoPDF to GeoTIF
Resulting GeoTIF doesn't have some text labels in the PDF.
Any suggestion while building gdal
Regards,
quot;W, 36d21' 7.77"N)
Upper Right ( 1963359.393, 580804.857) (102d50'57.53"W, 36d26'24.32"N)
Lower Right ( 1963359.393, 569626.249) (102d52' 4.82"W, 36d20'25.88"N)
Center ( 1959040.385, 575215.553) (102d54'22.49"W, 36d23'46.09"N)
Band 1 Block=1275x1 Typ
When I try to convert to different projection using the gdalwarp
*without *specifying
the* -s_srs option* it reprojects to a *different location*, for some
raster it projects to a correct location.
But when try to run gdalinfo and I see a lot of EPSG code, when I use the
last AUTHORITY EPSG code
Hi all,
I am creating a layer for geopackage, But I don't see the fid I set using
setFID here is my code flow.
Step1:
poLayer = OGRDataSource::CreateLayer();
Step2:
adding all the fields
Step3:
poFeature = OGRFeature::CreateFeature( poLayer->GetLayerDefn() );
then
Step 4:
Here is a link for the PDF
https://drive.google.com/file/d/0B4shTM1bPS5TaVZ2OWxxR0MtM2s/view?usp=sharing
and the gdalinfo is as follows, Does this projection is supported by the
PDF driver.
Driver: PDF/Geospatial PDF
Files:Plant_GIS_ANSI_D_View4_Treatment_50Scale.pdf
Size is 5100, 3300
Here is a link to PDF
https://drive.google.com/file/d/0B4shTM1bPS5TaVZ2OWxxR0MtM2s/view?usp=sharing
I remember I got the US Ft unit fix for PDF driver from trunk.
So will that fix will be sufficient to handle PDFs with "US Survey Ft being
used for a projection"
Thanks
Gane
I got a source of sqlite3 from amalgation. I compiled on linux to get a
static lib say libsqlite3.a
I want to build GDAL with sqlite3 support,
so I tried to use ./configure --with-sqlite3=path
the path has include folder and lib folder (as subfolder) containing the
libsqlite3.a
gdal failed to
.
On Mon, Jan 25, 2016 at 3:33 PM, <a.furi...@lqt.it> wrote:
> On Mon, 25 Jan 2016 15:20:13 +0530, Gane R wrote:
>
>> I got a source of sqlite3 from amalgation. I compiled on linux to get
>> a static lib say libsqlite3.a
>>
>>
> Hi Gene,
>
> starting f
Where do I get the sqlite3 with include header files, stub library
sqlite3_i.lib and dll.
Do I have to build it, If so I tried the following
I have a sql-amalgation version.
I tried to look the documentation on sqlite website for creating a
sqlite3.dll
using the following command
cl sqlite3.c
want to use this sqlite3 in
nmake.opt, correct me If I am wrong.
On Wed, Jan 20, 2016 at 2:48 PM, Even Rouault <even.roua...@spatialys.com>
wrote:
> Le mercredi 20 janvier 2016 09:56:20, Gane R a écrit :
> > Where do I get the sqlite3 with include header files, stub library
&g
Is that I have to build the sqlite3 separately and then build gdal, does
gdal have an sqlite internally like png (libpng) if so how can it be used.
Thanks
On Wed, Jan 20, 2016 at 3:42 PM, Gane R <gane.p...@gmail.com> wrote:
> I was looking at the makefile.vc and docs and visu
Thanks for your timely response. I got the offset issue seem to work
fine with above quotes revision. Thank-you once again.
On 1/8/16, Gane R <gane.p...@gmail.com> wrote:
>
>
> On Fri, Jan 8, 2016 at 3:10 PM, Even Rouault <even.roua...@spatialys.com>
> wrote:
>
>&g
I have been browsing on the internet for finding the difference
between GeoPDF and Geospatial PDF. It seems that the terms geopdf and
geospatial are interchangeable used. Is the both geopdf and geospatial
are same, if so the PDF driver in gdal will handle geopdf and
geospatial PDF.
Suggestions
Here is a link to the file
https://drive.google.com/file/d/0B4shTM1bPS5TMDhNMUpkUC04RlE/view?usp=sharing
This the gdalinfo of the TIF file
Size is 5210, 3498
Coordinate System is:
PROJCS["WGS 84 / Pseudo-Mercator",
GEOGCS["WGS 84",
DATUM["WGS_1984",
SPHEROID["WGS
It is weired, when I call CreateDataSource as I had discussed earlier, I
send a large filename with absoluted path to it. I causes a crash at when
called from java via jni
Is there any limitation in the name of the filename when passing to
CreateDataSource call.
poDrv->CreateDataSource <=
Does the CreateDataSource for filegeodb support filename.gdb with long path
before
CreateDataSource("D:\\temp\\212121\\121212134345\\sample.gdb",NULL);
Gane
On Tue, Jan 5, 2016 at 3:58 PM, Even Rouault <even.roua...@spatialys.com>
wrote:
> Le mardi 05 janvier 2016 11:13
I used FileGDB SDK 1.4 with gdal gdal-1.11.3, I changed the Shape file
projection to EPSG:4326 it then worked for me.
Thanks
Gane
On Thu, Dec 24, 2015 at 5:32 PM, Even Rouault
wrote:
> >
> > ogrinfo -al "SimpleShapeFile_1.shp"
> >
> > INFO: Open of
I have creating a layer for FileGeoDB using XML
I want to change the geom definition set from XML to my selected Projection
say EPSG:4326
So I am looking for SetGeomFieldDefn opposite of GetGeomFieldDefn
any suggestion
Gane
___
gdal-dev mailing list
can any one specify the epsg code for wgs 84
thanks
Gane
___
gdal-dev mailing list
gdal-dev@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/gdal-dev
015 at 12:13 PM, Gane R <gane.p...@gmail.com> wrote:
> I saw the python example, I tried load the xml and used XML_DEFINITION on
> layer creation option, I get runtime crash, I guess I am wrong some where
>
> I loaded the XML and created a buffer
>
> XML_DEFINITION=xmlco
working
will be of great help
Gane
_
On Tue, Dec 22, 2015 at 6:21 PM, Even Rouault <even.roua...@spatialys.com>
wrote:
> Le mardi 22 décembre 2015 12:46:29, Gane R a écrit :
> > I tried to read the coded domain values from GDAL, I used special sql
> > requests from GDAL as d
I have a shapefile, I convert to Filegeodb, when I convert, the SRS WKT are
different, later when I convert the geom in filegeodb to EPSG:4326 WGS 84 I
get a n error code.
pOutputSRS = (OGRSpatialReference*)OSRNewSpatialReference(NULL);
pOutputSRS->SetFromUserInput(
I tried to read the coded domain values from GDAL, I used special sql
requests from GDAL as described in FileGeoDB driver. I got the values in
the XML format.
Is it possible to write coded domain values from GDAL using special sql
request.
I saw that it was possible from ESRI filegeodb API, can
Do the current implementation of filegeodb access via ESRI FileGeob support
import of coded domain values, If so how in GDAL
Gane
___
gdal-dev mailing list
gdal-dev@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/gdal-dev
How a geotransform values are calulated.
Any references will be of greate help
Thanks
Gane
___
gdal-dev mailing list
gdal-dev@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/gdal-dev
Thanks for your timely response. Well the PDF was generated at the source
by different form such that I didn't face this problem, that new version of
the file worked for me.
On Mon, Dec 14, 2015 at 7:20 PM, Even Rouault
wrote:
> Le lundi 14 décembre 2015 13:25:13,
How to convert Lat Long bounds to geotransform values for a particular zoom
in EPSG:4326
I can generated a raster with width, height and the geotransform values.
But for an Lat Long bounds at a particular zoom say highest 22, will the
xres and yres vary with location ?
Gane
Here is link to GeoPDF which is inverted when converted to GeoTIFF
https://drive.google.com/file/d/0B4shTM1bPS5TNHBDVG45RzdWYjA/view?usp=sharing
Is it a problem in PDF or something with the PDF driver rotation.
Thanks
Gane
___
gdal-dev mailing list
Q1. exportJson converts Geometry to Json, I am looking a function to
convert the json string to OGRPoint.
Please suggest your suggestions.
Q2. String returned by exportJson should be compulsorly freed using CPLFree
or will be freed automatically.
Thanks
Gane
I have a proper GeoTIF with geotransform and I tried to create overlays for
it. The API returned no error, but the created overlay did not had
geotranform
Any ideas
Thanks
Gane
___
gdal-dev mailing list
gdal-dev@lists.osgeo.org
Is the Blob read and write is supported in Filegeodb with ESRI Filegeodb
driver in GDAL. I am using gdal-1.11.3
Thanks
Gane
___
gdal-dev mailing list
gdal-dev@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/gdal-dev
I figured out the issue this was due to wrong API call.
Thanks
Gane
On Mon, Nov 23, 2015 at 9:59 PM, Gane R <gane.p...@gmail.com> wrote:
> Hi all,
>
> I tried to build *GDAL 2.0.1* with *filegeodb* support with *proj4* as
> static lib on *Linux*. I am able to use the API to
I have a requirement of two version of gdal one with filegeodb (gdal 2.0.1)
and other without filegeodb (gdal 2.0.1) on linux, any references how this
can make co exist ?
thanks
Gane
___
gdal-dev mailing list
gdal-dev@lists.osgeo.org
; The advantage is that libgdal.so is not going to depend on FileGDB SDK.
>
>
> ------
> *From:* gdal-dev <gdal-dev-boun...@lists.osgeo.org> on behalf of Gane R <
> gane.p...@gmail.com>
> *Sent:* Monday, November 23, 2015 8:24 AM
> *To:* Even Rouau
Hi all,
I tried to build *GDAL 2.0.1* with *filegeodb* support with *proj4* as
static lib on *Linux*. I am able to use the API to get the field data from
Filegeodb but I am *not able to get the geometry*. I have configured as
./configure --with-fgdb=/fgdblib --with-static-proj4=/usr/local/
Here is link to a GeoPDF (
https://drive.google.com/file/d/0B4shTM1bPS5TMmk2OWxuTGJpY1k/view?usp=sharing)
this has a mile offset from the current location,
on GDAL gdal-2.0.1 when gdalwarp warps the PDF (poppler driver) to GeoTIF
Here is gdalinfo for the file
Driver: PDF/Geospatial PDF
Files:
I was trying to build gdal-2.0.1 with Filegeodb (File Geodatabase API 1.4
version for Mac 64-bit (Gcc) for Mac running on intel OS X Yosemite 10.10.5
I get the error undefined symbols for architecture x86_64 at Filegeodb
modules. I think all the compiler and OS requirements are met.
I tried to
I am reading a file geodb and trying to convert multipolygon to Polygon
OGRGeometry *pGeom = NULL;
OGRGeometry *pForced = NULL;
pGeom = pOGRFeature->StealGeometry();
if(pGeom != NULL)
{
I have two applications (postgres with postgis) one running with gdal
1.10.1 and other in gdal 2.0.1 but I see
gdal-data files are different in gdal 1.10.1 and gdal 2.0.1
So Will the GDAL_DATA point gdal 2.0.1 file or how to solve this ?
Gane
___
I am working with the lastest stable build of GDAL source 2.0.1.
In Mac when I run configure I get this enabled,
what is the use of this.
How to disable this like --with-libiconv and start building gdal ?
Gane
___
gdal-dev mailing list
I have build gdal from source of the lastet stable release gdal-2.0.1. Does
all the drivers code go within gdal200.dll or any dependency exists ?
Thanks
Gane
___
gdal-dev mailing list
gdal-dev@lists.osgeo.org
Hi all,
I see the OpenFileGDB supports only reading. Is any driver supporting write
filegeodb other than ESRI FileGeoDB driver ?
Gane
___
gdal-dev mailing list
gdal-dev@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/gdal-dev
Hi all,
Its about redistributing the ESRI FileGeoDB binary with an application,
what are
the conditions enforced for a free application and a paid application
closed source application.
I see post and blogs and I am not still clear.
Gane
___
gdal-dev
Hi,
https://drive.google.com/file/d/0B4shTM1bPS5TZ3psWTFpU1ZuV2c/view?usp=sharing
gdalwarp -t_srs EPSG:3857 "file04.pdf" "file04.tif"
ERROR 6: Failed to initialize PROJ.4 with `+proj=merc +lon_0=0 +k=0 +x_0=0
+y_0=
0 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs '.
k <= 0
Is this due
Hi,
Is it that OGRLayer::GetFIDColumn will return empty string for Shapefile I
have or it will be always empty for all shape files?
If I can see FID Column for a shape file in any other application can you
name any one of them
Gane
___
gdal-dev
1. For FileGeoDB GetFIDColumn returns a column name
for some data set it is a part of feature values with _1, for some there
doesn't exist any feature value with this column name
2. GetFID returns a number for some data set and it is sequential, for
others the value returned are not in order.
returned are not in order.
Can any provide any links or pointer or enlighten me on this stuff.
Gane
On Wed, Sep 30, 2015 at 7:07 PM, Even Rouault <even.roua...@spatialys.com>
wrote:
> Le mercredi 30 septembre 2015 15:32:40, Gane R a écrit :
> > Hi,
> >
> > Is it
6773225)
Lower Left (-9778860.18140727, 5287721.45875241)
Upper Right (-9776891.61702531, 5289697.46773225)
Lower Right (-9776891.61702531, 5287721.45875241)
Center (-9777875.89921629, 5288709.46324233)
Regards,
Gane
On Wed, Sep 23, 2015 at 5:11 PM, Even Rouault <even.roua...@spatialys.com>
There are cases for handling 90 -90 rotation in pdfdataset.cpp
I am using poppler with pdfdataset.cpp as in Revision: 28978 of trunk
PDF gets skewed and shifts in geo location raster GeoTIFF, Is there any
issue in computing the geotransform ?
GeoTransform values are for an pdf at EPSG:4326
10776
Questions: 1. How can I change the width of the vector (shapefile) and
change the offset.
I see GDALdllImageLine calling - pfnPointFunc - calling gvBurnPoint
Questions: 2. gdalrasterize generate transparent png of the raster
i know the png driver doesn't support create but create copy.
How
With Lat Long bound values how do create a geotransform for WGS84 GeoTIFF
I followed this link
https://trac.osgeo.org/gdal/wiki/FAQRaster#HowcanIcreateablankrasterbasedonavectorfilesextentsforusewithgdal_rasterizeGDAL1.8.0
or how do I use the -tr option for WGS84, GeoTIFF I want to have high
1. Can I create a transparent GeoTIFF like PNG with alpha channel ?
2. Can I used gdal_rasterize to draw shape over the GeoTIFF with
tranparency
3. Can I read a part of the GeoTIFF using GDALRasterIO and write as PNG
with the same transparency preserved.
Say some kind of work flow with gdal
85 matches
Mail list logo