Revision 6514

View differences:

org.gvsig.raster/branches/org.gvsig.raster.2.4/org.gvsig.raster/org.gvsig.raster.googlemaps/org.gvsig.raster.googlemaps.provider.legend/pom.xml
16 16
      <groupId>org.gvsig</groupId>
17 17
      <artifactId>org.gvsig.raster.googlemaps.provider</artifactId>
18 18
    </dependency>
19
    <dependency>
20
      <groupId>org.gvsig</groupId>
21
      <artifactId>org.gvsig.fmap.dal.raster.spi</artifactId>
22
    </dependency>
19 23
  </dependencies>
20 24
</project>
org.gvsig.raster/branches/org.gvsig.raster.2.4/org.gvsig.raster/org.gvsig.raster.googlemaps/org.gvsig.raster.googlemaps.provider.legend/src/main/java/org/gvsig/raster/googlemaps/provider/legend/GoogleMapsRasterGetColorTable.java
28 28
import java.util.ArrayList;
29 29
import java.util.List;
30 30

  
31
import org.omg.PortableInterceptor.INACTIVE;
32 31
import org.slf4j.LoggerFactory;
33 32

  
34
import org.gvsig.fmap.dal.exception.DataException;
35
import org.gvsig.fmap.dal.exception.ValidateDataParametersException;
36 33
import org.gvsig.fmap.dal.raster.api.RasterStore;
37
import org.gvsig.fmap.geom.exception.CreateEnvelopeException;
38 34
import org.gvsig.raster.googlemaps.provider.GoogleMapsRasterProvider;
39
import org.gvsig.raster.googlemaps.provider.GoogleMapsRasterProviderParameters;
40
import org.gvsig.raster.lib.buffer.api.exceptions.BufferException;
41 35
import org.gvsig.raster.lib.legend.api.ColorInterpretation;
42 36
import org.gvsig.raster.lib.legend.api.ColorTable;
43 37
import org.gvsig.raster.lib.legend.api.ColorTableClass;
org.gvsig.raster/branches/org.gvsig.raster.2.4/org.gvsig.raster/org.gvsig.raster.googlemaps/org.gvsig.raster.googlemaps.provider/src/main/java/org/gvsig/raster/googlemaps/provider/GoogleMapsRasterProviderParameters.java
167 167
    }
168 168

  
169 169
    /**
170
     * @param region
170
     * @param format
171 171
     */
