0salut,

je suis entraine d'essayer de fonctionner un simple exmple
de rastérisation.voici mon code:
------------------------------------------------------------------------
// creation d'objet shapeDataPump
        OGRRegisterAll();
        
        shapeDataPump* ptShapeDataPump = new shapeDataPump(szShapeFile, 0);

        //--------
        // GDAL
        //--------
        // recupere le layer
        OGREnvelope tExtent;
        ptShapeDataPump->GetExtent(&tExtent);

        // recupere l'etendue du layer
        double dWidth = tExtent.MaxX - tExtent.MinX;
        double dHeight = tExtent.MaxY - tExtent.MinY;   

        //calcul taille image
        double dImageWidth = dWidth/dOutputPixelSize;   
        double dImageHeight = dHeight/dOutputPixelSize;

        //--------
        // MAPNIK
        //--------
        // ajout du plugin MapnikDataPumpPlugin
        std::string sPluginFolder =
"C:\\SANDBOX\\spaceyes\\spaceyes\\bin\\vc7\\debug" ;
        
mapnik::datasource_cache::instance()->register_datasources(sPluginFolder) ;

        //creation de map
        //Map tMap(dImageWidth,dImageHeight);
        boost::shared_ptr<mapnik::Map> tMap(new mapnik::Map(iBlocSize, 
iBlocSize)); 
        
        // creation d'un Layer
        parameters params;
        params["type"] = "sp3dDataPump";
        params["dataPump"] = (int)ptShapeDataPump  ;

        // on deifnit un layer
        Layer tLayer(pszLayerName); 
        tLayer.set_datasource(datasource_cache::instance()->create(params));

        tMap->addLayer(tLayer);

        //---------------
        // rasterisation
        //---------------

        //calcul du nombre de bloc
        
        double dXBlocCount = dImageWidth/iBlocSize;
        double dYBlocCount = dImageHeight/iBlocSize;
        
        //pour chaque bloc
        //calcul de la zone carto correspondante
        for(int iYBloc = 0; iYBloc < dYBlocCount; iYBloc++)
        {
                for(int iXBloc = 0; iXBloc < dXBlocCount; iXBloc++)
                {
                        //calcul de la zone carto correspondante au bloc

                        double dZoneMinX = tExtent.MinX + iYBloc * iBlocSize * 
dOutputPixelSize;
                        double dZoneMinY = tExtent.MinY - iXBloc * iBlocSize * 
dOutputPixelSize;
                        double dZoneMaxX = dZoneMinX + iBlocSize * 
dOutputPixelSize;
                        double dZoneMaxY = dZoneMinY + iBlocSize * 
dOutputPixelSize;

                        // init zone 
                        tMap->zoomToBox(Envelope<double>(dZoneMinX, dZoneMinY, 
dZoneMaxX,
dZoneMaxY));

                        // buffer
                        Image32 buf(iBlocSize, iBlocSize);

                        //  rendue de cette zone dans un buffer en memoire
                        //( Render Map to an AGG Image32)
                        agg_renderer<Image32> ren(*tMap, buf);
                        ren.apply();
                }
}
return 0;
------------------------------------------------------------------------------------------------------
j'ai pu detecter ou ca se plante:
au niveau de la fonction 
void apply_to_layer(Layer const& lay, Processor & p, projection const&
proj0,double scale_denom)         fichier: feature_styleprocessor.hpp

lorsqu'on execute l'instruction 
    p.end_layer_processing(lay);
ca appel le destructeur de projection deja creer plus haut

c'est à la sortie du destructeur de la projection que ca se plante!
sachant que j'ai remarquer que 
//////
            if (ds)
            {
               Envelope<double> ext = m_.get_buffered_extent();
               projection proj1(lay.srs());
               proj_transform prj_trans(proj0,proj1);

               Envelope<double> layer_ext = lay.envelope();
               double lx0 = layer_ext.minx();
               ...
 
//////

lors de l'execution de 
Envelope<double> layer_ext = lay.envelope();

l'objet proj1 change de valeur!

s'il vous plait aidez moi à déborder ce plantage.
enfin je félicite  tout entraide.
-- 
View this message in context: 
http://n2.nabble.com/rundemo-crash-a-la-sortie-de-projection-tp4869778p4869778.html
Sent from the Mapnik Users mailing list archive at Nabble.com.
_______________________________________________
Mapnik-users mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/mapnik-users

Reply via email to