Vairāk

Pārvērst SQL Server telpisko tabulu ar nezināmu koordinātu atsauces sistēmu uz GeoJSON ar ogr2ogr


Man ir SQL Server tabula arSTSridno0. Es gribētu pārvērst šo tabulu par GeoJSON, izmantojotogr2ogr. Problēma ir, neskatoties uz konvertēšanu uzEPSG: 4326, iegūtās koordinātas nav derīgas (pārbaudītas, izmantojot GeoJSONLint). GeoJSON failscrstaustiņš kā vēlamo norāda koordinātu atskaites sistēmuCRS84, bet objektu koordinātas ir pārāk lielas.

Funkcijas paraugs parādās šādi:

{"type": "Feature", "properties": {"TR": "00028"}, "geometry": {"type": "Point", "koordinates": [447366.18450000137, -920054.45910000056]}}

Izejas koordinātas, kā redzams iepriekš, ir identiskas ieejai:

atlasiet TR, Shape.STX, Shape.STY no [tabula], kur TR = '00028'

rezultātā:

00028 447366.184500001 -920054.459100001

Es ievadu sekojošoogr2ogrkomanda:

ogr2ogr -f "GeoJSON" "sqlexport.json" "MSSQL: server = [serveris]; datu bāze = [db]; trusted_connection = jā;" -sql "izvēlieties TR, Shape from [table]" -a_srs "EPSG: 4326"

Rediģēt: neskatoties uz to, ka SQL Server norādaSTSrid0, ArcGIS to nolasa kāGCS_North_American_1983:

Pielāgota projekcija: Two_Point_Equidistant False_Easting: 0.0 False_Northing: 0.0 Latitude_Of_1st_Point: 49.0 Latitude_Of_2nd_Point: 49.0 Longitude_Of_1st_Point: -110.0 Longitude_Of_2nd_Point: -77.0 Linear Unit: Meter (1.0) Geographic Coordinate_ System: 0.03 Merimetriskā vienība: algoritms: Atskaites punkts: D_North_American_1983 Sferoīds: GRS_1980 Pusmajora ass: 6378137.0 Puseļa ass: 6356752.314140356 Apgrieztā izlīdzināšana: 298.257222101

Neskatoties uz to, ja es mainīšuogr2ogrkomandu uz šādu:

ogr2ogr -f "GeoJSON" "sqlexport.json" "MSSQL: server = [serveris]; datu bāze = [db]; trusted_connection = jā;" -sql "izvēlieties TR, Shape from [table]" -s_srs "EPSG: 4140" -t_srs "EPSG: 4326"

Koordinātas joprojām paliek nemainīgas.


Lai noteiktu pareizo koordinātu sistēmu ievadītajiem SQL Server datiem, es eksportēju datus kā formas failu un izpildīju šādu komanduprjfails:

gdalsrsinfo [tabula] .prj

Tādējādi tika izveidota šāda virkne PROJ.4:

+proj = tpeqd +lat_1 = 49 +lon_1 = -110 +lat_2 = 49 +lon_2 = -77 +x_0 = 0 +y_0 = 0 +nulles punkts = NAD83 +vienības = m +no_defs

Pēc tam es ievietoju virkni PROJ.4 priekšā-s_srskarogsogr2ogrkomandu šādi:

ogr2ogr -f "GeoJSON" "sqlexport.json" "MSSQL: server = [server]; datu bāze [db]; trusted_connection = jā;" -sql "atlasiet TR, formu no [tabulas]" -s_srs " +proj = tpeqd +lat_1 = 49 +lon_1 = -110 +lat_2 = 49 +lon_2 = -77 +x_0 = 0 +y_0 = 0 +nulles punkts = NAD83 + vienības = m +no_defs "-t_srs" EPSG: 4326 "


Skatīties video: Troubleshooting SQL Server IO PerformanceBottleneck - Part 1 by Amit (Oktobris 2021).