/[schmitzm]/trunk/src/skrueger/geotools/io/TwistedLatLonFeatureSource.java
ViewVC logotype

Annotation of /trunk/src/skrueger/geotools/io/TwistedLatLonFeatureSource.java

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1255 - (hide annotations)
Mon Nov 8 15:30:47 2010 UTC (14 years, 3 months ago) by alfonx
File MIME type: text/plain
File size: 3975 byte(s)
Corrected some broken Italian characters
1 alfonx 1160 /*******************************************************************************
2     * Copyright (c) 2010 Stefan A. Tzeggai.
3     * All rights reserved. This program and the accompanying materials
4     * are made available under the terms of the GNU Public License v2.0
5     * which accompanies this distribution, and is available at
6     * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
7     *
8     * Contributors:
9     * Stefan A. Tzeggai - initial API and implementation
10     ******************************************************************************/
11     package skrueger.geotools.io;
12    
13     import java.io.IOException;
14     import java.util.Set;
15    
16 alfonx 1251 import org.apache.log4j.Logger;
17 alfonx 1160 import org.geotools.data.DataAccess;
18     import org.geotools.data.FeatureListener;
19     import org.geotools.data.FeatureSource;
20     import org.geotools.data.Query;
21     import org.geotools.data.QueryCapabilities;
22     import org.geotools.data.ResourceInfo;
23     import org.geotools.feature.FeatureCollection;
24     import org.geotools.geometry.jts.ReferencedEnvelope;
25     import org.opengis.feature.simple.SimpleFeature;
26     import org.opengis.feature.simple.SimpleFeatureType;
27     import org.opengis.feature.type.Name;
28     import org.opengis.filter.Filter;
29     import org.opengis.referencing.crs.CoordinateReferenceSystem;
30     import org.opengis.referencing.crs.GeographicCRS;
31    
32 alfonx 1251 import schmitzm.lang.LangUtil;
33    
34 alfonx 1160 import com.vividsolutions.jts.geom.Envelope;
35    
36     public class TwistedLatLonFeatureSource implements
37     FeatureSource<SimpleFeatureType, SimpleFeature> {
38    
39     private final FeatureSource<SimpleFeatureType, SimpleFeature> originaleFS;
40     private boolean twist = false;
41    
42     public TwistedLatLonFeatureSource(
43     FeatureSource<SimpleFeatureType, SimpleFeature> originaleFS) {
44     this.originaleFS = originaleFS;
45    
46     CoordinateReferenceSystem crs = originaleFS.getSchema()
47     .getCoordinateReferenceSystem();
48     if (crs instanceof GeographicCRS) {
49 alfonx 1251 LOGGER.debug("CRS is GeographicCRS, twist it!");
50 alfonx 1160 setTwist(true);
51     }
52     }
53    
54 alfonx 1251 private static final Logger LOGGER = LangUtil
55     .createLogger(TwistedLatLonFeatureSource.class);
56    
57 alfonx 1160 @Override
58     public void addFeatureListener(FeatureListener listener) {
59     originaleFS.addFeatureListener(listener);
60     }
61    
62     @Override
63     public ReferencedEnvelope getBounds() throws IOException {
64     if (isTwist()) {
65     Envelope oldEnv = originaleFS.getBounds();
66     return new ReferencedEnvelope(oldEnv.getMinY(), oldEnv.getMinX(),
67     oldEnv.getMaxY(), oldEnv.getMaxX(), getSchema()
68     .getCoordinateReferenceSystem());
69     } else
70     return originaleFS.getBounds();
71     }
72    
73     @Override
74     public ReferencedEnvelope getBounds(Query query) throws IOException {
75     return null;
76     }
77    
78     @Override
79     public int getCount(Query query) throws IOException {
80     return originaleFS.getCount(query);
81     }
82    
83     @Override
84     public DataAccess<SimpleFeatureType, SimpleFeature> getDataStore() {
85     return originaleFS.getDataStore();
86     }
87    
88     @Override
89     public FeatureCollection<SimpleFeatureType, SimpleFeature> getFeatures()
90     throws IOException {
91     return originaleFS.getFeatures();
92     }
93    
94     @Override
95     public FeatureCollection<SimpleFeatureType, SimpleFeature> getFeatures(
96     Query query) throws IOException {
97     return originaleFS.getFeatures(query);
98     }
99    
100     @Override
101     public FeatureCollection<SimpleFeatureType, SimpleFeature> getFeatures(
102     Filter filter) throws IOException {
103     return originaleFS.getFeatures(filter);
104     }
105    
106     @Override
107     public QueryCapabilities getQueryCapabilities() {
108     return originaleFS.getQueryCapabilities();
109     }
110    
111     @Override
112     public SimpleFeatureType getSchema() {
113     return originaleFS.getSchema();
114     }
115    
116     @Override
117     public Set getSupportedHints() {
118     return originaleFS.getSupportedHints();
119     }
120    
121     @Override
122     public void removeFeatureListener(FeatureListener listener) {
123     originaleFS.removeFeatureListener(listener);
124     }
125    
126     @Override
127     public ResourceInfo getInfo() {
128     return originaleFS.getInfo();
129     }
130    
131     @Override
132     public Name getName() {
133     return originaleFS.getName();
134     }
135    
136     public void setTwist(boolean twist) {
137     this.twist = twist;
138     }
139    
140     public boolean isTwist() {
141     return twist;
142     }
143    
144     }

Properties

Name Value
svn:eol-style native
svn:keywords Id URL
svn:mime-type text/plain

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26