public class ShapeFileRecordInfoProvider extends java.lang.Object implements RecordInfoProvider<LongWritable,MapWritable>
RecordInfoProvider
for ESRI Shapefiles. Can be used with ShapeFileInputFormat
to create indexes. The value is a Map containing all the Shapefile attributes including ShapeFileInputFormat.GEOMETRY_ATTRIBUTE. The geometries SRID can be defined. If the user sets the flag addExtraFields to true then the Shapefile attributes will be added to the extra fields.Constructor and Description |
---|
ShapeFileRecordInfoProvider()
Creates a new instance
|
Modifier and Type | Method and Description |
---|---|
static boolean |
addExtraFields(Configuration conf)
Returns true if shapefile's attributes will be added as extra fields in the index, false otherwise
|
Configuration |
getConf() |
boolean |
getExtraFields(java.util.Map<java.lang.String,java.lang.String> extraFields)
If the current record contains other fields different to id and geometry that are desired to be stored for fast access, they should be returned here by adding them to the passed map.
|
JGeometry |
getGeometry()
Gets the geometry of the current record
|
java.lang.String |
getId()
Gets the id of the current record
|
java.util.Map |
getRecordValue()
Returns the map record value.
|
static int |
getSrid(Configuration conf)
Returns the SRID.
|
static void |
setAddExtraFields(Configuration conf, boolean addExtraFields)
Sets the add extra fields flag.
|
void |
setConf(Configuration conf) |
void |
setCurrentRecord(LongWritable key, MapWritable value)
Sets the record's key and value.
|
static void |
setSrid(Configuration conf, int srid)
Sets the SRID.
|
public ShapeFileRecordInfoProvider()
public static boolean addExtraFields(Configuration conf)
conf
- the job configurationpublic Configuration getConf()
public boolean getExtraFields(java.util.Map<java.lang.String,java.lang.String> extraFields)
RecordInfoProvider
getExtraFields
in interface RecordInfoProvider<LongWritable,MapWritable>
extraFields
- An empty map where the extra fields can be addedpublic JGeometry getGeometry()
RecordInfoProvider
getGeometry
in interface RecordInfoProvider<LongWritable,MapWritable>
public java.lang.String getId()
RecordInfoProvider
getId
in interface RecordInfoProvider<LongWritable,MapWritable>
public java.util.Map getRecordValue()
public static int getSrid(Configuration conf)
conf
- the job configurationpublic static void setAddExtraFields(Configuration conf, boolean addExtraFields)
conf
- the job configurationaddExtraFields
- If true then shapefile's attributes will be added as extra fields in the indexpublic void setConf(Configuration conf)
public void setCurrentRecord(LongWritable key, MapWritable value)
RecordInfoProvider
setCurrentRecord
in interface RecordInfoProvider<LongWritable,MapWritable>
key
- A record's keyvalue
- A record's valuepublic static void setSrid(Configuration conf, int srid)
conf
- the job configurationsrid
- the SRIDCopyright © 2017, 2019 Oracle and/or its affiliates. All Rights Reserved.