Dear Jody Garnett,
    Thanks for the reply.., I greatly appreciate it....

Answer to your questions:
    1) Yes shapefiles have .prj files.
    2) And shape files are in "WGS84/ UTM Zone 43N"
    3) In UDIG these shapefiles are coming properly,for the default(WGS84) as 
well as selected "WGS84/UTM Zone 43N" CRS.
    
Now I started using the CRS in my program, but still I am getting the streched 
map image.....

Following is the code I am using for this process:......

         String code = "32643";
         CoordinateReferenceSystem crs = FactoryFinder.getCRSAuthorityFactory(
           "EPSG", null).createCoordinateReferenceSystem(code);        

        this.mapContext = new DefaultMapContext(crs);

        Envelope env = this.mapContext.getAreaOfInterest();

        //map.addlayers.....adding all the shapefiles.

        //Rendering.... 
       BufferedImage bufferedImage = null;
        bufferedImage = new BufferedImage(width, height, 
BufferedImage.TYPE_INT_RGB);
        Graphics2D graphics2D = (Graphics2D)bufferedImage.getGraphics();
        graphics2D.setRenderingHints(new
        RenderingHints(RenderingHints.KEY_RENDERING, 
RenderingHints.VALUE_RENDER_SPEED));
        graphics2D.setColor(Color.WHITE);
        graphics2D.fillRect(0, 0, width, height);           
        RenderingHints hints = new 
RenderingHints(RenderingHints.KEY_ANTIALIASING,
          RenderingHints.VALUE_ANTIALIAS_ON );
        streamingRenderer.setJava2DHints(hints);
        //we already do everything that the optimized data loading  does...
        //if we set it to true then it does it all twice...
        Map rendererParams = new HashMap();
        rendererParams.put("optimizedDataLoadingEnabled",new Boolean(true));
        streamingRenderer.setRendererHints(rendererParams);
        try
           {
              streamingRenderer.paint(graphics2D, new Rectangle(width, height), 
env);
           } catch(Exception ex)  {
                  ex.printStackTrace();
           }

           if (graphics2D!=null) graphics2D.dispose();

           ServletOutputStream sos = res.getOutputStream();
           ImageIO.write(bufferedImage,"jpg",sos);
        
        //image is thrown out... here.


Can you please suggest me what is that I am missing in my program......??




Best Regards
  Govardhan



----- Original Message ----- 
From: "Jody Garnett" <[EMAIL PROTECTED]>
To: "Govardhan" <[EMAIL PROTECTED]>
Cc: <[email protected]>; <[EMAIL PROTECTED]>
Sent: Wednesday, December 20, 2006 10:18 AM
Subject: Re: My map is looking streched... Please help me


