#include "ogr_geometry.h"
#include "ogr_api.h"
#include "ogr_p.h"
#include <iostream>
#include <fstream>
#include <sstream>
#include <string>
#include <cassert>

int main(int argc, char ** argv)
{
    std::string llc_esri("llc_esri_with_prefix.prj");

	// Read ESRI-style WKT from file
    std::ifstream file(llc_esri.c_str());
    std::ostringstream os;
    os << file.rdbuf();
    std::string def(os.str());

    OGRSpatialReference srs;

    if (OGRERR_NONE != srs.SetFromUserInput(def.c_str()))
    {
        std::cout << "Reading " << llc_esri << " failed!\n";
        return 0;
    }

    char* p = NULL;

    if (OGRERR_NONE != srs.exportToPrettyWkt(&p))
    {
        std::cout << "Export to pretty WKT failed!\n";
        OGRFree(p);
        return 0;
    }
    std::cout << "Pretty WKT:\n" << p << std::endl;
    OGRFree(p);

    if (OGRERR_NONE != srs.exportToProj4(&p))
    {
        std::cout << "Export to PROJ.4 definition failed!\n";
        OGRFree(p);
        return 0;
    }
    std::cout << "PROJ.4 Def:\n" << p << std::endl;
    OGRFree(p);


    return 0;
}

