本文整理汇总了Java中org.geotools.data.simple.SimpleFeatureIterator.hasNext方法的典型用法代码示例。如果您正苦于以下问题:Java SimpleFeatureIterator.hasNext方法的具体用法?Java SimpleFeatureIterator.hasNext怎么用?Java SimpleFeatureIterator.hasNext使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.geotools.data.simple.SimpleFeatureIterator
的用法示例。
在下文中一共展示了SimpleFeatureIterator.hasNext方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: correctFeatures
import org.geotools.data.simple.SimpleFeatureIterator; //导入方法依赖的package包/类
public static SimpleFeatureCollection correctFeatures(SimpleFeatureCollection fc){
SimpleFeatureIterator iterator=fc.features();
DefaultFeatureCollection outVector = new DefaultFeatureCollection();
while(iterator.hasNext()){
SimpleFeature sf=iterator.next();
Geometry gm=(Geometry)sf.getDefaultGeometry();
if(!gm.isValid()){
gm=JTSUtil.repair(gm);
System.out.println(gm.isValid());
}
sf.setDefaultGeometry(gm);
outVector.add(sf);
}
return fc;
}
示例2: CommunityAreas
import org.geotools.data.simple.SimpleFeatureIterator; //导入方法依赖的package包/类
public CommunityAreas() {
communities = new HashMap<>();
try {
File f = new File(shapeFilePath);
ShapefileDataStore shapefile = new ShapefileDataStore(f.toURI().toURL());
SimpleFeatureIterator features = shapefile.getFeatureSource().getFeatures().features();
SimpleFeature shp;
while (features.hasNext()) {
shp = features.next();
int id = Integer.parseInt((String) shp.getAttribute("AREA_NUMBE"));
String name = (String) shp.getAttribute("COMMUNITY");
MultiPolygon boundary = (MultiPolygon) shp.getDefaultGeometry();
CommunityArea ca = new CommunityArea(id, name, boundary);
communities.put(id, ca);
}
features.close();
shapefile.dispose();
} catch (IOException e) {
e.printStackTrace();
}
}
示例3: Tracts
import org.geotools.data.simple.SimpleFeatureIterator; //导入方法依赖的package包/类
public Tracts() {
tracts = new HashMap<>();
try {
SimpleFeatureIterator features = getShapeFileFeatures();
SimpleFeature shp;
while (features.hasNext()) {
shp = features.next();
int id = Integer.parseInt((String) shp.getAttribute("tractce10"));
MultiPolygon boundary = (MultiPolygon) shp.getDefaultGeometry();
Tract t = new Tract(id, boundary);
tracts.put(id, t);
}
features.close();
shapefile.dispose();
} catch (IOException e) {
e.printStackTrace();
}
}
示例4: testAllShapesArePolygon
import org.geotools.data.simple.SimpleFeatureIterator; //导入方法依赖的package包/类
public void testAllShapesArePolygon() {
try {
SimpleFeatureIterator features = Tracts.getShapeFileFeatures();
SimpleFeature shp = features.next();
int fieldSize = shp.getType().getTypes().size();
assertEquals(fieldSize, 10);
assertEquals(shp.getType().getType(3).getName().getLocalPart(), "tractce10");
assertEquals(shp.getType().getType(0).getName().getLocalPart(), "MultiPolygon");
for (int i = 0; i < fieldSize; i++){
System.out.println(shp.getType().getType(i).getName().getLocalPart());
}
int cnt = 1;
while (features.hasNext()) {
shp = features.next();
MultiPolygon g = (MultiPolygon) shp.getDefaultGeometry();
cnt ++;
}
assertEquals(cnt, 801);
features.close();
Tracts.shapefile.dispose();
} catch (IOException e) {
e.printStackTrace();
}
}
示例5: getFeature
import org.geotools.data.simple.SimpleFeatureIterator; //导入方法依赖的package包/类
/**
* Gets the feature.
*
* @param row the row
* @return the feature
*/
private SimpleFeature getFeature(int row) {
if (featureCollection != null) {
if (row != lastRow) {
SimpleFeatureIterator iterator = featureCollection.features();
SimpleFeature feature = iterator.next();
int index = 0;
while (iterator.hasNext() && (index < row)) {
feature = iterator.next();
index++;
}
lastRow = row;
cachedFeature = feature;
}
return cachedFeature;
}
return null;
}
示例6: getOutcomeTest
import org.geotools.data.simple.SimpleFeatureIterator; //导入方法依赖的package包/类
@Test(enabled = true, groups = { "suitability", "integration" })
public void getOutcomeTest() throws Exception {
String areaAnalyzed = WifKeys.POLYGON_TEST;
String crsArea = WifKeys.CRS_TEST;
SimpleFeatureCollection suitabilityAnalysis = suitabilityScenarioService
.getOutcome(WifKeys.TEST_SUITABILITY_SCENARIO_ID, areaAnalyzed, crsArea);
SimpleFeatureIterator it = suitabilityAnalysis.features();
LOGGER.debug("results feature size: " + suitabilityAnalysis.size());
Assert.assertEquals(suitabilityAnalysis.size(), (8));
Double score = 0.0;
try {
while (it.hasNext()) {
SimpleFeature uazFeature = it.next();
score += (Double) uazFeature.getAttribute("SCORE_1");
}
} finally {
it.close();
}
LOGGER.debug("Score = " + score);
Assert.assertNotEquals(score, new Double(0));
// FIXME This was before, please check
// Assert.assertEquals(score, new Double(90000));
}
示例7: testLessDateFilterLong
import org.geotools.data.simple.SimpleFeatureIterator; //导入方法依赖的package包/类
@Test
public void testLessDateFilterLong() throws Exception {
init();
Date testDate = new Date(1005912798000l);
FilterFactory ff = dataStore.getFilterFactory();
Filter f = ff.lessOrEqual(ff.property("installed_td"), ff.literal(testDate.getTime()));
SimpleFeatureCollection features = featureSource.getFeatures(f);
assertEquals(4, features.size());
SimpleFeatureIterator it = features.features();
while (it.hasNext()) {
SimpleFeature next = it.next();
Date date = (Date) next.getAttribute("installed_td");
assertTrue(date.before(testDate) || date.equals(testDate));
}
it.close();
}
示例8: testGreaterDateFilterLong
import org.geotools.data.simple.SimpleFeatureIterator; //导入方法依赖的package包/类
@Test
public void testGreaterDateFilterLong() throws Exception {
init();
Date testDate = new Date(1005912798000l);
FilterFactory ff = dataStore.getFilterFactory();
Filter f = ff.greaterOrEqual(ff.property("installed_td"), ff.literal(testDate.getTime()));
SimpleFeatureCollection features = featureSource.getFeatures(f);
assertEquals(7, features.size());
SimpleFeatureIterator it = features.features();
while (it.hasNext()) {
SimpleFeature next = it.next();
Date date = (Date) next.getAttribute("installed_td");
assertTrue(date.after(testDate) || date.equals(testDate));
}
it.close();
}
示例9: testGetFeaturesWithORLogicFilter
import org.geotools.data.simple.SimpleFeatureIterator; //导入方法依赖的package包/类
@Test
public void testGetFeaturesWithORLogicFilter() throws Exception {
init();
FilterFactory ff = dataStore.getFilterFactory();
PropertyIsEqualTo property1 = ff.equals(ff.property("vendor_s"), ff.literal("D-Link"));
PropertyIsEqualTo property2 = ff.equals(ff.property("vendor_s"), ff.literal("Linksys"));
Or filter = ff.or(property1, property2);
SimpleFeatureCollection features = featureSource.getFeatures(filter);
assertEquals(6, features.size());
SimpleFeatureIterator iterator = features.features();
while (iterator.hasNext()) {
SimpleFeature f = iterator.next();
assertTrue(f.getAttribute("vendor_s").equals("D-Link")
|| f.getAttribute("vendor_s").equals("Linksys"));
}
}
示例10: printFeatures
import org.geotools.data.simple.SimpleFeatureIterator; //导入方法依赖的package包/类
/**
* @param featureIterator iterator of features to print
* @throws IOException
*/
public static void printFeatures(SimpleFeatureIterator featureIterator) throws IOException {
// Iterate features of shp file
while (featureIterator.hasNext()) {
SimpleFeature f = featureIterator.next();
List<Object> attributes = f.getAttributes();
for (int i = 0; i < attributes.size(); i++) {
// MultiLineString geometry =
// (MultiLineString)attributes.get(0);
Object attribute = attributes.get(i);
if (!(attribute instanceof MultiLineString))
System.out.println(attributes.get(i).toString());
}
System.out.println("---------");
}
}
示例11: run
import org.geotools.data.simple.SimpleFeatureIterator; //导入方法依赖的package包/类
public void run() {
try {
removeAllRenderables();
SimpleFeatureIterator featureIterator = getfeatureCollection().features();
while( featureIterator.hasNext() ) {
SimpleFeature lineFeature = featureIterator.next();
boolean doExtrude = false;
if (mApplyExtrusion && (mHeightFieldName != null || mHasConstantHeight)) {
doExtrude = true;
}
addLine(lineFeature, doExtrude);
}
featureIterator.close();
} catch (Exception e) {
e.printStackTrace();
}
}
示例12: execute
import org.geotools.data.simple.SimpleFeatureIterator; //导入方法依赖的package包/类
@DescribeResult(name = "result", description = "This is just a pass-through, the key is to provide enough information within invertQuery to perform a map to screen transform")
public GridCoverage2D execute(
@DescribeParameter(name = "data", description = "Feature collection containing the rendered image")
final SimpleFeatureCollection features )
throws ProcessException {
// vector-to-raster render transform that take a single feature that
// wraps a distributed render result and converts it to a GridCoverage2D
if (features != null) {
final SimpleFeatureIterator it = features.features();
if (it.hasNext()) {
final SimpleFeature resultFeature = features.features().next();
final DistributedRenderResult actualResult = (DistributedRenderResult) resultFeature.getAttribute(0);
final DistributedRenderOptions renderOptions = (DistributedRenderOptions) resultFeature.getAttribute(1);
// convert to the GridCoverage2D required for output
final GridCoverageFactory gcf = CoverageFactoryFinder
.getGridCoverageFactory(GeoTools.getDefaultHints());
final BufferedImage result = actualResult.renderComposite(renderOptions);
final GridCoverage2D gridCov = gcf.create(
"Process Results",
result,
renderOptions.getEnvelope());
return gridCov;
}
}
return null;
}
示例13: readParameters
import org.geotools.data.simple.SimpleFeatureIterator; //导入方法依赖的package包/类
private List<ShapeFileParameter> readParameters(DataStore dataStore) {
if (dataStore == null)
return Collections.emptyList();
try {
Map<String, ShapeFileParameter> params = new HashMap<>();
String typeName = dataStore.getTypeNames()[0];
SimpleFeatureCollection source = dataStore.getFeatureSource(
typeName).getFeatures();
SimpleFeatureIterator it = source.features();
while (it.hasNext()) {
SimpleFeature feature = it.next();
readParameters(params, feature);
}
it.close();
List<ShapeFileParameter> list = new ArrayList<>();
list.addAll(params.values());
return list;
} catch (Exception e) {
log.error("failed to get parameters from shape file", e);
return Collections.emptyList();
}
}
示例14: write
import org.geotools.data.simple.SimpleFeatureIterator; //导入方法依赖的package包/类
public void write(SimpleFeatureCollection obj, OutputStream output) throws IOException {
SimpleFeatureIterator it = obj.features();
PrintStream printStream = new PrintStream(output);
while (it.hasNext()) {
SimpleFeature ft = it.next();
printStream.print(ft.getID() + " [");
boolean first = true;
for (AttributeDescriptor ad : ft.getType().getAttributeDescriptors()) {
if (!first) {
printStream.print(", ");
}
printStream.print(ad.getLocalName() + ": " + ft.getAttribute(ad.getName()));
first = false;
}
printStream.println("]");
}
}
示例15: readParameters
import org.geotools.data.simple.SimpleFeatureIterator; //导入方法依赖的package包/类
private static Collection<ShapeFileParameter> readParameters(
DataStore dataStore) {
if (dataStore == null)
return Collections.emptyList();
Logger log = LoggerFactory.getLogger(ShapeFileUtils.class);
try {
Map<String, ShapeFileParameter> params = new HashMap<>();
String typeName = dataStore.getTypeNames()[0];
SimpleFeatureCollection source = dataStore.getFeatureSource(
typeName).getFeatures();
SimpleFeatureIterator it = source.features();
while (it.hasNext()) {
SimpleFeature feature = it.next();
readParameters(params, feature);
}
it.close();
return params.values();
} catch (Exception e) {
log.error("failed to get parameters from shape file", e);
return Collections.emptyList();
}
}