Modi
good to know
Modi
good to know
Die Nutzung des BEV Transformators mit einem API-Key ist nur mit einer gleichzeitigen Registrierung für das BEV Produkt-Webservice möglich. Dafür ist eine ABO-Vereinbarung mit Zahlungsart Bankeinzug erforderlich. Für die Freischaltung des BEV Produkt-Webservice wird ein BEV-Portal Benutzer/eine BEV-Portal Benutzerin benötigt. Ist kein freier Benutzer/keine freie Benutzerin mehr verfügbar, wird der Kunde/die Kundin vom BEV automatisch umgestellt. Diese Umstellung ist kostenlos und verursacht keine Folgekosten. Die Schritte im Überblick:
Bei jedem Request muss der API Key mitgeschickt werden um die Authentifizierung durchführen zu können. Weiters muss der ContentType angegeben werden.
{ "Content-Type": "application/json;charset=utf-8", "Authorization": "Token YOUR_TOKEN" }
In jedem Response gibt es einen meta-Block. In diesem Bereich werden folgende Informationen zurückgegeben:
Der Block result ist individuell und wird bei jedem Modus extra beschrieben.
{ "meta": { "datetime":"2019-06-21 07:52:06.357773+00:00", "report_key":"76f77ad093f911e980fe0050568d2858", "token":"YOUR_TOKEN", "points":1, "user":"anonymous", "request_url":"/at.gv.bev.transformator/api/v1.0/helmert/2d/transformation/" }, "result": { "points":{...} } }
Für den request werden verschiedene Models verwendet. Die Verwendung wird bei den einzelnen Modi erklärt. Die Definition ist wie folgt:
In diesem Model wird ein Coordinate Reference System (CRS) zur Gänze beschrieben. Der ausführliche Aufbau ist hier erklärt. Der Aufbau kann immer nur hierarchisch erfolgen. Für die Definition von Geozentrischen Koodinaten ist folgende Eingabe erforderlich:
Für die Definition von Geographischen Koordinaten benötigt man:
Für die Definition von Projizierten Koordinaten benötigt man
"crs": { "frame": { "type": "choice", "required": true, "read_only": false, "label": "Frame", "choices": [ { "value": "101", "display_name": "ITRF88" }, { "value": "102", "display_name": "ITRF89" }, { "value": "103", "display_name": "ITRF90" }, { "value": "104", "display_name": "ITRF91" }, { "value": "105", "display_name": "ITRF92" }, { "value": "106", "display_name": "ITRF93" }, { "value": "107", "display_name": "ITRF94" }, { "value": "108", "display_name": "ITRF96" }, { "value": "109", "display_name": "ITRF97" }, { "value": "110", "display_name": "ITRF2000" }, { "value": "111", "display_name": "ITRF2005" }, { "value": "112", "display_name": "ITRF2008" }, { "value": "113", "display_name": "ITRF2014" }, { "value": "201", "display_name": "ETRF89" }, { "value": "202", "display_name": "ETRF90" }, { "value": "203", "display_name": "ETRF91" }, { "value": "204", "display_name": "ETRF92" }, { "value": "205", "display_name": "ETRF93" }, { "value": "206", "display_name": "ETRF94" }, { "value": "207", "display_name": "ETRF96" }, { "value": "208", "display_name": "ETRF97" }, { "value": "209", "display_name": "ETRF2000" }, { "value": "301", "display_name": "MGI" }, { "value": "302", "display_name": "WGS84" } ] }, "epoch": { "type": "float", "required": false, "read_only": false, "label": "Epoch", "help_text": "Epoch of CRS [YYYY.DDD]" }, "ellipsoid": { "type": "choice", "required": false, "read_only": false, "label": "Ellipsoid", "choices": [ { "value": "EPSG::7030", "display_name": "WGS84" }, { "value": "EPSG::7019", "display_name": "GRS 1980" }, { "value": "EPSG::7004", "display_name": "BESSEL 1841" }, { "value": "EPSG::7024", "display_name": "KRASSOWSKI 1940" }, { "value": "EPSG::7022", "display_name": "HAYFORD International 1924" } ] }, "prime_meridian": { "type": "choice", "required": false, "read_only": false, "label": "Prime meridian", "choices": [ { "value": "EPSG::8912", "display_name": "Athens" }, { "value": "EPSG::8907", "display_name": "Bern" }, { "value": "EPSG::8904", "display_name": "Bogota" }, { "value": "EPSG::8910", "display_name": "Brussels" }, { "value": "EPSG::8909", "display_name": "Ferro" }, { "value": "EPSG::8901", "display_name": "Greenwich" }, { "value": "EPSG::8908", "display_name": "Jakarta" }, { "value": "EPSG::8902", "display_name": "Lisbon" }, { "value": "EPSG::8905", "display_name": "Madrid" }, { "value": "EPSG::8913", "display_name": "Oslo" }, { "value": "EPSG::8903", "display_name": "Paris" }, { "value": "EPSG::8914", "display_name": "Paris RGS" }, { "value": "EPSG::8906", "display_name": "Rome" }, { "value": "EPSG::8911", "display_name": "Stockholm" } ] }, "projection": { "type": "choice", "required": false, "read_only": false, "label": "Projection", "choices": [ { "value": "BEV::10028", "display_name": "BEV-Shop MGI_GK_M28" }, { "value": "BEV::10031", "display_name": "BEV-Shop MGI_GK_M31" }, { "value": "BEV::10034", "display_name": "BEV-Shop MGI_GK_M34" }, { "value": "BEV::10035", "display_name": "BEV-Shop MGI_GK_AUTO" }, { "value": "EPSG::18004", "display_name": "Austria Gauss-Kruger West, Conversion of EPSG::31254" }, { "value": "EPSG::18005", "display_name": "Austria Gauss-Kruger Central, Conversion of EPSG::31255" }, { "value": "EPSG::18006", "display_name": "Austria Gauss-Kruger East, Conversion of EPSG::31256" }, { "value": "BEV::10036", "display_name": "Austria Gauss-Kruger Auto, Conversion of EPSG::31256" }, { "value": "EPSG::16032", "display_name": "UTM zone 32N" }, { "value": "EPSG::16033", "display_name": "UTM zone 33N" }, { "value": "EPSG::19947", "display_name": "Austria Lambert" } ] }
Für die Übergabe von geozentrischen Koordinaten ist folgende Schreibweise zu verwenden:
"point_geocentric": { "name": { "type": "string", "required": true, "read_only": false, "label": "Name", "max_length": 200 }, "X": { "type": "float", "required": true, "read_only": false, "label": "X" }, "Y": { "type": "float", "required": true, "read_only": false, "label": "Y" }, "Z": { "type": "float", "required": true, "read_only": false, "label": "Z" }, "v_X": { "type": "float", "required": false, "read_only": false, "label": "V x" }, "v_Y": { "type": "float", "required": false, "read_only": false, "label": "V y" }, "v_Z": { "type": "float", "required": false, "read_only": false, "label": "V z" } }
Für die Übergabe von geographischen Koordinaten ist folgende Schreibweise zu verwenden:
"point_geographic": { "name": { "type": "string", "required": true, "read_only": false, "label": "Name", "max_length": 200 }, "lon": { "type": "float", "required": true, "read_only": false, "label": "Lon", "help_text": "Longitude in decimal degrees" }, "lat": { "type": "float", "required": true, "read_only": false, "label": "Lat", "help_text": "Latitude in decimal degrees" }, "ele": { "type": "float", "required": true, "read_only": false, "label": "Ele", "help_text": "Ellipsoidal height" }, "v_lon": { "type": "float", "required": false, "read_only": false, "label": "V lon" }, "v_lat": { "type": "float", "required": false, "read_only": false, "label": "V lat" }, "v_ele": { "type": "float", "required": false, "read_only": false, "label": "V ele" } }
Für die Übergabe von geographischen Koordinaten ist folgende Schreibweise zu verwenden:
"point_projected": { "name": { "type": "string", "required": true, "read_only": false, "label": "Name", "max_length": 200 }, "east": { "type": "float", "required": true, "read_only": false, "label": "East" }, "north": { "type": "float", "required": true, "read_only": false, "label": "North" }, "height": { "type": "float", "required": false, "read_only": false, "label": "Height" }, "v_east": { "type": "float", "required": false, "read_only": false, "label": "V east" }, "v_north": { "type": "float", "required": false, "read_only": false, "label": "V north" }, "v_height": { "type": "float", "required": false, "read_only": false, "label": "V height" } }
Bei verschiedenen Modi ist eine Höhen- bzw Meridianeingabe notwendig. Die Auswahlmöglichkeiten für diese Werte finden sie nachstehend.
"height": { "type": "choice", "required": false, "read_only": false, "label": "Height", "choices": [ { "value": "ortho", "display_name": "Orthometrisch" }, { "value": "ellps", "display_name": "Ellipsoidisch" }, { "value": "usage", "display_name": "Gebrauchshoehe" } ] }, "meridian": { "type": "choice", "required": false, "read_only": false, "label": "Meridian", "choices": [ { "value": "GK_AUTO", "display_name": "Automatic definition of Referenze Meridian" }, { "value": "GK_M28", "display_name": "MGI/GK Meridian M28 (West)" }, { "value": "GK_M31", "display_name": "MGI/GK Meridian M21 (Central)" }, { "value": "GK_M34", "display_name": "MGI/GK Meridian M34 (East)" } ] }
Modus zur Tranformation von unterschiedlichen Datumsschreibweisen. Die Datumstransformation stellt eine Sonderform dar, da für den request kein API-Key notwendig ist und der response keine META Informationen zurückgibt.
Übergabeparameter:
{ "category": { "type": "choice", "required": true, "read_only": false, "label": "Category", "choices": [ { "value": "mjd", "display_name": "Float::Modified Julian Date" }, { "value": "bdat", "display_name": "YYYY-MM-DD::Date" }, { "value": "gpsweek", "display_name": "WWWW.D::GPSWeek and Day of Week" }, { "value": "ydoy", "display_name": "YYYY.DDD::Year and Day of Year" }, { "value": "yr", "display_name": "YYYY.FF::Fractional Year (YYYY.50 = Half of year)" } ] }, "value": { "type": "string", "required": true, "read_only": false, "label": "Value", "max_length": 50 } }
request:
POST /at.gv.bev.transformator/api/v1.1/datetime/ HTTP/1.1 Host: https://transformator.bev.gv.at Content-Type: application/json Accept: application/json, text/plain, */* { "category": "bdat", "value": "2002-07-19" }
response:
{ "error": null, "ut": 0, "year": 2019, "month": 7, "day": 1, "jd": 2458665.5, "mjd": 58665.0, "gpsweek": "2060.1", "dow": 1, "sow": 86400, "hour": 0, "minute": 0, "second": 0, "tag0": 2458483.5, "doy": 182, "iso": "2019-07-01T00:00:00", "isoblank": "2019 07 01 00 00 00", "bdat": "2019-07-01", "yr": 2019.5, "ydoy": "2019.182" }
Der Kataster-Mode unterteilt sich in zwei Schritte. Beim ersten Schritt der Determination werden mit Passpunkten 2d-Transformationsparameter berechnet, die beim zweiten Schritt der Transformation wieder übergeben werden müssen.
POST /at.gv.bev.transformator/api/v1.0/cadastre/determination/ HTTP/1.1 Host: https://transformator.bev.gv.at Content-Type: application/json Authorization: Token YOUR_TOKEN { "source_points": [{Geocentric_Point}, {Geocentric_Point}, ... ] "fix_scale": false, "target_points": [{Projected_Point}, {Projected_Point}, ... ] }
Beispiel in cURl:
curl -X POST \ https://transformator.bev.gv.at/at.gv.bev.transformator/api/v1.0/cadastre/determination/ \ -H 'Content-Type: application/json' \ -H 'Authorization: Token YOUR_TOKEN' \ -H 'Accept: application/json, text/plain, */*' \ -d '{ "source_points": [ { "name": "83015-0041A1", "X": 4217534.793, "Y": 907752.004, "Z": 4682895.595 }, { "name": "83015-0055A2", "X": 4217134.846, "Y": 908663.169, "Z": 4683147.703 }, { "name": "83015-0118A1", "X": 4217871.591, "Y": 908238.154, "Z": 4682584.843 }, { "name": "83015-0119A1", "X": 4217465.299, "Y": 908205.674, "Z": 4682894.753 }, { "name": "83015-0122E1", "X": 4217199.508, "Y": 908041.549, "Z": 4683157.886 }, { "name": "83015-0123E1", "X": 4217416.312, "Y": 908053.186, "Z": 4682952.06 } ], "fix_scale": false, "target_points": [ { "name": "83015-0041A1", "east": -89288.81, "north": 267365.42 }, { "name": "83015-0055A2", "east": -88309.11, "north": 267667.56 }, { "name": "83015-0118A1", "east": -88892.5, "north": 266831.07 }, { "name": "83015-0119A1", "east": -88830.98, "north": 267337.46 }, { "name": "83015-0122E1", "east": -88929.43, "north": 267733.82 }, { "name": "83015-0123E1", "east": -88968.22, "north": 267437.31 } ] }'
Ergebnis:
{ "meta": { "request_url": "/api/v1.0/cadastre/determination/", "user": "anonymous", "token": "YOUR_TOKEN", "datetime": "2019-06-24 12:25:05.784785+00:00", "points": 1, "report_key": "191af9f0967b11e9a9180242ac190004" }, "result": { "s02": 0.0004, "params": { "translation_east": -0.3934, "translation_north": 0.136, "rotation": -0.00005469, "scale": 1.00000211, "centroid_east": -88869.4483, "centroid_north": 267395.304 }, "sigmas": { "translation_east": 0.0129, "translation_north": 0.0129, "scale": 0.00003126, "rotation": 0.00003126, "centroid_east": null, "centroid_north": null }, "residuals": [ { "name": "83015-0041A1", "east": 0.052, "north": -0.033, "height": 600.658 }, { "name": "83015-0055A2", "east": 0.028, "north": 0.006, "height": 652.211 }, { "name": "83015-0118A1", "east": -0.028, "north": 0.011, "height": 662.773 }, { "name": "83015-0119A1", "east": -0.017, "north": 0.016, "height": 618.634 }, { "name": "83015-0122E1", "east": -0.01, "north": 0.025, "height": 614.034 }, { "name": "83015-0123E1", "east": -0.025, "north": -0.024, "height": 606.913 } ], "improvements": [ { "name": "83015-0041A1", "east": 3.2, "north": -2 }, { "name": "83015-0055A2", "east": 2.1, "north": 0.4 }, { "name": "83015-0118A1", "east": -1.9, "north": 0.7 }, { "name": "83015-0119A1", "east": -0.9, "north": 0.9 }, { "name": "83015-0122E1", "east": -0.6, "north": 1.5 }, { "name": "83015-0123E1", "east": -1.4, "north": -1.3 } ] } }
Die oben bestimmten Parameter können jetzt verwendet werden um zusätzliche Neupunkte in das System des Katasters zu transformieren.
request:
POST /at.gv.bev.transformator/api/v1.0/cadastre/transformation/ HTTP/1.1 Host: https://transformator.bev.gv.at Content-Type: application/json Accept: application/json, text/plain, */* Authorization: Token YOUR_TOKEN { "helmert_parameter": {4-Parameter}, "use_height_grid": true, "height_shift": false, "source_points": [{Geocentric_Point}, {Geocentric_Point} ] }
Beispiel in cURl:
curl -X POST \ https://transformator.bev.gv.at/at.gv.bev.transformator/api/v1.0/cadastre/transformation/ \ -H 'Accept: application/json, text/plain, */*' \ -H 'Authorization: Token YOUR-TOKEN' \ -H 'Content-Type: application/json' \ -d '{ "helmert_parameter": { "de": -0.3934, "dn": 0.136, "ce": -88869.4483, "cn": 267395.304, "m": 1.00000211, "r": -0.00005469 }, "use_height_grid": true, "height_shift": false, "source_points": [ { "name": "11", "X": 4217645.793, "Y": 907864.004, "Z": 4683006.595 }, { "name": "12", "X": 4217245.846, "Y": 908775.169, "Z": 4683258.703 }, { "name": "13", "X": 4217982.591, "Y": 908350.154, "Z": 4682695.843 }, { "name": "14", "X": 4217576.299, "Y": 908317.674, "Z": 4683005.753 } ] }'
Ergebnis:
{ "meta": { "request_url": "/api/v1.0/cadastre/transformation/", "user": "anonymous", "token": "YOUR_TOKEN", "datetime": "2019-06-25 09:32:31.113754+00:00", "points": 4, "report_key": "27a779b6972c11e99c910242ac190004" }, "result": { "points": { "type": "FeatureCollection", "props": { "representation": "Projected", "array_columns": [ "Name", "East", "North", "Height" ], "units": [ "Name", "Rechtswert [m]", "Hochwert [m]", "Hoehe [m]" ] }, "features": [ { "type": "Feature", "geometry": { "type": "Point", "coordinates": [ -89202.98, 267341.559, 819.469 ] }, "properties": { "name": "11", "crs": "MGI_GK_GK_AUTO" } }, { "type": "Feature", "geometry": { "type": "Point", "coordinates": [ -88223.333, 267643.729, 871.026 ] }, "properties": { "name": "12", "crs": "MGI_GK_GK_AUTO" } }, { "type": "Feature", "geometry": { "type": "Point", "coordinates": [ -88806.762, 266807.268, 881.594 ] }, "properties": { "name": "13", "crs": "MGI_GK_GK_AUTO" } }, { "type": "Feature", "geometry": { "type": "Point", "coordinates": [ -88745.232, 267313.648, 837.449 ] }, "properties": { "name": "14", "crs": "MGI_GK_GK_AUTO" } } ] } } }
Berechnung eigener Transformationsparameter für die ebene oder die räumliche Helmert-Transformation aus Identpunkten. Bitte geben Sie mindestens 2 Punkte für die Bestimmung der Parameter für 2D-Bestimmung ein. Die Identpunkte werden nicht über die Reihenfolge sondern über den Punktnamen miteinander verknüpft.
Beispiel mit drei Identpunkten:
curl -X POST \ https://transformator.bev.gv.at/at.gv.bev.transformator/api/v1.0/helmert/2d/determination/ \ -H 'Accept: application/json, text/plain, */*' \ -H 'Authorization: Token YOUR_TOKEN' \ -H 'Content-Type: application/json' \ -d '{ "source_points": [ { "name": "P1", "east": 12.341, "north": 44.591 }, { "name": "P2", "east": 10.491, "north": 55.194 }, { "name": "P3", "east": 11.149, "north": 29.482 } ], "target_points": [ { "name": "P1", "east": 36.852885, "north": 100.282425 }, { "name": "P2", "east": 35.002608, "north": 110.885403 }, { "name": "P3", "east": 35.66127, "north": 85.173358 } ] }'
Ergebnis:
meta: siehe oben
result:
{ "meta": { "request_url": "/api/v1.0/helmert/2d/determination/", "user": "anonymous", "token": "YOUR_TOKEN", "datetime": "2019-06-25 11:11:40.802495+00:00", "points": 1 }, "result": { "params": { "translation_east": 24.5119, "translation_north": 55.6914, "rotation": 0.00002568, "scale": 1.00000241 }, "sigmas": { "translation_east": 0, "translation_north": 0, "scale": 1e-8, "rotation": 1e-8 }, "s02_posteriori": 1.4075506643740682e-14, "s02_apriori": 1 } }
Für die Bestimmung von 7-Parametern, also mit 3-dimensionalen Eingangspunkten ist der request vom Prinzip ident zu der 2d-Variante aufgebaut. Die einzelnen Punkte sind hier allerdings Geocentric_Points.
Beispiel
curl -X POST \ https://transformator.bev.gv.at/at.gv.bev.transformator/api/v1.0/helmert/3d/determination/ \ -H 'Accept: application/json, text/plain, */*' \ -H 'Authorization: Token YOUR_TOKEN' \ -H 'Content-Type: application/json' \ -d '{ "source_points": [ { "name": "Punkt1", "X": 13.14, "Y": 25.26, "Z": 39 }, { "name": "Punkt2", "X": 34.35, "Y": 67.68, "Z": 112 }, { "name": "Punkt3", "X": 35.35, "Y": 68.68, "Z": 113 } ], "target_points": [ { "name": "Punkt1", "X": 47, "Y": 11, "Z": 78 }, { "name": "Punkt2", "X": 48, "Y": 20, "Z": 111 }, { "name": "Punkt3", "X": 49, "Y": 21, "Z": 112 } ] }'
Ergebnis
{ "meta": { "request_url": "/api/v1.0/helmert/3d/determination/", "user": "anonymous", "token": "YOUR_TOKEN", "datetime": "2019-06-29 09:35:18.328697+00:00", "points": 1 }, "result": { "params": { "translation_x": 45.8768, "translation_y": 4.8599, "translation_z": 59.8545, "rotation_x": -0.27320539, "rotation_y": 0.10319804, "rotation_z": -0.26286031, "scale": 0.39126504 }, "sigmas": { "translation_x": 2.3852, "translation_y": 1.6855, "translation_z": 0.896, "scale": 0.00765225, "rotation_x": 0.26448941, "rotation_y": 0.52256488, "rotation_z": 0.89470661 }, "s02_posteriori": 0.3012928555894006, "s02_apriori": 1 } }
Die Helmert Transformation passiert mit der Eingabe von 4 Parametern im 2-dimensionalen Fall, oder 7 Parametern im 3-dimensionalen Fall. Zusätzlich müssen die zu transformierenden Punkte angegeben werden. Die Ergebnisse aus der Helmert-Determination können direkt übergeben werden.
curl -X POST \ https://transformator.bev.gv.at/at.gv.bev.transformator/api/v1.0/helmert/2d/transformation/ \ -H 'Accept: application/json, text/plain, */*' \ -H 'Authorization: Token YOUR_TOKEN' \ -H 'Content-Type: application/json' \ -d '{ "de": 24.5119, "dn": 55.6914, "m": 1.00000241, "r": 0.00002568, "points": [ { "name": "Punkt1", "east": 10, "north": 10 } ] }'
Ergebnis
{ "meta": { "request_url": "/api/v1.0/helmert/2d/transformation/", "user": "anonymous", "token": "YOUR_TOKEN", "datetime": "2019-07-01 06:41:09.491230+00:00", "points": 1 }, "result": { "points": { "type": "FeatureCollection", "props": { "representation": "Projected", "array_columns": [ "Name", "East", "North" ], "units": [ "Name", "Rechtswert [m]", "Hochwert [m]" ] }, "features": [ { "type": "Feature", "geometry": { "type": "Point", "coordinates": [ 34.512, 65.692 ] }, "properties": { "name": "Punkt1", "crs": "Target System" } } ] } } }
Die Punkte müssen wieder als Geocentric\_Point übergeben werden.
curl -X POST \ https://transformator.bev.gv.at/at.gv.bev.transformator/api/v1.0/helmert/3d/transformation/ \ -H 'Accept: application/json, text/plain, */*' \ -H 'Authorization: Token YOUR_TOKEN' \ -H 'Content-Type: application/json' \ -d '{ "dx": 45.8768, "dy": 4.8599, "dz": 59.8545, "m": 0.39126504, "rx": -0.27320539, "ry": 0.10319804000000002, "rz": -0.26286031, "points": [ { "name": "GRAZ 11001M002", "X": 4194423.59769, "Y": 1162702.92694, "Z": 4647245.55073 } ] }'
Ergebnis
{ "meta": { "request_url": "/api/v1.0/helmert/3d/transformation/", "user": "anonymous", "token": "YOUR_TOKEN", "datetime": "2019-07-01 06:44:10.769107+00:00", "points": 1 }, "result": { "points": { "type": "FeatureCollection", "props": { "representation": "Geocentric", "array_columns": [ "Name", "X", "Y", "Z" ], "units": [ "Name", "X [m]", "Y [m]", "Z [m]" ] }, "features": [ { "type": "Feature", "geometry": { "type": "Point", "coordinates": [ 1403651.5903, 323265.2224, 2032766.0658 ] }, "properties": { "name": "GRAZ 11001M002", "crs": "Target System" } } ] } } }
Im Advanced Mode ist man von der Berechnung am freisten. Es können sämtliche Kombinationen von Koordinatensystemelementen frei kombiniert werden. Abhängig von der Wahl des „source\_crs“ wird entschieden welche Punkte verwendet werden. Ist also Beispielsweise im „source\_crs“ frame, epoch, ellipsoid und prime\_meridian definiert, dann werden für die Berechnung nur die Punkte unter „points\_geographic“ verwendet.
Aufbau des calls
POST /api/v1.0/advanced/ HTTP/1.1 Host: https://transformator.bev.gv.at Accept: application/json, text/plain, */* Content-Type: application/json;charset=UTF-8 { "source_crs": {crs}, "target_crs": {crs}, "points_projected": [{Projected_Point}, {Projected_Point}, ...], "points_geographic": [{Geographic_Point}, {Geographic_Point}, ...], "points_geocentric": [{Geocentric_Point}, {Geocentric_Point}, ...] }
Beispiel
curl -X POST \ https://transformator.bev.gv.at/api/v1.0/advanced/ \ -H 'Accept: application/json, text/plain, */*' \ -H 'Content-Type: application/json;charset=UTF-8' \ -H 'Authorization: Token YOUR_TOKEN' \ -d '{ "points_geocentric": [ { "name": "GRAZ 11001M002", "X": 4194423.59769, "Y": 1162702.92694, "Z": 4647245.55073 } ], "source_crs": { "frame": 110, "epoch": 2000 }, "target_crs": { "ellipsoid": "EPSG::7030", "frame": 302, "prime_meridian": "EPSG::8901", "epoch": 2002.56 } }'
Ergebnis Unter {result.points.features.geometry.velocities} sind die Geschwindigkeiten des Punktes angegeben. Unter {result.points.features.geometry.coordinates} werden die 3d-Koordinatenwerte zurückgegeben. Unter {result.points.props.units} werden die Bezeichnungen und Einheiten der Werte in der Reihenfolge Punktname, 3 Koordinatenkomponenten, 3 Geschwindigkeitskomponenten beschrieben.
{ "meta": { "datetime": "2019-06-29 09:57:22.046177+00:00", "token": "YOUR_TOKEN", "points": 1, "user": "anonymous", "request_url": "/at.gv.bev.transformator/api/v1.0/advanced/" }, "result": { "points": { "type": "FeatureCollection", "features": [ { "geometry": { "velocities": [ 0.0001, -0.0013, -0.0007 ], "type": "Point", "coordinates": [ 15.493484001, 47.067131879, 538.292 ] }, "type": "Feature", "properties": { "crs": "WGS84", "name": "GRAZ 11001M002", "velocity_units": "m/year" } } ], "props": { "array_columns": [ "Name", "Lon", "Lat", "Ele", "v_Lon", "v_Lat", "v_Ele" ], "ellipsoid": { "a": 6378137, "name": "WGS84", "key": "EPSG::7030", "f": 0.0033528106647474805 }, "height_sytem": null, "frame": { "group": "UNGROUPED", "name": "WGS84", "key": 302 }, "epoch": { "value": 2002.56, "format": "decimal" }, "units": [ "Name", "Lon [deg]", "Lat [deg]", "Ele [m]", "v_Lon [m/year]", "v_Lat [m/year]", "v_Ele [m/year]" ], "representation": "Geographic", "geoid": null, "projection": null } } } }
Der Austrian Mode ist eine Sonderform des Advanced Modes und beschreibt die in Österreich am häufigsten benötigte Umrechnung zwischen ETRS und MGI. Für die Umrechnung können entweder die flächenbasierte Transformation mit dem GIS-Grid oder die Transformation mit dem österreichweit gültigen 7-Parametern des BEVs verwendet werden.
Wird zB benötigt um mit GNSS bestimmte Koordinaten in Mapping-Koordinaten zu transformieren.
Aufbau des requests Die Eingabe der Parameter gibt an welche Art von Koordinaten transformiert werden. Es können nur entweder geographische oder geozentrische Koordinaten transformiert werden. Davon abhängig sind auch weitere Parameter zu setzen.
POST /api/v1.0/austrian/etrs2mgi HTTP/1.1 Host: https://transformator.bev.gv.at Accept: application/json, text/plain, */* Content-Type: application/json;charset=UTF-8 { "height_in": {height}, "height_out": {height}, "use_grid": [true/false], "meridian": {meridian}, "source_geographic": [{Geographic_Point}, {Geographic_Point}, ...], "source_geocentric": [{Geocentric_Point}, {Geocentric_Point}, ...] }
Beispiel
curl -X POST \ https://transformator.bev.gv.at/api/v1.0/austrian/etrs2mgi/ \ -H 'Accept: application/json, text/plain, */*' \ -H 'Authorization: Token YOUT_TOKEN' \ -H 'Content-Type: application/json' \ -d '{ "source_geocentric": [], "source_geographic": [ { "name": "T270-6", "lon": 15.28122821, "lat": 48.829794943, "ele": 549.967 } ], "source_projected": [], "use_grid": true, "height_in": "ellps", "height_out": "usage", "meridian": "GK_M34" }'
Ergebnis
{ "meta": { "request_url": "/api/v1.0/austrian/etrs2mgi/", "user": "anonymous", "token": "YOUR_TOKEN", "datetime": "2019-06-29 10:23:39.669049+00:00", "points": 1 }, "result": { "points": { "type": "FeatureCollection", "props": { "representation": "Projected", "array_columns": [ "Name", "East", "North", "Height" ], "units": [ "Name", "Rechtswert [m]", "Hochwert [m]", "Hoehe [m]" ] }, "features": [ { "type": "Feature", "geometry": { "type": "Point", "coordinates": [ -77236.423, 5410680.525, 549.967 ] }, "properties": { "name": "T270-6", "crs": "GK_M34" } } ] }, "deltas": { "type": "FeatureCollection", "props": { "representation": "Projected", "array_columns": [ "Name", "East", "North", "Height" ], "units": [ "Name", "Rechtswert [m]", "Hochwert [m]", "Hoehe [m]" ] }, "features": [ { "type": "Feature", "geometry": { "type": "Point", "coordinates": [ -81.908, -66.797, 44.67 ] }, "properties": { "name": "T270-6", "crs": "" } } ] } } }
Ist die umgekehrte Variante von „etrs2mgi“. Eingangskoordinaten sind ausschließlich projizierte Koordinaten, die nach geographischen oder geozentrischen Koordinaten transformiert werden können.
Aufbau des requests Die Eingabe der Parameter gibt an welche Art von Koordinaten transformiert werden. Es können nur entweder geographische oder geozentrische Koordinaten transformiert werden. Davon abhängig sind auch weitere Parameter zu setzen.
POST /at.gv.bev.transformator/api/v1.0/austrian/mgi2etrs/ HTTP/1.1 Host: https://transformator.bev.gv.at Content-Type: application/json Accept: application/json, text/plain, */* Authorization: Token YOUR_TOKEN { "source_projected": [{Projected_Point}, {Projected_Point}, ... ], "use_grid": [true/false], "height_in": {height}, "height_out": {height}, "meridian": {meridian} }
Beispiel:
curl -X POST \ https://transformator.bev.gv.at/at.gv.bev.transformator/api/v1.0/austrian/mgi2etrs/ \ -H 'Accept: application/json, text/plain, */*' \ -H 'Authorization: Token YOUR_TOKEN' \ -H 'Content-Type: application/json' \ -d '{ "source_projected": [ { "name": "T270-6", "east": -77154.396, "north": 5410746.933, "height": 503.77 } ], "use_grid": true, "height_in": "ellps", "height_out": "usage", "meridian": "GK_M31" }'
Ergebnis:
{ "meta": { "request_url": "/api/v1.0/austrian/mgi2etrs/", "user": "anonymous", "token": "YOUR_TOKEN", "datetime": "2019-07-01 06:30:08.642167+00:00", "points": 1 }, "result": { "points": { "type": "FeatureCollection", "props": { "representation": "Geographic", "array_columns": [ "Name", "Lon", "Lat", "Ele" ], "units": [ "Name", "Lon [deg]", "Lat [deg]", "Ele [m]" ] }, "features": [ { "type": "Feature", "geometry": { "type": "Point", "coordinates": [ 12.282332881, 48.830402264, 503.77 ] }, "properties": { "name": "T270-6", "crs": "ETRS89" } } ] } } }