@staticmethod<EOL><INDENT>def _read_geojson_features(data, features=None, prefix="<STR_LIT>"):<DEDENT>
if features is None:<EOL><INDENT>features = collections.OrderedDict()<EOL><DEDENT>for i, feature in enumerate(data['<STR_LIT>']):<EOL><INDENT>key = feature.get('<STR_LIT:id>', prefix + str(i))<EOL>feature_type = feature['<STR_LIT>']['<STR_LIT:type>']<EOL>if feature_type == '<STR_LIT>':<EOL><INDENT>_read_geojson_features(feature, features, prefix + '<STR_LIT:.>' + key)<EOL><DEDENT>elif feature_type == '<STR_LIT>':<EOL><INDENT>value = Circle._convert_point(feature)<EOL><DEDENT>elif feature_type in ['<STR_LIT>', '<STR_LIT>']:<EOL><INDENT>value = Region(feature)<EOL><DEDENT>else:<EOL><INDENT>value = None<EOL><DEDENT>features[key] = value<EOL><DEDENT>return features<EOL>
Return a dict of features keyed by ID.