[gdal-dev] Output MapInfo File with CoordSys Information
Reinaldo escada Chohfi
reinaldo at geodesign.com.br
Wed Sep 23 16:53:53 EDT 2009
Hi Frank,
I tested the program below but it does not out put the .tab or
.mif/.mid with the coordinate system. It is always non-earth.
Could you please check it against your gdal/ogr installation to see
if something wrong happened during my compilation of gdal 1.6.2?
Thanks a lot,
Reinaldo
*******************************
#include "gdal.h"
#include "ogr_spatialref.h"
#include "ogrsf_frmts.h"
#include "stdio.h"
double Lat[3], Lon[3];
int n=0; char *pszWKT = NULL;
void main()
{
OGRSpatialReference oSRS;
// oSRS.SetWellKnownGeogCS( "EPSG:4326" );
oSRS.importFromMICoordSys( "CoordSys Earth Projection 1,
104" );
const char *pszDriverName = "MapInfo File" ;
OGRSFDriver *poDriver;
OGRRegisterAll();
poDriver =
OGRSFDriverRegistrar::GetRegistrar()->GetDriverByName(
pszDriverName );
if( poDriver == NULL )
{
printf( "%s driver not
available.\n", pszDriverName );
exit( 1 );
}
OGRDataSource *poDS;
poDS = poDriver->CreateDataSource( "c:/test01.mif",
NULL );
// poDS = poDriver->CreateDataSource( "c:/test01.tab",
NULL );
if( poDS == NULL )
{
printf( "Creation of
output file failed.\n" );
exit( 1 );
}
OGRLayer *poLayer;
poLayer = poDS->CreateLayer( "test01",
NULL, wkbPoint, NULL );
if( poLayer == NULL )
{
printf( "Layer creation
failed.\n" );
exit( 1 );
}
OGRFieldDefn oField0( "NAME1", OFTString );
OGRFieldDefn oField1( "NAME2", OFTString );
oField0.SetWidth(32);
oField1.SetWidth(32);
if( poLayer->CreateField( &oField0 ) != OGRERR_NONE )
{
printf( "Creating Name
field failed.\n" );
exit( 1 );
}
if( poLayer->CreateField( &oField1 ) != OGRERR_NONE )
{
printf( "Creating Name
field failed.\n" );
exit( 1 );
}
*******************************
.mif output:
Version 300
Charset "Neutral"
Delimiter ","
Columns 2
NAME1 Char(32)
NAME2 Char(32)
Data
Point -45.13975272 -22.69426671
Symbol (35,0,12)
Point -45.86066928 -23.21117775
Symbol (35,0,12)
Point -44.33023872 -22.68505859375
Symbol (35,0,12)
************************************
.mid output:
"TEST01","TEST02"
"TEST01","TEST02"
"TEST01","TEST02"
> Reinaldo escada Chohfi wrote:
>> Hello List,
>>
>> I am still trying to get a x,y (lon/Lat) point file in MapInfo
format
>> with
>> coordinate information.
>>
>> I get the correct MapInfo files out (.tab or .mif) with the x,y
points
>> and
>> attributes, but without the CoordSys information.
>> The output file is always Non-Earth.
>>
>> I've tried everything:
>>
>> OGRSpatialReference oSRS;
>> oSRS.SetWellKnownGeogCS("EPSG:4326");
>> oSRS.importFromMICoordSys( "CoordSys Earth Projection 1,
104" );
>>
>>
>> Could someone PLEASE let me know what to do?
>
> Reinaldo,
>
> I just tried:
>
> ogr2ogr -skipfailures -f "MapInfo File" out.mif
GB4X0000.000 TUNNEL
>
> and this produced a mapinfo mid/mif fileset with "CoordSys Earth
> Projection 1, 104" as the coord sys line. I also tested a small
> program:
>
>
> #include "gdal.h"
> #include "ogr_spatialref.h"
>
> int main()
>
> {
> OGRSpatialReference oSRS;
>
> oSRS.importFromMICoordSys( "CoordSys Earth Projection 1,
104" );
> }
>
> and it appeared to correctly parse the Coordsys into a WGS84 srs.
>
> I even tried:
>
> ogr2ogr -a_srs wgs84.wkt -skipfailures -f "MapInfo File"
out.mif
> data/s57/GB4X0000.000 TUNNEL
>
> with wgs84.wkt holding:
>
>
GEOGCS["unnamed",DATUM["WGS_1984",SPHEROID["WGS
>
84",6378137,298.257223563],TOWGS84[0,0,0,-0,-0,-0,0]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]]
>
> and things seemed to work.
>
> Can you provide a more complete example that is failing for you?
>
> Best regards,
> --
>
---------------------------------------+--------------------------------------
> I set the clouds in motion - turn up | Frank Warmerdam,
> warmerdam at pobox.com
> light and sound - activate the windows | http://pobox.com/~warmerdam
> and watch the world go round - Rush | Geospatial Programmer for Rent
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.osgeo.org/pipermail/gdal-dev/attachments/20090923/dd32fb5e/attachment.html
More information about the gdal-dev
mailing list