<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 12pt;
font-family:Calibri
}
--></style></head>
<body class='hmmessage'><div dir='ltr'>Hi Even,<br><br><div>> Date: Tue, 10 Jun 2014 17:43:50 +0200<br>> From: even.rouault@mines-paris.org<br>> To: lucena_ivan@hotmail.com<br>> CC: gdal-dev@lists.osgeo.org<br>> Subject: Re: [gdal-dev] VRTDataset in Java<br>> <br>> Ivan,<br>> <br>> gdal_vrt.h is an already installed header file and the symbols are exported<br>> (CPL_DLL), so this is a public C API (although a bit confidential probably)<br>> As far as SWIG bindings is concerned, some work would be needed. New shadow<br><br>I once added some methods to the GDAL SWIG Java interface but I can't remember how I did it. The only thing I remember is the pain in the neck. <br><br>> types should be introduced to model VRTDataset and VRTSourcedRasterBand (and<br>> some care too since all bands returned by a VRTDataset are not necessarily<br>> VRTSourcedRasterBand ). As far as VRTAddSource(), there's no C API to bind the<br>> corresponding C++ VRTSource classes, but probably that the helpers<br>> VRTAddSimpleSource() and VRTAddComplexSource() are sufficient.<br><br>Yes, it seems like it is possible to create the VRT Dataset using the generic API up to the point where we you cannot enter the band "SimpleSource" or "ComplexSource", so maybe those two functions would be enough. Let me see what I can do with SWIG.<br><br>The VRT driver is the usual solution to a lot of problem but we cannot automatize the solution on environment other than C/C++ or command scripts. But unfortunately, even if we add those two function much of the VRT magic is still not on the VRT code but in gdal_translate.cpp [0].<br><br>Best regards,<br><br>Ivan<br><br><br>ref.: [0] <a href="http://osgeo-org.1560.x6.nabble.com/gdal-dev-gdal-translate-as-a-VRTDataset-factory-td3750410.html" target="_blank">http://osgeo-org.1560.x6.nabble.com/gdal-dev-gdal-translate-as-a-VRTDataset-factory-td3750410.html</a><br><br>> <br>> Even<br>> <br>> ><br>> ><br>> > Do we have plans to add those entries to the GDAL API (C, Java, etc.)?<br>> ><br>> > ---------- \...\GDAL\TRUNK\FRMTS\VRT\GDAL_VRT.H<br>> > VRTDatasetH CPL_DLL CPL_STDCALL VRTCreate( int, int );<br>> > CPLXMLNode CPL_DLL * CPL_STDCALL VRTSerializeToXML( VRTDatasetH, const char *<br>> > );<br>> > CPLErr CPL_STDCALL VRTAddSource( VRTSourcedRasterBandH, VRTSourceH );<br>> > CPLErr CPL_DLL CPL_STDCALL VRTAddSimpleSource( VRTSourcedRasterBandH,<br>> > CPLErr CPL_DLL CPL_STDCALL VRTAddComplexSource( VRTSourcedRasterBandH,<br>> ><br>> > From: lucena_ivan@hotmail.com<br>> > To: gdal-dev@lists.osgeo.org<br>> > Date: Mon, 9 Jun 2014 16:58:12 -0400<br>> > Subject: [gdal-dev] VRTDataset in Java<br>> ><br>> ><br>> ><br>> ><br>> > Hi there,<br>> ><br>> > What is the best option to create in memory VRT Dataset with the GDAL Java<br>> > API?<br>> ><br>> > I would like to do thing like gdal_translate does [0], band selection and<br>> > window cropping for example.<br>> ><br>> > It seems like the VRTDataset class is not wrapped in Java, so I would need to<br>> > write the XML myself or use a regular GDAL Dataset clas, ex.:<br>> ><br>> > Dataset ds = dal.getDriverByName("VRT").Create("/vsimem/xxx.vrt", 255, 255);<br>> ><br>> > But there are some methods in VRTDataset that GDALDataset doesn't have, so I<br>> > think I am going with the raw XML option.<br>> ><br>> > Any better idea?<br>> ><br>> > Best regards,<br>> ><br>> > Ivan<br>> ><br>> > ref. :<br>> ><br>> > [0]<br>> > http://trac.osgeo.org/gdal/browser/trunk/gdal/apps/gdal_translate.cpp#L1095<br>> ><br>> ><br>> ><br>> > _______________________________________________<br>> > gdal-dev mailing list<br>> > gdal-dev@lists.osgeo.org<br>> > http://lists.osgeo.org/mailman/listinfo/gdal-dev<br>> ><br>> <br>> <br></div>                                      </div></body>
</html>