Mapping package: Difference between revisions

Jump to navigation Jump to search
5,013 bytes removed ,  7 June 2022
 
(26 intermediate revisions by 5 users not shown)
Line 6: Line 6:
Targets for next mapping package releases:
Targets for next mapping package releases:
* Add rasterwrite.m (complementary to rasterread). Please contact package maintainer, there's already a C++ skeleton.
* 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.).
* Maybe add wrapper functions around rasterread and rasterwrite (for e.g., geotiff, ASCII grid, etc.). Matlab has arcgridread
* Add more options to mapshow.
* 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!
* Implement support for projections and coordinate transformations. 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. A suggested roadmap would be to integrate Felipe Nievinsky's geodesy toolbox as an upstream dependency but that toolbox needs documentation work.
* Add geodesy functions. Patches have been submitted and integrated. The current roadmap is to further integrate Felipe Nievinsky's geodesy toolbox, updated by M. Hirsch.


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 "[OF] mapping pkg:" tag in the title.
Several functions in the current mapping package release (1.4.2) and upcoming (1.4.3?) 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 ===
=== 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.


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.
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 was a discussion about which functions belong where. Matlab compatibility suggests the mapping package, but based on similar functionality the geometry package is probably a better home.
Anyway the mapping package has the geometry package as a required dependency.


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.
Recent matlab 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 [https://sourceforge.net/p/octave/mapping/development sources], see esp. the INDEX file, before adding it.}}
{{Note|this entire section is about version 1.4.2 (released early 2022). 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.}}


==== 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
* aer2enu
* aer2geodetic
* aer2ned
* angl2str
* arcgridread '''[1]'''
* arcgridread '''[1]'''
* areaint
* areaint
* areamat
* areamat
* areaquad
* areaquad '''*'''
* avhrrgoode
* avhrrgoode
* avhrrlambert
* avhrrlambert
* axes2ecc '''*'''
* axesm
* axesm
* axesmui
* axesmui
Line 47: Line 42:
* clipdata
* clipdata
* clma
* clma
* closePolygonParts
* clrmenu
* clrmenu
* contour3m
* contour3m
Line 55: Line 49:
* contourm
* contourm
* defaultm
* defaultm
* deg2nm
* deg2sm
* demcmap
* demcmap
* demdataui
* demdataui
* departure
* distortcalc
* distortcalc
* dted
* dted
* dteds
* dteds
* earthRadius  '''*'''
* ecc2flat '''*'''
* ecc2n '''*'''
* ecef2aer
* ecef2enu
* ecef2enuv
* ecef2geodetic '''*'''
* ecef2lv
* ecef2lv
* ecef2ned
* ecef2nedv
* egm96geoid
* ellipse1
* ellipse1
* enu2aer
* enu2ecef
* enu2ecefv
* enu2geodetic
* etopo
* etopo
* etopo5
* etopo5
* flat2ecc '''*'''
* flatearthpoly
* flatearthpoly
* framem
* framem
* gc2sc
* gcm
* gcm
* gcpmap
* gcpmap
* gcxgc
* gcxsc
* geocentricLatitude '''*'''
* geodetic2aer
* geodetic2ecef '''*'''
* geodetic2enu
* geodetic2ned
* geodeticLatitudeFromGeocentric '''*'''
* geodeticLatitudeFromParametric '''*'''
* geoloc2grid
* geoloc2grid
* geopoint
* geopoint
Line 111: Line 77:
* globedem
* globedem
* globedems
* globedems
* gpxread '''[6]'''
* gradientm
* gradientm
* grid2image
* grid2image
Line 128: Line 93:
* intrplon
* intrplon
* ismap
* ismap
* ispolycw
* ispolycw '''4'''
* ispolyccw '''[4]'''
* kmlwrite
* kmlwrite
* kmlwriteline
* kmlwriteline
Line 139: Line 105:
* ltln2val
* ltln2val
* lv2ecef
* lv2ecef
* majaxis '''*'''
* makeattribspec
* makeattribspec
* makedbfspec
* makedbfspec
* makerefmat
* makerefmat
* map.geodesy.AuthalicLatitudeConverter
* map.geodesy.AuthalicLatitudeConverter [6]
* map.geodesy.ConformalLatitudeConverter
* map.geodesy.ConformalLatitudeConverter [6]
* map.geodesy.IsometricLatitudeConverter
* map.geodesy.IsometricLatitudeConverter [6]
* map.geodesy.RectifyingLatitudeConverter
* map.geodesy.RectifyingLatitudeConverter [6]
* map.geodesy.isdegree
* map.geodesy.isdegree
* map.rasterref.GeographicRasterReference
* map.rasterref.GeographicRasterReference
Line 165: Line 130:
* mapview
* mapview
* mdistort
* mdistort
* meridianarc
* meridianfwd
* meridianfwd
* meshlsrm
* meshlsrm
* meshm
* meshm
* mfwdtran
* mfwdtran
* minaxis '''*'''
* minvtran
* minvtran
* mlabel
* mlabel
* mlabelzero22pi
* mlabelzero22pi
* n2ecc '''*'''
* ned2aer
* ned2ecef
* ned2ecefv
* ned2geodetic
* newpole
* newpole
* northarrow
* northarrow
Line 187: Line 145:
* panzoom
* panzoom
* parallelui
* parallelui
* parametricLatitude '''*'''
* pcolorm
* pcolorm
* plabel
* plabel
Line 193: Line 150:
* plotm
* plotm
* polcmap
* polcmap
* poly2ccw
* poly2ccw '''[4]'''
* poly2cw
* poly2cw '''[4]'''
* poly2fv
* poly2fv
* polybool '''[4]'''
* polybool '''[4]'''
* polyjoin
* polyjoin '''[4]'''
* polymerge
* polymerge
* polysplit
* polysplit '''[4]'''
* polyxpoly
* polyxpoly
* projfwd
* projfwd
Line 207: Line 164:
* quiver3m
* quiver3m
* quiverm
* quiverm
* rad2nm
* rad2sm
* rcurve '''*'''
* reducem
* reducem
* referenceEllipsoid '''*'''
* referenceSphere
* refmatToGeoRasterReference
* refmatToGeoRasterReference
* refmatToMapRasterReference
* refmatToMapRasterReference
Line 229: Line 181:
* scircleg
* scircleg
* scirclui
* scirclui
* scxsc
* sdtsdemread '''[1]'''
* sdtsdemread '''[1]'''
* sdtsinfo '''[2]'''
* sdtsinfo '''[2]'''
Line 236: Line 187:
* shaderel
* shaderel
* showaxes
* showaxes
* sm2deg
* sm2km
* sm2nm
* sm2rad
* stem3m
* stem3m
* str2angle
* surfacem
* surfacem
* surflm
* surflm
Line 260: Line 206:
* usgsdems
* usgsdems
* utmgeoid
* utmgeoid
* utmzone
* utmzoneui
* utmzoneui
* vec2mtx
* vec2mtx
Line 272: Line 217:
* webmap
* webmap
* WebMapServer
* WebMapServer
* wgs84Ellipsoid '''*'''
* wmcenter
* wmcenter
* wmclose
* wmclose
Line 295: Line 239:
</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.''
* [1] ''As of 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.''
* [2] ''As [1], rasterinfo does the job.''
* [3] ''As of mapping-1.2.0, there's a basic mapshow.''
* [3] ''As of mapping-1.2.0, there's a basic mapshow.''
* [4] ''See oc_polybool in the OF octclip package.''
* [4] ''Implemented in OF geometry-4.0.0''
* [5] ''See OF image package''
* [5] ''See OF image package''
* [6] ''There's a basic gpxread in the 1.2.2 version (to be released)''
* [6] ''Replacement function implemented''
*  *  ''Implemented in dev version''
*  *  ''Implemented in dev version''


==== Grouped list ====
==== Grouped list ====
(needs update relative to table above and newer mapping toolbox releases)
(see numbered notes above)
(see numbered notes above)
{| {{table}}
{| class="wikitable"
| arcgridread '''[1]'''||File Import and Export||Standard File Formats
| arcgridread '''[1]'''||File Import and Export||Standard File Formats
|-
|-
Line 325: Line 270:
|-
|-
| getworldfilename||File Import and Export||Standard File Formats
| getworldfilename||File Import and Export||Standard File Formats
|-
| gpxread||File Import and Export||Standard File Formats
|-
|-
| kmlwrite||File Import and Export||Standard File Formats
| kmlwrite||File Import and Export||Standard File Formats
Line 373: Line 316:
|-
|-
| avhrrlambert||File Import and Export||Specific Vector and Gridded Data Products
| avhrrlambert||File Import and Export||Specific Vector and Gridded Data Products
|-
| egm96geoid||File Import and Export||Specific Vector and Gridded Data Products
|-
|-
| gshhs||File Import and Export||Specific Vector and Gridded Data Products
| gshhs||File Import and Export||Specific Vector and Gridded Data Products
Line 649: Line 590:
|-
|-
| viewshed||Data Analysis||Terrain Data Analysis
| viewshed||Data Analysis||Terrain Data Analysis
|-
| wgs84Ellipsoid||Coordinates, Geodesy, and Projections||Modeling the Earth
|-
|-
| earthRadius||Coordinates, Geodesy, and Projections||Modeling the Earth
| earthRadius||Coordinates, Geodesy, and Projections||Modeling the Earth
|-
| rcurve||Coordinates, Geodesy, and Projections||Modeling the Earth
|-
|-
| rsphere||Coordinates, Geodesy, and Projections||Modeling the Earth
| rsphere||Coordinates, Geodesy, and Projections||Modeling the Earth
|-
| geocentricLatitude||Coordinates, Geodesy, and Projections||Modeling the Earth
|-
| parametricLatitude||Coordinates, Geodesy, and Projections||Modeling the Earth
|-
| geodeticLatitudeFromGeocentric||Coordinates, Geodesy, and Projections||Modeling the Earth
|-
| geodeticLatitudeFromParametric||Coordinates, Geodesy, and Projections||Modeling the Earth
|-
| axes2ecc||Coordinates, Geodesy, and Projections||Modeling the Earth
|-
| majaxis||Coordinates, Geodesy, and Projections||Modeling the Earth
|-
| minaxis||Coordinates, Geodesy, and Projections||Modeling the Earth
|-
| ecc2flat||Coordinates, Geodesy, and Projections||Modeling the Earth
|-
| flat2ecc||Coordinates, Geodesy, and Projections||Modeling the Earth
|-
| ecc2n||Coordinates, Geodesy, and Projections||Modeling the Earth
|-
| n2ecc||Coordinates, Geodesy, and Projections||Modeling the Earth
|-
|-
| oblateSpheroid||Coordinates, Geodesy, and Projections||Modeling the Earth
| oblateSpheroid||Coordinates, Geodesy, and Projections||Modeling the Earth
|-
|-
| referenceEllipsoid||Coordinates, Geodesy, and Projections||Modeling the Earth
| map.geodesy.AuthalicLatitudeConverter||Coordinates, Geodesy, and Projections||Modeling the Earth [6]
|-
| referenceSphere||Coordinates, Geodesy, and Projections||Modeling the Earth
|-
| map.geodesy.AuthalicLatitudeConverter||Coordinates, Geodesy, and Projections||Modeling the Earth
|-
|-
| map.geodesy.ConformalLatitudeConverter||Coordinates, Geodesy, and Projections||Modeling the Earth
| map.geodesy.ConformalLatitudeConverter||Coordinates, Geodesy, and Projections||Modeling the Earth [6]
|-
|-
| map.geodesy.IsometricLatitudeConverter||Coordinates, Geodesy, and Projections||Modeling the Earth
| map.geodesy.IsometricLatitudeConverter||Coordinates, Geodesy, and Projections||Modeling the Earth [6]
|-
|-
| map.geodesy.RectifyingLatitudeConverter||Coordinates, Geodesy, and Projections||Modeling the Earth
| map.geodesy.RectifyingLatitudeConverter||Coordinates, Geodesy, and Projections||Modeling the Earth [6]
|-
| str2angle||Coordinates, Geodesy, and Projections||Lengths and Angles
|-
|-
| unwrapMultipart||Coordinates, Geodesy, and Projections||Lengths and Angles
| unwrapMultipart||Coordinates, Geodesy, and Projections||Lengths and Angles
Line 701: Line 610:
|-
|-
| azimuth||Coordinates, Geodesy, and Projections||Great Circles, Geodesics, and Rhumb Lines
| azimuth||Coordinates, Geodesy, and Projections||Great Circles, Geodesics, and Rhumb Lines
|-
| departure||Coordinates, Geodesy, and Projections||Great Circles, Geodesics, and Rhumb Lines
|-
|-
| distance||Coordinates, Geodesy, and Projections||Great Circles, Geodesics, and Rhumb Lines
| distance||Coordinates, Geodesy, and Projections||Great Circles, Geodesics, and Rhumb Lines
|-
| gc2sc||Coordinates, Geodesy, and Projections||Great Circles, Geodesics, and Rhumb Lines
|-
| gcxgc||Coordinates, Geodesy, and Projections||Great Circles, Geodesics, and Rhumb Lines
|-
| gcxsc||Coordinates, Geodesy, and Projections||Great Circles, Geodesics, and Rhumb Lines
|-
| meridianarc||Coordinates, Geodesy, and Projections||Great Circles, Geodesics, and Rhumb Lines
|-
|-
| meridianfwd||Coordinates, Geodesy, and Projections||Great Circles, Geodesics, and Rhumb Lines
| meridianfwd||Coordinates, Geodesy, and Projections||Great Circles, Geodesics, and Rhumb Lines
|-
| reckon||Coordinates, Geodesy, and Projections||Great Circles, Geodesics, and Rhumb Lines
|-
|-
| rhxrh||Coordinates, Geodesy, and Projections||Great Circles, Geodesics, and Rhumb Lines
| rhxrh||Coordinates, Geodesy, and Projections||Great Circles, Geodesics, and Rhumb Lines
Line 729: Line 626:
|-
|-
| ellipse1||Coordinates, Geodesy, and Projections||Small Circles, Ellipses, and Spherical Distance
| ellipse1||Coordinates, Geodesy, and Projections||Small Circles, Ellipses, and Spherical Distance
|-
| deg2km||Coordinates, Geodesy, and Projections||Small Circles, Ellipses, and Spherical Distance
|-
| deg2nm||Coordinates, Geodesy, and Projections||Small Circles, Ellipses, and Spherical Distance
|-
| deg2sm||Coordinates, Geodesy, and Projections||Small Circles, Ellipses, and Spherical Distance
|-
| gcxsc||Coordinates, Geodesy, and Projections||Small Circles, Ellipses, and Spherical Distance
|-
| rad2nm||Coordinates, Geodesy, and Projections||Small Circles, Ellipses, and Spherical Distance
|-
| rad2sm||Coordinates, Geodesy, and Projections||Small Circles, Ellipses, and Spherical Distance
|-
|-
| scircle1||Coordinates, Geodesy, and Projections||Small Circles, Ellipses, and Spherical Distance
| scircle1||Coordinates, Geodesy, and Projections||Small Circles, Ellipses, and Spherical Distance
Line 749: Line 634:
|-
|-
| scirclui||Coordinates, Geodesy, and Projections||Small Circles, Ellipses, and Spherical Distance
| scirclui||Coordinates, Geodesy, and Projections||Small Circles, Ellipses, and Spherical Distance
|-
| scxsc||Coordinates, Geodesy, and Projections||Small Circles, Ellipses, and Spherical Distance
|-
|-
| sectorg||Coordinates, Geodesy, and Projections||Small Circles, Ellipses, and Spherical Distance
| sectorg||Coordinates, Geodesy, and Projections||Small Circles, Ellipses, and Spherical Distance
Line 757: Line 640:
|-
|-
| areamat||Coordinates, Geodesy, and Projections||Zones, Lunes, Quadrangles, and Other Areas
| areamat||Coordinates, Geodesy, and Projections||Zones, Lunes, Quadrangles, and Other Areas
|-
| areaquad||Coordinates, Geodesy, and Projections||Zones, Lunes, Quadrangles, and Other Areas
|-
|-
| bufgeoquad||Coordinates, Geodesy, and Projections||Zones, Lunes, Quadrangles, and Other Areas
| bufgeoquad||Coordinates, Geodesy, and Projections||Zones, Lunes, Quadrangles, and Other Areas
Line 827: Line 708:
|-
|-
| utmgeoid||Coordinates, Geodesy, and Projections||Coordinate Systems
| utmgeoid||Coordinates, Geodesy, and Projections||Coordinate Systems
|-
| utmzone||Coordinates, Geodesy, and Projections||Coordinate Systems
|-
|-
| utmzoneui||Coordinates, Geodesy, and Projections||Coordinate Systems
| utmzoneui||Coordinates, Geodesy, and Projections||Coordinate Systems
|-
|-
| ecef2geodetic||Coordinates, Geodesy, and Projections||Coordinate Systems
|-
| geodetic2ecef||Coordinates, Geodesy, and Projections||Coordinate Systems
|-
| geodetic2enu||Coordinates, Geodesy, and Projections||Coordinate Systems
|-
| geodetic2ned||Coordinates, Geodesy, and Projections||Coordinate Systems
|-
| geodetic2aer||Coordinates, Geodesy, and Projections||Coordinate Systems
|-
| enu2geodetic||Coordinates, Geodesy, and Projections||Coordinate Systems
|-
| ned2geodetic||Coordinates, Geodesy, and Projections||Coordinate Systems
|-
| aer2geodetic||Coordinates, Geodesy, and Projections||Coordinate Systems
|-
| ecef2enu||Coordinates, Geodesy, and Projections||Coordinate Systems
|-
| ecef2ned||Coordinates, Geodesy, and Projections||Coordinate Systems
|-
| ecef2aer||Coordinates, Geodesy, and Projections||Coordinate Systems
|-
| enu2ecef||Coordinates, Geodesy, and Projections||Coordinate Systems
|-
| ned2ecef||Coordinates, Geodesy, and Projections||Coordinate Systems
|-
| aer2ecef||Coordinates, Geodesy, and Projections||Coordinate Systems
|-
| aer2enu||Coordinates, Geodesy, and Projections||Coordinate Systems
|-
| aer2ned||Coordinates, Geodesy, and Projections||Coordinate Systems
|-
| enu2aer||Coordinates, Geodesy, and Projections||Coordinate Systems
|-
| ned2aer||Coordinates, Geodesy, and Projections||Coordinate Systems
|-
| ecef2enuv||Coordinates, Geodesy, and Projections||Coordinate Systems
|-
| ecef2nedv||Coordinates, Geodesy, and Projections||Coordinate Systems
|-
| enu2ecefv||Coordinates, Geodesy, and Projections||Coordinate Systems
|-
| ned2ecefv||Coordinates, Geodesy, and Projections||Coordinate Systems
|-
|
|}
|}


Line 884: Line 718:
=== Contributing ===
=== Contributing ===
* See for example [[User:Sandeepmv#Y:_Your_task]]
* See for example [[User:Sandeepmv#Y:_Your_task]]
* geod toolbox [https://drive.google.com/file/d/0B-I95wETyqQidnZWbm5TbzZRcHc/edit?usp=sharing] (BSD-licensed, available by the author outside of File Exchange)
* 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