172 172
    public void setFormat(String format) {
173 173
        this.setDynValue(GOOGLEMAPS_FORMAT_PARAMTER_NAME, format);
org.gvsig.raster/branches/org.gvsig.raster.2.4/org.gvsig.raster/org.gvsig.raster.googlemaps/org.gvsig.raster.googlemaps.provider/src/main/java/org/gvsig/raster/googlemaps/provider/GoogleMapsImage.java
1 1
package org.gvsig.raster.googlemaps.provider;
2 2

  
3 3
import java.awt.image.BufferedImage;
4
import java.awt.image.DataBuffer;
5
import java.awt.image.Raster;
6
import java.awt.image.SampleModel;
7 4
import java.util.HashMap;
8 5
import java.util.Iterator;
9 6
import java.util.Map;
10 7
import java.util.Map.Entry;
11 8
import java.util.Set;
12 9

  
13
import org.cresques.cts.ICoordTrans;
14 10
import org.slf4j.Logger;
15 11
import org.slf4j.LoggerFactory;
16 12

  
17
import org.gvsig.fmap.crs.CRSFactory;
18 13
import org.gvsig.fmap.dal.DataStoreParameters;
19 14
import org.gvsig.fmap.dal.exception.DataException;
20 15
import org.gvsig.fmap.dal.exception.ValidateDataParametersException;
......
26 21
import org.gvsig.fmap.geom.exception.CreateGeometryException;
27 22
import org.gvsig.fmap.geom.primitive.Envelope;
28 23
import org.gvsig.fmap.geom.primitive.Point;
29
import org.gvsig.googlemaps.lib.api.GoogleMapsLibrary;
30 24
import org.gvsig.googlemaps.lib.api.GoogleMapsLocator;
31 25
import org.gvsig.googlemaps.lib.api.GoogleMapsManager;
32 26
import org.gvsig.googlemaps.lib.api.GoogleMapsRequest;
......
36 30
import org.gvsig.raster.lib.buffer.api.Band;
37 31
import org.gvsig.raster.lib.buffer.api.Buffer;
38 32
import org.gvsig.raster.lib.buffer.api.BufferLocator;
39
import org.gvsig.raster.lib.buffer.api.BufferManager;
40
import org.gvsig.raster.lib.buffer.api.NoData;
41 33
import org.gvsig.raster.lib.buffer.api.TileStruct;
42 34
import org.gvsig.raster.lib.buffer.api.exceptions.BufferException;
43 35
import org.gvsig.tools.ToolsLocator;
......
63 55
    private GoogleMapsRasterProvider provider;
64 56

  
65 57
    /**
66
     * @param innerProvider
58
     * @param provider
67 59
     * @param query
68 60
     * @param tileStruct
69 61
     */
......
241 233

  
242 234
            downloaded = false;
243 235

  
244
            int imageType = img.getType();
245
            int bufferType;
246
            switch (imageType) {
247
            case BufferedImage.TYPE_3BYTE_BGR:
248
            case BufferedImage.TYPE_4BYTE_ABGR:
249
            case BufferedImage.TYPE_4BYTE_ABGR_PRE:
250
            case BufferedImage.TYPE_BYTE_BINARY:
251
            case BufferedImage.TYPE_BYTE_GRAY:
252
            case BufferedImage.TYPE_BYTE_INDEXED:
253
                bufferType = BufferManager.TYPE_BYTE;
254
                break;
255
            case BufferedImage.TYPE_INT_ARGB:
256
            case BufferedImage.TYPE_INT_ARGB_PRE:
257
            case BufferedImage.TYPE_INT_BGR:
258
            case BufferedImage.TYPE_INT_RGB:
259
                bufferType = BufferManager.TYPE_INT;
260
                break;
261
            case BufferedImage.TYPE_USHORT_555_RGB:
262
            case BufferedImage.TYPE_USHORT_565_RGB:
263
            case BufferedImage.TYPE_USHORT_GRAY:
264
                bufferType = BufferManager.TYPE_USHORT;
265
                break;
266
            default:
267
                bufferType = BufferManager.TYPE_UNDEFINED;
268
                break;
269
            }
270

  
271
            SampleModel sampleModel = img.getSampleModel();
272
            int bands = sampleModel.getNumBands();
273
            int[] bandDataTypes = new int[bands];
274
            NoData[] bandNoData = new NoData[bands];
275
            for (int i = 0; i < bandDataTypes.length; i++) {
276
                bandDataTypes[i] = bufferType;
277
                bandNoData[i] = null;
278
            }
279

  
280
            // FIXME: ?se hace as??
281
//            Raster raster = img.getData();
282 236
            try {
237

  
283 238
                this.buffer =
284
                    BufferLocator.getBufferManager().createBuffer(img.getHeight(), img.getWidth(), bandDataTypes,
285
                        bandNoData, GoogleMapsRasterProvider.GOOGLE_MAPS_PROJECTION, this.envelope, null);
239
                    BufferLocator.getBufferManager().createBuffer(img, GoogleMapsRasterProvider.GOOGLE_MAPS_PROJECTION,
240
                        this.envelope);
241

  
286 242
            } catch (LocatorException | BufferException e) {
287 243
                logger.warn("Can't create buffer to load downloaded image.", e);
288 244
            }
289 245

  
290
//            byte[] dataElements = (byte[]) raster.getDataElements(0, 0, img.getWidth(), img.getHeight(), null);
291
            // FIXME: For now img has only one band because format is default
292
            // (png)
293
//            Band band = this.buffer.getBand(0);
294
//            byte[] rowBuffer = (byte[]) band.createRowBuffer();
295
//            for (int row = 0; row < img.getHeight(); row++) {
296
//                System.arraycopy(dataElements, row * img.getWidth(), rowBuffer, 0, img.getWidth());
297
//                band.putRow(row, rowBuffer);
298
//            }
299
//
300

  
301
            Raster raster = img.getData();
302
            DataBuffer dataBuffer = raster.getDataBuffer();
303
            for (int i = 0; i < bands; i++) {
304
              Band band = this.buffer.getBand(i);
305
              byte[] rowBuffer = (byte[]) band.createRowBuffer();
306
              int[] intRowBuffer = new int[rowBuffer.length];
307
              for (int row = 0; row < img.getHeight(); row++) {
308
                  sampleModel.getSamples(0, row, img.getWidth(), 1, i, intRowBuffer, dataBuffer);
309
                  for(int c=0; c<rowBuffer.length; c++) {
310
                      rowBuffer[c] = (byte)intRowBuffer[c];
311
                  }
312
                  band.putRow(row, rowBuffer);
313
              }
314
//                  System.arraycopy(dataElements, row * img.getWidth(), rowBuffer, 0, img.getWidth());
315
//              }
316

  
317
            }
318

  
319 246
            this.downloaded = true;
320 247
            logger.info("Tile listo       : " + this.key);
321 248
            this.notify();
org.gvsig.raster/branches/org.gvsig.raster.2.4/org.gvsig.raster/org.gvsig.raster.googlemaps/org.gvsig.raster.googlemaps.provider/src/main/java/org/gvsig/raster/googlemaps/provider/GoogleMapsRasterLibrary.java
26 26
import java.util.ArrayList;
27 27
import java.util.List;
28 28

  
29
import org.cresques.ProjectionLibrary;
30
import org.cresques.cts.IProjection;
31

  
32
import org.gvsig.fmap.crs.CRSFactory;
33 29
import org.gvsig.fmap.dal.DALFileLibrary;
34 30
import org.gvsig.fmap.dal.DALLibrary;
35 31
import org.gvsig.fmap.dal.FileHelper;
org.gvsig.raster/branches/org.gvsig.raster.2.4/org.gvsig.raster/org.gvsig.raster.googlemaps/org.gvsig.raster.googlemaps.provider/src/main/java/org/gvsig/raster/googlemaps/provider/GoogleMapsBandTileManager.java
53 53

  
54 54
    /**
55 55
     * @param tileStruct
56
     * @param googleMapsImage
56 57
     * @param zoomLevel
57 58
     * @param bandNumber
59
     * @param provider
58 60
     */
59 61
    public GoogleMapsBandTileManager(TileStruct tileStruct, GoogleMapsImage googleMapsImage, int zoomLevel, int bandNumber, RasterStoreProvider provider) {
60 62
        this.bandNumber = bandNumber;
org.gvsig.raster/branches/org.gvsig.raster.2.4/org.gvsig.raster/org.gvsig.raster.googlemaps/org.gvsig.raster.googlemaps.provider/pom.xml
10 10
  <dependencies>
11 11
    <dependency>
12 12
      <groupId>org.gvsig</groupId>
13
      <artifactId>org.gvsig.raster.lib.buffer.api</artifactId>
13
      <artifactId>org.gvsig.fmap.dal.raster.spi</artifactId>
14 14
    </dependency>
15 15
    <dependency>
16 16
      <groupId>org.gvsig</groupId>
17
      <artifactId>org.gvsig.fmap.dal.raster.spi</artifactId>
17
      <artifactId>org.gvsig.googlemaps.lib.api</artifactId>
18
      </dependency>
19
    <dependency>
20
      <groupId>org.gvsig</groupId>
21
      <artifactId>org.gvsig.fmap.dal.raster.api</artifactId>
18 22
    </dependency>
19 23
    <dependency>
20 24
      <groupId>org.gvsig</groupId>
21 25
      <artifactId>org.gvsig.raster.lib.buffer.spi</artifactId>
22 26
    </dependency>
23
    <dependency>
24
      <groupId>org.gvsig</groupId>
25
      <artifactId>org.gvsig.googlemaps.lib.api</artifactId>
26
      </dependency>
27 27
  </dependencies>
28 28
</project>
org.gvsig.raster/branches/org.gvsig.raster.2.4/org.gvsig.raster/org.gvsig.raster.googlemaps/pom.xml
1 1
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
2 2
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
3 3
  <modelVersion>4.0.0</modelVersion>
4
  <parent>
5
    <groupId>org.gvsig</groupId>
6
    <artifactId>org.gvsig.raster</artifactId>
7
    <version>2.4.1-SNAPSHOT</version>
8
  </parent>
4
 <parent>
5
  <groupId>org.gvsig</groupId>
6
  <artifactId>org.gvsig.desktop</artifactId>
7
  <version>2.0.155-SNAPSHOT</version>
8
 </parent>
9 9
  <artifactId>org.gvsig.raster.googlemaps</artifactId>
10 10
  <packaging>pom</packaging>
11 11
  <name>org.gvsig.raster.googlemaps</name>
......
14 14
    <module>org.gvsig.raster.googlemaps.provider</module>
15 15
    <module>org.gvsig.raster.googlemaps.provider.legend</module>
16 16
  </modules>
17
  <dependencyManagement>
18
    <dependencies>
19
      <dependency>
20
        <groupId>org.gvsig</groupId>
21
        <artifactId>org.gvsig.raster</artifactId>
22
        <version>${org.gvsig.raster.version}</version>
23
        <type>pom</type>
24
        <scope>import</scope>
25
      </dependency>
26
      <dependency>
27
        <groupId>org.gvsig</groupId>
28
        <artifactId>org.gvsig.googlemaps</artifactId>
29
        <version>${org.gvsig.googlemaps.version}</version>
30
        <type>pom</type>
31
        <scope>import</scope>
32
      </dependency>
33
     <dependency>
34
       <groupId>org.gvsig</groupId>
35
       <artifactId>org.gvsig.raster.googlemaps.provider</artifactId>
36
       <version>2.4.1-SNAPSHOT</version>
37
     </dependency>
38
     <dependency>
39
       <groupId>org.gvsig</groupId>
40
       <artifactId>org.gvsig.raster.googlemaps.provider.legend</artifactId>
41
       <version>2.4.1-SNAPSHOT</version>
42
     </dependency>
43
    </dependencies>
44
  </dependencyManagement>
45
   <properties>
46
  <org.gvsig.googlemaps.version>1.0.9-SNAPSHOT</org.gvsig.googlemaps.version>
47
  <org.gvsig.raster.version>2.4.1-SNAPSHOT</org.gvsig.raster.version>
48
 </properties>
49

  
50
   <version>2.4.1-SNAPSHOT</version>
51
   <dependencies>
52
   </dependencies>
53
   <groupId>org.gvsig</groupId>
17 54
</project>
org.gvsig.raster/branches/org.gvsig.raster.2.4/org.gvsig.raster/pom.xml
70 70
  <module>org.gvsig.raster.gdal</module>
71 71
<!--   <module>org.gvsig.raster.wms</module> -->
72 72
  <module>org.gvsig.raster.tilecache</module>
73
  <module>org.gvsig.raster.googlemaps</module>
73
  <!-- <module>org.gvsig.raster.googlemaps</module> -->
74 74
 </modules>
75 75
 <dependencyManagement>
76 76
  <dependencies>
......
184 184
    <artifactId>org.gvsig.raster.tilecache.provider.legend</artifactId>
185 185
    <version>2.4.1-SNAPSHOT</version>
186 186
   </dependency>
187
   <dependency>
187
<!--    <dependency>
188 188
    <groupId>org.gvsig</groupId>
189 189
    <artifactId>org.gvsig.raster.googlemaps.provider</artifactId>
190 190
    <version>2.4.1-SNAPSHOT</version>
......
203 203
     <groupId>org.gvsig</groupId>
204 204
     <artifactId>org.gvsig.googlemaps.lib.impl</artifactId>
205 205
     <version>1.0.9-SNAPSHOT</version>
206
   </dependency>
206
   </dependency> -->
207 207
  </dependencies>
208 208
 </dependencyManagement>
209 209

  

Also available in: Unified diff