Michael Lutz wrote:
> Thanks. The StreamingParser works considerably better (if a little
> slower). Note that the xPath expression must be "//featureMember"
> (without the prefix).
Right.. :) JXPath seems to not like the prefixes..., probably how the
context is being setup.
Yeah the streaming parser will be considerably slower. I haven't quite
got around to optimizing it yet. Right now a jxpath context is created
for each element that gets parsed, this could definitely be improved.
> I also tried "Alternative 2: Ignoring the Application Schema", but this
> didn't work. I get
>
> org.xml.sax.SAXException: Handler for wfs:FeatureCollection could not be
> found.
> at
> org.geotools.xml.impl.ParserHandler.startElement(ParserHandler.java:357)
> at org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown
> Source)
> at ...
>
> I don't understand why the parser requires a handler for
> "wfs:FeatureCollection" if I tell it to ignore the schema? When I use
> the WFSConfiguration (which I created for WFS feature collections)
> instead of GMLConfiguration, I get the same exception for the
> application schema type, i.e. test:TestFeature in the example.
>
Sorry, the docs are somewhat at fault here :). You also need to specify
the following property:
configuration.getProperties().add(Parser.Properties.PARSE_UNKNOWN_ELEMENTS);
Also, how recent is the snapshot you are working from? I have recently
made some changes that make the parser a bit more lax when it comes to
this situation. We have nigthtly snapshots going now so it should be
available.
-Justin
> Any ideas?
>
> Cheers,
> Michael
>
>
> Justin Deoliveira wrote:
>> Hi Michael,
>>
>> I suggest for any reasonable size dataset you use the StreamingParser:
>>
>> StreamingParser parser =
>> new StreamingParser(configuration,"//gml:featureMember");
>>
>> try{
>> Feature f = null;
>> while ( ( f = parser.parse() ) != null ) {
>> ...
>> }
>>
>> }...
>> }
>>
>> Some more info about streaming here:
>>
>> http://docs.codehaus.org/display/GEOTDOC/GML+XML+Support
>>
>> -Justin
>>
>> Michael Lutz wrote:
>>> We are running into big memory problems when trying to parse large GML
>>> files containing WFS feature collections (e.g. 25000 points, about 25MB
>>> as GML) using the following code:
>>>
>>> public static FeatureCollection readFromInputStream(InputStream in) {
>>> Configuration configuration = new WFSConfiguration();
>>> Parser parser = new Parser(configuration);
>>> try{
>>> FeatureCollection fc = (FeatureCollection) parser.parse( in );
>>> in.close();
>>> return fc;
>>> } ...
>>> }
>>>
>>> For this example, the used memory goes up to 800MB. After the parsing,
>>> it goes down again to around 60MB.
>>>
>>> Any ideas why this is, and where we should be looking for memory leaks?
>>>
>>> Cheers,
>>> Michael
>>>
>>> -------------------------------------------------------------------------
>>> Take Surveys. Earn Cash. Influence the Future of IT
>>> Join SourceForge.net's Techsay panel and you'll get the chance to share your
>>> opinions on IT & business topics through brief surveys-and earn cash
>>> http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
>>> _______________________________________________
>>> Geotools-devel mailing list
>>> [email protected]
>>> https://lists.sourceforge.net/lists/listinfo/geotools-devel
>>>
>>>
>>>
>>
>
>
> -------------------------------------------------------------------------
> Take Surveys. Earn Cash. Influence the Future of IT
> Join SourceForge.net's Techsay panel and you'll get the chance to share your
> opinions on IT & business topics through brief surveys-and earn cash
> http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
> _______________________________________________
> Geotools-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/geotools-devel
>
> !DSPAM:1004,45dd6e58260167731818748!
>
--
Justin Deoliveira
The Open Planning Project
http://topp.openplans.org
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Geotools-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geotools-devel