Mapping package: Difference between revisions

Jump to navigation Jump to search
117 bytes removed ,  17 July 2019
(31 intermediate revisions by 6 users not shown)
Line 1: Line 1:
The {{Forge|mapping|mapping package}} is part of the octave-forge project.
The {{Forge|mapping|mapping package}} is part of the Octave Forge project.


== Development ==
== Development ==
=== Roadmap ===


Targets for next mapping package releases:
* Add rasterwrite.m (complementary to rasterread). Please contact package maintainer, there's already a C++ skeleton.
* Maybe add wrapper functions around rasterread and rasterwrite (for e.g., geotiff, ASCII grid, etc.).
* Add more options to mapshow.
* Implement support for projections. I (current mapping pkg maintainer) have little need nor much experience with this subject => help welcome! BTW there's an OF proj package that offers some of the functionality.
* Add geodesy functions. Patches have been submitted but not yet integrated (marked [7] in list below). A suggested roadmap would be to integrate Felipe Nievinsky's geodesy toolbox as an upstream dependency but that toolbox needs documentation work.
Several functions in the current mapping package release (1.2.1) haven't had much testing. Please try them out and report issues in the bug tracker with "[octave forge] (mapping)" tag in the title.
=== Missing functions ===
Follows an incomplete list of stuff missing in the mapping package to be matlab compatible. Bugs are not listed here, [https://savannah.gnu.org/bugs/?func=search&group=octave search] and [https://savannah.gnu.org/bugs/?func=additem&group=octave report] them on the bug tracker instead.
Follows an incomplete list of stuff missing in the mapping package to be matlab compatible. Bugs are not listed here, [https://savannah.gnu.org/bugs/?func=search&group=octave search] and [https://savannah.gnu.org/bugs/?func=additem&group=octave report] them on the bug tracker instead.


{{Note|this entire section is about the current development version. If a Matlab function is missing from the list and does not appear on the current release of the package, confirm that is also missing in the [https://sourceforge.net/p/octave/mapping/ development sources] before adding it.}}
As a number of polygon functions in the mapping package relate to geometry stuff, chances are that some of that lacking functionality is already present in the [http://wiki.octave.org/Geometry_package geometry package]. In fact there is a discussion about which functions belong where. Matlab compatibility suggests the mapping package, but based on similar functionality the geometry package might also be a good home.
 
Recent mapping toolbox versions are classdef-based. It is unclear yet if we need to follow this route as classdef support in Octave is still experimental and has no file I/O.
 
{{Note|this entire section is about current version 1.2.1; see notes below the list for dev version. If a Matlab function is missing from the list and does not appear on the current release of the package, confirm that is also missing in the [http://hg.code.sf.net/p/octave/mapping/file sources], see esp. the INDEX file, before adding it.}}


=== Missing functions ===
==== Alphabetical list ====
==== Alphabetical list ====
<div style="column-count:4;-moz-column-count:4;-webkit-column-count:4">
<div style="column-count:4;-moz-column-count:4;-webkit-column-count:4">
* aer2ecef
* aer2ecef '''[7]'''
* aer2enu
* aer2enu '''[7]'''
* aer2geodetic
* aer2geodetic '''[7]'''
* aer2ned
* aer2ned '''[7]'''
* angl2str
* angl2str
* antipode
* arcgridread '''[1]'''
* arcgridread
* areaint
* areaint
* areamat
* areamat
Line 22: Line 35:
* avhrrgoode
* avhrrgoode
* avhrrlambert
* avhrrlambert
* axes2ecc
* axes2ecc '''*'''
* axesm
* axesm
* axesmui
* axesmui
Line 50: Line 63:
* dted
* dted
* dteds
* dteds
* earthRadius
* earthRadius '''*'''
* ecc2flat
* ecc2flat '''*'''
* ecc2n
* ecc2n '''*'''
* ecef2aer
* ecef2aer
* ecef2enu
* ecef2enu
* ecef2enuv
* ecef2enuv
* ecef2geodetic
* ecef2geodetic '''*'''
* ecef2lv
* ecef2lv
* ecef2ned
* ecef2ned
Line 66: Line 79:
* enu2ecefv
* enu2ecefv
* enu2geodetic
* enu2geodetic
* enu2uvw '''[7]'''
* etopo
* etopo
* etopo5
* etopo5
* flat2ecc
* flat2ecc '''*'''
* flatearthpoly
* flatearthpoly
* framem
* framem
Line 76: Line 90:
* gcxgc
* gcxgc
* gcxsc
* gcxsc
* geocentricLatitude
* geocentricLatitude '''*'''
* geodetic2aer
* geodetic2aer
* geodetic2ecef
* geodetic2ecef '''*'''
* geodetic2enu
* geodetic2enu
* geodetic2ned
* geodetic2ned
* geodeticLatitudeFromGeocentric
* geodeticLatitudeFromGeocentric '''*'''
* geodeticLatitudeFromParametric
* geodeticLatitudeFromParametric '''*'''
* geoloc2grid
* geoloc2grid
* geopoint
* geopoint
Line 91: Line 105:
* geoshow
* geoshow
* geotiff2mstruct
* geotiff2mstruct
* geotiffinfo
* geotiffinfo '''[2]'''
* geotiffread
* geotiffread '''[1]'''
* geotiffwrite
* geotiffwrite
* getm
* getm
Line 98: Line 112:
* globedem
* globedem
* globedems
* globedems
* gpxread
* gpxread '''[6]'''
* gradientm
* gradientm
* grid2image
* grid2image
Line 115: Line 129:
* intrplon
* intrplon
* ismap
* ismap
* ispolycw
* ispolycw '''*'''
* isShapeMultipart
* km2nm
* km2rad
* km2sm
* kmlwrite
* kmlwrite
* kmlwriteline
* kmlwriteline
Line 130: Line 140:
* ltln2val
* ltln2val
* lv2ecef
* lv2ecef
* majaxis
* majaxis '''*'''
* makeattribspec
* makeattribspec
* makedbfspec
* makedbfspec
* makerefmat
* makerefmat
* makesymbolspec
* map.geodesy.AuthalicLatitudeConverter
* map.geodesy.AuthalicLatitudeConverter
* map.geodesy.ConformalLatitudeConverter
* map.geodesy.ConformalLatitudeConverter
Line 149: Line 158:
* maps
* maps
* mapshape
* mapshape
* mapshow
* mapshow '''[3]'''
* maptool
* maptool
* maptrim
* maptrim
Line 162: Line 171:
* meshm
* meshm
* mfwdtran
* mfwdtran
* minaxis
* minaxis '''*'''
* minvtran
* minvtran
* mlabel
* mlabel
* mlabelzero22pi
* mlabelzero22pi
* n2ecc
* n2ecc '''*'''
* ned2aer
* ned2aer
* ned2ecef
* ned2ecef
Line 172: Line 181:
* ned2geodetic
* ned2geodetic
* newpole
* newpole
* nm2deg
* nm2km
* nm2rad
* nm2sm
* northarrow
* northarrow
* oblateSpheroid
* oblateSpheroid
Line 183: Line 188:
* panzoom
* panzoom
* parallelui
* parallelui
* parametricLatitude
* parametricLatitude '''*'''
* pcolorm
* pcolorm
* plabel
* plabel
Line 192: Line 197:
* poly2cw
* poly2cw
* poly2fv
* poly2fv
* polybool
* polybool '''[4]'''
* polyjoin
* polyjoin '''*'''
* polymerge
* polymerge
* polysplit
* polysplit
Line 203: Line 208:
* quiver3m
* quiver3m
* quiverm
* quiverm
* rad2km
* rad2nm
* rad2nm
* rad2sm
* rad2sm
* rcurve
* rcurve '''*'''
* reducem
* reducem
* referenceEllipsoid
* referenceEllipsoid '''*'''
* referenceSphere
* referenceSphere
* refmatToGeoRasterReference
* refmatToGeoRasterReference
Line 214: Line 218:
* refmatToWorldFileMatrix
* refmatToWorldFileMatrix
* refvecToGeoRasterReference
* refvecToGeoRasterReference
* removeExtraNanSeparators
* resizem
* resizem
* rhxrh
* rhxrh
Line 228: Line 231:
* scirclui
* scirclui
* scxsc
* scxsc
* sdtsdemread
* sdtsdemread '''[1]'''
* sdtsinfo
* sdtsinfo '''[2]'''
* sectorg
* sectorg
* setm
* setm
* shaderel
* shaderel
* shapeinfo
* shaperead
* shapewrite
* showaxes
* showaxes
* sm2deg
* sm2deg
Line 273: Line 273:
* webmap
* webmap
* WebMapServer
* WebMapServer
* wgs84Ellipsoid
* wgs84Ellipsoid '''*'''
* wmcenter
* wmcenter
* wmclose
* wmclose
Line 293: Line 293:
* worldfilewrite
* worldfilewrite
* worldmap
* worldmap
* wrapTo180
* wrapTo2Pi
* wrapTo360
* wrapToPi
* zdatam
* zdatam
</div>
</div>
* [1] ''In mapping-1.2.1, rasterread can read any raster file that the GDAL library supports; see http://www.gdal.org/frmt_various.html. No separate functions for individual file format are required. There's some work to do on unifying output formats.''
* [2] ''As [1], rasterinfo does the job.''
* [3] ''As of mapping-1.2.0, there's a basic mapshow.''
* [4] ''See oc_polybool in the OF octclip package. polybool has been implemented in soon-to-be-released OF geometry-4.0.0''
* [5] ''See OF image package''
* [6] ''There's a basic gpxread in the 1.4.0 version (to be released)''
* [7] ''Patches submitted and in progress''
*  *  ''Implemented in dev version''


==== Grouped list ====
==== Grouped list ====
{| {{table}}
(see numbered notes above)
| arcgridread||File Import and Export||Standard File Formats
{| class="wikitable"
| arcgridread '''[1]'''||File Import and Export||Standard File Formats
|-
|-
| geotiff2mstruct||File Import and Export||Standard File Formats
| geotiff2mstruct||File Import and Export||Standard File Formats
|-
|-
| geotiffinfo||File Import and Export||Standard File Formats
| geotiffinfo '''[2]'''||File Import and Export||Standard File Formats
|-
|-
| geotiffread||File Import and Export||Standard File Formats
| geotiffread '''[1]'''||File Import and Export||Standard File Formats
|-
|-
| geotiffwrite||File Import and Export||Standard File Formats
| geotiffwrite||File Import and Export||Standard File Formats
|-
|-
| sdtsdemread||File Import and Export||Standard File Formats
| sdtsdemread '''[1]'''||File Import and Export||Standard File Formats
|-
|-
| sdtsinfo||File Import and Export||Standard File Formats
| sdtsinfo '''[2]'''||File Import and Export||Standard File Formats
|-
|-
| worldfileread||File Import and Export||Standard File Formats
| worldfileread||File Import and Export||Standard File Formats
Line 331: Line 337:
|-
|-
| makeattribspec||File Import and Export||Standard File Formats
| makeattribspec||File Import and Export||Standard File Formats
|-
| shapeinfo||File Import and Export||Standard File Formats
|-
| shaperead||File Import and Export||Standard File Formats
|-
| shapewrite||File Import and Export||Standard File Formats
|-
|-
| makedbfspec||File Import and Export||Standard File Formats
| makedbfspec||File Import and Export||Standard File Formats
|-
|-
| imread||File Import and Export||Standard File Formats
| imread '''[5]'''||File Import and Export||Standard File Formats
|-
|-
| imwrite||File Import and Export||Standard File Formats
| imwrite '''[5]'''||File Import and Export||Standard File Formats
|-
|-
| demdataui||File Import and Export||Gridded Terrain and Bathymetry Products
| demdataui||File Import and Export||Gridded Terrain and Bathymetry Products
Line 368: Line 368:
| usgs24kdem||File Import and Export||Gridded Terrain and Bathymetry Products
| usgs24kdem||File Import and Export||Gridded Terrain and Bathymetry Products
|-
|-
| usgsdem||File Import and Export||Gridded Terrain and Bathymetry Products
| usgsdem '''[1]'''||File Import and Export||Gridded Terrain and Bathymetry Products
|-
|-
| usgsdems||File Import and Export||Gridded Terrain and Bathymetry Products
| usgsdems '''[1]'''||File Import and Export||Gridded Terrain and Bathymetry Products
|-
|-
| avhrrgoode||File Import and Export||Specific Vector and Gridded Data Products
| avhrrgoode||File Import and Export||Specific Vector and Gridded Data Products
Line 478: Line 478:
| linem||Map Display||Vector and Raster Map Display
| linem||Map Display||Vector and Raster Map Display
|-
|-
| makesymbolspec||Map Display||Vector and Raster Map Display
| mapshow '''[3]'''||Map Display||Vector and Raster Map Display
|-
| mapshow||Map Display||Vector and Raster Map Display
|-
|-
| meshm||Map Display||Vector and Raster Map Display
| meshm||Map Display||Vector and Raster Map Display
Line 577: Line 575:
|-
|-
| intrplon||Data Analysis||Vector Data
| intrplon||Data Analysis||Vector Data
|-
| isShapeMultipart||Data Analysis||Vector Data
|-
|-
| linecirc||Data Analysis||Vector Data
| linecirc||Data Analysis||Vector Data
Line 602: Line 598:
| poly2fv||Data Analysis||Vector Data
| poly2fv||Data Analysis||Vector Data
|-
|-
| polybool||Data Analysis||Vector Data
| polybool '''[4]'''||Data Analysis||Vector Data
|-
|-
| polyxpoly||Data Analysis||Vector Data
| polyxpoly||Data Analysis||Vector Data
Line 699: Line 695:
|-
|-
| map.geodesy.RectifyingLatitudeConverter||Coordinates, Geodesy, and Projections||Modeling the Earth
| map.geodesy.RectifyingLatitudeConverter||Coordinates, Geodesy, and Projections||Modeling the Earth
|-
| degrees2dm||Coordinates, Geodesy, and Projections||Lengths and Angles
|-
| degrees2dms||Coordinates, Geodesy, and Projections||Lengths and Angles
|-
| degtorad||Coordinates, Geodesy, and Projections||Lengths and Angles
|-
| dm2degrees||Coordinates, Geodesy, and Projections||Lengths and Angles
|-
| dms2degrees||Coordinates, Geodesy, and Projections||Lengths and Angles
|-
| fromDegrees||Coordinates, Geodesy, and Projections||Lengths and Angles
|-
| fromRadians||Coordinates, Geodesy, and Projections||Lengths and Angles
|-
| radtodeg||Coordinates, Geodesy, and Projections||Lengths and Angles
|-
|-
| str2angle||Coordinates, Geodesy, and Projections||Lengths and Angles
| str2angle||Coordinates, Geodesy, and Projections||Lengths and Angles
|-
| toDegrees||Coordinates, Geodesy, and Projections||Lengths and Angles
|-
| toRadians||Coordinates, Geodesy, and Projections||Lengths and Angles
|-
| unitsratio||Coordinates, Geodesy, and Projections||Lengths and Angles
|-
| km2nm||Coordinates, Geodesy, and Projections||Lengths and Angles
|-
| km2sm||Coordinates, Geodesy, and Projections||Lengths and Angles
|-
| nm2km||Coordinates, Geodesy, and Projections||Lengths and Angles
|-
| nm2sm||Coordinates, Geodesy, and Projections||Lengths and Angles
|-
| sm2km||Coordinates, Geodesy, and Projections||Lengths and Angles
|-
| sm2nm||Coordinates, Geodesy, and Projections||Lengths and Angles
|-
|-
| unwrapMultipart||Coordinates, Geodesy, and Projections||Lengths and Angles
| unwrapMultipart||Coordinates, Geodesy, and Projections||Lengths and Angles
|-
| wrapTo180||Coordinates, Geodesy, and Projections||Lengths and Angles
|-
| wrapTo360||Coordinates, Geodesy, and Projections||Lengths and Angles
|-
| wrapToPi||Coordinates, Geodesy, and Projections||Lengths and Angles
|-
| wrapTo2Pi||Coordinates, Geodesy, and Projections||Lengths and Angles
|-
|-
| map.geodesy.isdegree||Coordinates, Geodesy, and Projections||Lengths and Angles
| map.geodesy.isdegree||Coordinates, Geodesy, and Projections||Lengths and Angles
|-
| validateLengthUnit||Coordinates, Geodesy, and Projections||Lengths and Angles
|-
|-
| azimuth||Coordinates, Geodesy, and Projections||Great Circles, Geodesics, and Rhumb Lines
| azimuth||Coordinates, Geodesy, and Projections||Great Circles, Geodesics, and Rhumb Lines
Line 787: Line 739:
|-
|-
| gcxsc||Coordinates, Geodesy, and Projections||Small Circles, Ellipses, and Spherical Distance
| gcxsc||Coordinates, Geodesy, and Projections||Small Circles, Ellipses, and Spherical Distance
|-
| km2deg||Coordinates, Geodesy, and Projections||Small Circles, Ellipses, and Spherical Distance
|-
| km2rad||Coordinates, Geodesy, and Projections||Small Circles, Ellipses, and Spherical Distance
|-
| nm2deg||Coordinates, Geodesy, and Projections||Small Circles, Ellipses, and Spherical Distance
|-
| nm2rad||Coordinates, Geodesy, and Projections||Small Circles, Ellipses, and Spherical Distance
|-
| rad2km||Coordinates, Geodesy, and Projections||Small Circles, Ellipses, and Spherical Distance
|-
|-
| rad2nm||Coordinates, Geodesy, and Projections||Small Circles, Ellipses, and Spherical Distance
| rad2nm||Coordinates, Geodesy, and Projections||Small Circles, Ellipses, and Spherical Distance
Line 813: Line 755:
|-
|-
| sectorg||Coordinates, Geodesy, and Projections||Small Circles, Ellipses, and Spherical Distance
| sectorg||Coordinates, Geodesy, and Projections||Small Circles, Ellipses, and Spherical Distance
|-
| sm2deg||Coordinates, Geodesy, and Projections||Small Circles, Ellipses, and Spherical Distance
|-
| sm2rad||Coordinates, Geodesy, and Projections||Small Circles, Ellipses, and Spherical Distance
|-
|-
| areaint||Coordinates, Geodesy, and Projections||Zones, Lunes, Quadrangles, and Other Areas
| areaint||Coordinates, Geodesy, and Projections||Zones, Lunes, Quadrangles, and Other Areas
Line 940: Line 878:
| ned2ecefv||Coordinates, Geodesy, and Projections||Coordinate Systems
| ned2ecefv||Coordinates, Geodesy, and Projections||Coordinate Systems
|-
|-
|
|}
|}


Line 947: Line 884:


=== Contributing ===
=== Contributing ===
* [[Short projects]]: see conversion between units
* See for example [[User:Sandeepmv#Y:_Your_task]]
* Make a table matching each missing function to an existing implementations in the geod toolbox [https://drive.google.com/file/d/0B-I95wETyqQidnZWbm5TbzZRcHc/edit?usp=sharing].
* geod toolbox [https://drive.google.com/file/d/0B-I95wETyqQidnZWbm5TbzZRcHc/edit?usp=sharing] (BSD-licensed, available from its author outside of File Exchange)


[[Category:Octave-Forge]]
[[Category:Octave Forge]]
[[Category:Missing functions]]
99

edits

Navigation menu