> Evening Mr Govardhan ...
> 
> I think you are going to have to use the CRS that matches your data, 
> does your data have prj files? You may want to try out your shapefiles 
> with uDig just to confirm they are working correctly.
> 
> Cheers,
> Jody
>> Dear Sir/Madam,
>>     I am having problem in bringing up my Georeferenced map on the screen.
>> I am using DefaultMapContext() to create map, and not using any CRS.
>>  
>> I have attached the map image, please help me how to resolve this.
>>  
>> I am using the following code to create the map,
>>  
>>  private void renderMap(MapHelper mapHelper, HttpServletRequest req, 
>> HttpServletResponse res)
>>  throws ServletException, IOException {
>>   
>>         StreamingRenderer streamingRenderer = new StreamingRenderer();
>>         MapContext mapContext = mapHelper.getMapContext();
>>         streamingRenderer.setContext(mapContext);
>>  
>>         System.out.println("inside rendermap");
>>        
>>         int width = 0;
>>         int height = 0;
>>        
>>         if(req.getParameter("mapWidth") != null) {
>>          width = Integer.parseInt(req.getParameter("mapWidth"));
>>          mapHelper.setImageWidth(width);
>>         }
>>        
>>         if(req.getParameter("mapHeight") != null) {
>>          height = Integer.parseInt(req.getParameter("mapHeight"));
>>          mapHelper.setImageHeight(height);
>>         }
>>        
>>         System.out.println("imageWidth=" + width + ", imageHeight=" + 
>> height);
>>        
>>         BufferedImage bufferedImage = null;
>>         bufferedImage = new BufferedImage(width, height, 
>> BufferedImage.TYPE_INT_RGB);
>>         Graphics2D graphics2D = (Graphics2D)bufferedImage.getGraphics();
>>         graphics2D.setRenderingHints(new
>>         RenderingHints(RenderingHints.KEY_RENDERING, 
>> RenderingHints.VALUE_RENDER_SPEED));
>>         graphics2D.setColor(Color.WHITE);
>>         graphics2D.fillRect(0, 0, width, height);          
>>         RenderingHints hints = new 
>> RenderingHints(RenderingHints.KEY_ANTIALIASING,
>>           RenderingHints.VALUE_ANTIALIAS_ON );
>>         streamingRenderer.setJava2DHints(hints);
>>        
>>         //we already do everything that the optimized data loading  
>> does...
>>         //if we set it to true then it does it all twice...
>>         Map rendererParams = new HashMap();
>>         rendererParams.put("optimizedDataLoadingEnabled",new 
>> Boolean(true));
>>         Envelope env = mapHelper.getEnvelope();
>>      
>>        
>>         streamingRenderer.setRendererHints(rendererParams);
>>         try
>>            {
>>          System.out.println("long=" + env.centre().x + ", lat=" + 
>> env.centre().y);
>>  private void renderMap(MapHelper mapHelper, HttpServletRequest req, 
>> HttpServletResponse res)
>>  throws ServletException, IOException {
>>   
>>         StreamingRenderer streamingRenderer = new StreamingRenderer();
>>         MapContext mapContext = mapHelper.getMapContext();
>>         streamingRenderer.setContext(mapContext);
>>  
>>         System.out.println("inside rendermap");
>>        
>>         int width = 0;
>>         int height = 0;
>>        
>>         if(req.getParameter("mapWidth") != null) {
>>          width = Integer.parseInt(req.getParameter("mapWidth"));
>>          mapHelper.setImageWidth(width);
>>         }
>>        
>>         if(req.getParameter("mapHeight") != null) {
>>          height = Integer.parseInt(req.getParameter("mapHeight"));
>>          mapHelper.setImageHeight(height);
>>         }
>>        
>>         System.out.println("imageWidth=" + width + ", imageHeight=" + 
>> height);
>>        
>>         BufferedImage bufferedImage = null;
>>         bufferedImage = new BufferedImage(width, height, 
>> BufferedImage.TYPE_INT_RGB);
>>         Graphics2D graphics2D = (Graphics2D)bufferedImage.getGraphics();
>>         graphics2D.setRenderingHints(new
>>         RenderingHints(RenderingHints.KEY_RENDERING, 
>> RenderingHints.VALUE_RENDER_SPEED));
>>         graphics2D.setColor(Color.WHITE);
>>         graphics2D.fillRect(0, 0, width, height);          
>>         RenderingHints hints = new 
>> RenderingHints(RenderingHints.KEY_ANTIALIASING,
>>           RenderingHints.VALUE_ANTIALIAS_ON );
>>         streamingRenderer.setJava2DHints(hints);
>>        
>>         //we already do everything that the optimized data loading  
>> does...
>>         //if we set it to true then it does it all twice...
>>         Map rendererParams = new HashMap();
>>         rendererParams.put("optimizedDataLoadingEnabled",new 
>> Boolean(true));
>>         Envelope env = mapHelper.getEnvelope();
>>      
>>        
>>         streamingRenderer.setRendererHints(rendererParams);
>>         try
>>            {
>>             streamingRenderer.paint(graphics2D, new Rectangle(width, 
>> height), env);
>>   
>>            } catch(Exception ex)  {
>>                   ex.printStackTrace();
>>            }
>>  
>>            if (graphics2D!=null) graphics2D.dispose();
>>  
>>            ServletOutputStream sos = res.getOutputStream();
>>            ImageIO.write(bufferedImage,"jpg",sos);
>>            sos.close();
>>           
>>  }           } catch(Exception ex)  {
>>                   ex.printStackTrace();
>>            }
>>  
>>            if (graphics2D!=null) graphics2D.dispose();
>>  
>>            ServletOutputStream sos = res.getOutputStream();
>>            ImageIO.write(bufferedImage,"jpg",sos);
>>            sos.close();
>>           
>>  }
>>  
>>  
>> private MapHelper( ServletContext servletContext , HttpSession 
>> httpSession) throws IOException{
>>  
>>          URL shapeURL1 = 
>> servletContext.getResource("/WEB-INF/data/bangalore2/District_Border_region.shp");
>>          URL sldURL1 = 
>> servletContext.getResource("/WEB-INF/data/bangalore2/District_Border_region.sld");
>>          
>>
>>       loadContext(shapeURL1, sldURL1, "District_Border_region");
>>  
>>       URL shapeURL2 = 
>> servletContext.getResource("/WEB-INF/data/bangalore2/District_Headquarter_font_point.shp");
>>          URL sldURL2 = 
>> servletContext.getResource("/WEB-INF/data/bangalore2/District_Headquarter_font_point.sld");
>>         
>>
>>       loadContext(shapeURL2, sldURL2, "District_Headquarter_font_point");
>>  
>>          URL shapeURL3 = 
>> servletContext.getResource("/WEB-INF/data/bangalore2/Major_Road_polyline.shp");
>>          URL sldURL3 = 
>> servletContext.getResource("/WEB-INF/data/bangalore2/Major_Road_polyline.sld");
>>          
>>
>>       loadContext(shapeURL3, sldURL3, "Major_Road_polyline");
>>  
>>          URL shapeURL4 = 
>> servletContext.getResource("/WEB-INF/data/bangalore2/National_Highway_polyline.shp");
>>          URL sldURL4 = 
>> servletContext.getResource("/WEB-INF/data/bangalore2/National_Highway_polyline.sld");
>>          
>>
>>       loadContext(shapeURL4, sldURL4, "National_Highway_polyline");
>>  
>>          URL shapeURL5 = 
>> servletContext.getResource("/WEB-INF/data/bangalore2/State_Border_region.shp");
>>          URL sldURL5 = 
>> servletContext.getResource("/WEB-INF/data/bangalore2/State_Border_region.sld");
>>          
>>
>>       loadContext(shapeURL5, sldURL5, "State_Border_region");
>>  
>>          Envelope env = mapContext.getLayerBounds();
>>          setEnvelope(env);
>>          if (mapContext == null)
>>          {
>>           System.out.println("MapContext is not valid");
>>          }
>>  
>> }
>>  /**
>>     * Load the data from the specified shapefile and construct a 
>> [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> Context context}
>>     * with a default style.
>>     *
>>     * @param  url The url of the shapefile to load.
>>     * @return Context The data from the shape file.
>>     * @throws IOException is a I/O error occured.
>>     * @throws DataSource if an error occured while reading the data 
>> source.
>>     */
>>    protected void loadContext(final URL url, final URL sld, String 
>> layername) throws IOException, DataSourceException {
>>       
>>        // Load the file
>>        if (url == null) {
>>            throw new FileNotFoundException("Resource not found");
>>        }
>>        final DataStore store = new ShapefileDataStore(url);
>>        final FeatureSource features = 
>> store.getFeatureSource(store.getTypeNames()[0]);
>>       
>>        // Create the style
>>        final Style style;
>>        if(sld != null){
>>            SLDParser styleReader = new 
>> SLDParser(StyleFactoryFinder.createStyleFactory(), sld);
>>            style = styleReader.readXML()[0];
>>        }
>>        else
>>        {
>>            final StyleBuilder builder = new StyleBuilder();
>>           
>>            Class geometryClass = 
>> features.getSchema().getDefaultGeometry().getType();
>>            if(LineString.class.isAssignableFrom(geometryClass) || 
>> MultiLineString.class.isAssignableFrom(geometryClass)) {
>>                style = 
>> builder.createStyle(builder.createLineSymbolizer());
>>            } else if(Point.class.isAssignableFrom(geometryClass) || 
>> MultiPoint.class.isAssignableFrom(geometryClass)) {
>>                style = 
>> builder.createStyle(builder.createPointSymbolizer());
>>            } else {
>>                style = 
>> builder.createStyle(builder.createPolygonSymbolizer(
>>                Color.ORANGE, Color.BLACK, 1));
>>            }
>>        }
>>  
>>        // Create the context
>>        MapLayer layer = new DefaultMapLayer(features, style);
>>        layer.setTitle(layername);
>>        mapContext.addLayer(layer);
>>    }
>>  
>>  
>>  
>>  
>>  
>> Best Regards
>>   Govardhan
>>
>> ------------------------------------------------------------------------
>>
>
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Geotools-gt2-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users

Reply via email to