Return to the ProLat DLL main page
DLL Implementation
ProLat DLL is implemented as a standard Windows 32-bit DLL library. This is done to provide a standard interface to as many different languages as possible. The functions are designed to accept common data types supported by most languages.
If you need coordinate conversion in another operating system such as Linux, please contact us. The source code is in C/C++ and it is possible to arrange a cost effective solution.
Supported Languages
Examples are provided for MS Excel, Visual Basic 6.0, VB.NET, C++, C#.NET, and MS Access.
ProLat DLL is known to work with National Instruments LabView, Borland Delphi, Agilent VEE, PowerBASIC, REALbasic, and other languages that can call Windows 32-bit DLL functions.
Coordinate Systems
- Latitude / Longitude in WGS84, NAD83, and NAD27 datums.
- UTM (Universal Trans Mercator) all 60 zones, allows latitudes 84 deg N to 80 deg S, and selectable units.
- SPCS (State Plane Coordinate System) NAD83 and NAD27 definitions for all regions. Includes a CSV (comma separated values) file with state/county zone lookup table.
- Geocentric ECEF XYZ (raw GPS data)
- Custom coordinate systems with nearly any datum, projection, or parameters.
Units
ProLat DLL provides the following selection of units for coordinates systems with selectable units. It is possible to translate from coordinate systems in any unit to another coordinate system in any other unit.
| Unit | Conversion from meters | Description |
| km | 1000. | Kilometer |
| m | 1.0 | Meter |
| dm | 1/10 | Decimeter |
| cm | 1/100 | Centimeter |
| mm | 1/1000 | Millimeter |
| kmi | 1852.0 | International Nautical Mile |
| in | 0.0254 | International Inch |
| ft | 0.3048 | International Foot |
| yd | 0.9144 | International Yard |
| mi | 1609.344 | International Statute Mile |
| fath | 1.8288 | International Fathom |
| ch | 20.1168 | International Chain |
| link | 0.201168 | International Link |
| us-in | 1.0/39.37 | U.S. Surveyor?s Inch |
| us-ft | 0.304800609601219 | U.S. Surveyor?s Foot |
| us-yd | 0.914401828803658 | U.S. Surveyor?s Yard |
| us-ch | 20.11684023368047 | U.S. Surveyor?s Chain |
Scale Factor and Convergence Angle Calculation - New for Version 4
Accurate to the ellipse calculation.
Accurate distance between points - New for Version 4
ProLat now has a function to calculate geodesic distances accurate to the ellipsoid -- the best method. It also calculates forward azimuth and back azimuth.
HARN/HPGN
(High Accuracy Reference Network) for all NADCON defined regions
HARN is an upgrade from the NAD83 latitude/longitude datum. ProLat DLL converts from any other coordinate system to HARN in one step. This is convenient, for example, when converting from NAD27 to HARN. ProLat automatically performs a shift from NAD27 to NAD83, and then to HARN/HPGN.
HARN/HPGN Regions:
| Alabama | Arkansas | Arizona | California (North) | California (South) |
| Colorado | Florida | Georgia | Guam * | Hawaii |
| Idaho-Montana (East) | Idaho-Montana (West) | Iowa | Illinois | Indiana |
| Kansas | Kentucky | Louisiana | Maryland - Delaware | Maine |
| Michigan | Minnesota | Mississippi | Missouri | Nebraska |
| Nevada | New England | New Jersey | New Mexico | New York |
| North Dakota | Ohio | Oklahoma | Pennsylvania | Puerto Rico-Virgin Is |
| Samoa * (Eastern Is) | Samoa * (Western Is) | South Dakota | Tennessee | Texas (East) |
| Texas (West) | Utah | Virginia | Washington - Oregon | West Virginia |
| Wisconsin | Wyoming |
NADCON has no HARN/HPGN grid regions for Alaska, North Carolina, and South Carolina
Custom Coordinate Systems
ProLat DLL allows the creation of custom coordinate systems. The ProLat documentation provides syntax details for all of the custom parameters. However, a fair amount of knowledge is needed to determine proper usage. Once you know what coordinate system parameters are needed, ProLat provides the tools to get there. Here is a partial list of basic parameters available:
projection:
aea : Albers Equal Area
aeqd : Azimuthal Equidistant
airy : Airy
aitoff : Aitoff
alsk : Mod. Stererographics of Alaska
apian : Apian Globular I
august : August Epicycloidal
bacon : Bacon Globular
bipc : Bipolar conic of western hemisphere
boggs : Boggs Eumorphic
bonne : Bonne (Werner lat_1=90)
cass : Cassini
cc : Central Cylindrical
cea : Equal Area Cylindrical
chamb : Chamberlin Trimetric
collg : Collignon
crast : Craster Parabolic (Putnins P4)
denoy : Denoyer Semi-Elliptical
eck1 : Eckert I
eck2 : Eckert II
eck3 : Eckert III
eck4 : Eckert IV
eck5 : Eckert V
eck6 : Eckert VI
eqc : Equidistant Cylindrical (Plate Caree)
eqdc : Equidistant Conic
euler : Euler
fahey : Fahey
fouc : Foucaut
fouc_s : Foucaut Sinusoidal
gall : Gall (Gall Stereographic)
geos : Geostationary Satellite View
gins8 : Ginsburg VIII (TsNIIGAiK)
gn_sinu : General Sinusoidal Series
gnom : Gnomonic
goode : Goode Homolosine
gs48 : Mod. Stererographics of 48 U.S.
gs50 : Mod. Stererographics of 50 U.S.
hammer : Hammer & Eckert-Greifendorff
hatano : Hatano Asymmetrical Equal Area
imw_p : International Map of the World Polyconic
kav5 : Kavraisky V
kav7 : Kavraisky VII
krovak : Krovak
labrd : Laborde
laea : Lambert Azimuthal Equal Area
lagrng : Lagrange
larr : Larrivee
lask : Laskowski
lcc : Lambert Conformal Conic
lcca : Lambert Conformal Conic Alternative
leac : Lambert Equal Area Conic
lee_os : Lee Oblated Stereographic
loxim : Loximuthal
lsat : Space oblique for LANDSAT
mbt_s : McBryde-Thomas Flat-Polar Sine (No. 1)
mbt_fps : McBryde-Thomas Flat-Pole Sine (No. 2)
mbtfpp : McBride-Thomas Flat-Polar Parabolic
mbtfpq : McBryde-Thomas Flat-Polar Quartic
mbtfps : McBryde-Thomas Flat-Polar Sinusoidal
|
merc : Mercator
mil_os : Miller Oblated Stereographic
mill : Miller Cylindrical
mpoly : Modified Polyconic
moll : Mollweide
murd1 : Murdoch I
murd2 : Murdoch II
murd3 : Murdoch III
nell : Nell
nell_h : Nell-Hammer
nicol : Nicolosi Globular
nsper : Near-sided perspective
nzmg : New Zealand Map Grid
ob_tran : General Oblique Transformation
ocea : Oblique Cylindrical Equal Area
oea : Oblated Equal Area
omerc : Oblique Mercator
ortel : Ortelius Oval
ortho : Orthographic
pconic : Perspective Conic
poly : Polyconic (American)
putp1 : Putnins P1
putp2 : Putnins P2
putp3 : Putnins P3
putp3p : Putnins P3'
putp4p : Putnins P4'
putp5 : Putnins P5
putp5p : Putnins P5'
putp6 : Putnins P6
putp6p : Putnins P6'
qua_aut : Quartic Authalic
robin : Robinson
rouss : Roussilhe Stereographic
rpoly : Rectangular Polyconic
sinu : Sinusoidal (Sanson-Flamsteed)
somerc : Swiss. Obl. Mercator
stere : Stereographic
sterea : Oblique Stereographic Alternative
tcc : Transverse Central Cylindrical
tcea : Transverse Cylindrical Equal Area
tissot : Tissot
tmerc : Transverse Mercator
tpeqd : Two Point Equidistant
tpers : Tilted perspective
ups : Universal Polar Stereographic
urm5 : Urmaev V
urmfps : Urmaev Flat-Polar Sinusoidal
utm : Universal Transverse Mercator (UTM)
vandg : van der Grinten (I)
vandg2 : van der Grinten II
vandg3 : van der Grinten III
vandg4 : van der Grinten IV
vitk1 : Vitkovsky I
wag1 : Wagner I (Kavraisky VI)
wag2 : Wagner II
wag3 : Wagner III
wag4 : Wagner IV
wag5 : Wagner V
wag6 : Wagner VI
wag7 : Wagner VII
weren : Werenskiold I
wink1 : Winkel I
wink2 : Winkel II
wintri : Winkel Tripel
|
Ellipses
Custom definitions allow roughly 40 predefined ellipses definitions such as WGS84, Bessel, Clarke 1866, etc are available. And, you can define your own earth figure ellipse.
Datums:
Any of the available NADCON shift files may be used in a custom coordinate definition. ProLat DLL also provides 3 and 7 parameter datum shift and rotation capability.
World Databases
ProLat DLL includes the USGS World database of coordinate systems and the EPSG coordinate system database.
Text Coordinate Parsing
ProLat DLL includes a function to read a wide range of text coordinate formats and provide the values in double floating point arrays. Here are some example formats that it can read:
| 80d25'49.12"W 35d41'29"N | | // USGS common
| | 80 25 49.12 E 35 41 29 S | | // Degrees Minutes Seconds
| | 35�41'29"N 80�25'49.12"W 100.7 | | // With altitude
| | W80d25'49.12" N35d41'29" | |
| | 80�25.81867'W 35�41.48333'N | | // Degrees Minutes
| | 35 41.48333 S 80 25.81867 E | |
| | W80d25.81867 N35d41.4833 | |
| | W80 25.81867 N35 41.4833 | | // Garmin common
| | 80.4303111dW 35.6913889dN | | // Degrees
| | 80.4303111 W 35.6913889 N | |
| | S 35.691389� E 80.4303111� | |
| W80.4303111 N35.691389 | |
| | -80.4303111 35.691389 | | // Decimal
| | 500145.387 2457353.25 | | // Decimal UTM easting, northing |
Text Coordinate Formatting - new for Version 4
ProLat DLL offers a function to format text coordinates based on a formatting string. So now you can give your users the ability change formatting without needing to recompile purpose made code. Formatting may be produced in any of the above formats and many more. Complete flexibility is offered for precision and extra characters.
Return to the ProLat DLL main pageManufacturer: Effective Objects Availability: Available for download only. Select Download shipping method on the checkout page for zero shipping cost. Use the "Download" link in the order confirmation email to download this product.
| |
|
EOProLatDLL4-Specs
Contact us for pricing.
|
|