Skip to content

borovsky/osm-cut

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Name: Alexander Borovsky
Task: geo
Level: 4
Language: Erlang
Work: 48
Duration: 4 days for level 4 + 5 days for optimization

Includes erlsom XML parser (http://erlsom.sourceforge.net/)

1) call ./build.sh
2) than you can use cut.escript for cut osm map

Better work on multicore computers
Require near 300 Mb RAM on 32 bit system for russia.poly

Time Sheet:
2 weeks of planing and writing prototypes (only simple_xml_writer module used from them)
Jan, 12: 4 hours for 1 level (with basic tests)
Jan, 21: 4 hours for docs and test
Jan, 28: 2 hours - Level 2 polygon compiler
  Standard ray trace (send almost horizontal ray to left. 
    If cross polygon's vertex, assume that ray passed upper.
    Only one optimization: bounding box
Feb,  4: 6 hours for "complete objects" functionality. 
  OOM on "russia.osm"
Feb,  5: 3 hours: created external node storage, 
  Level 4 done with 15 minutes for moskow state.
Feb, 10: 2 hours: optimized transport data structures
  Temp file size reduced in 2 times.
  Extracting mosobl.poly last 10 minutes.
Feb, 19: 24 hours: Changed polygon compiler: 
  Used geotree optimization for increase node check speed
  400 seconds for extract mosobl.poly
  OOM when extracting Russia from russia.osm
Feb, 19: 1 hour: Created much more memory-optimal set for integer (bitset)
Feb, 20: 2 hours: Added write bufferisation. 
  Fixed processing large files (eg. cur russia.poly from russia.osm)
  Cutting russia.poly from russia.osm last 11 minutes;
  Cutting mosobl.poly from russia.osm last 9 minutes;

Possible optimizations:
  Parser rewrite: specialized parser could greatly improve performance
  Polygon compiler optimization: Current version does't support some geotree optimization

Repository URL: http://github.com/partizan/osm-cut

About

OSM map cutting

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages