Vairāk

SRID (Update_GeometrySRID) atjaunināšana nemaina daudzstūrus (kad vajadzētu)

SRID (Update_GeometrySRID) atjaunināšana nemaina daudzstūrus (kad vajadzētu)


Es mēģinu mainīt daudzstūru slāņa SRID, bet man ir problēmas vizualizēt rezultātu.

SRID ir nepareizi ziņots par formas failu, ko izmantoju, lai importētu PostGIS. Metadati norāda, ka atsauces sistēma ir SIRGAS2000 (srid 4674). Tomēr, skatoties uz to, kā dati tiek “novirzīti” (skat. Attēlu), man ir aizdomas, ka patiesais SRID varētu būt 4618 (SAD69)

Tāpēc es mēģināju atjaunināt SRID (nemainot pamatā esošos punktus utt.) Postgis:

IZVEIDOT TABULU setor_censitario_2 kā atlasīt * no setor_censitario SELECT UpdateGeometrySRID ('setor_censitario_2', 'geom', 4618)

un salīdzināja SRID atjaunināšanas daudzstūru rezultātus ar sākotnējiem daudzstūriem Qgis.

Nekas nemainījās, abi slāņi šķiet identiski.

Tas mani mulsināja. Vai viņiem nevajadzēja mainīties? Abu "datu" (SIRGAS2000 un SAD69) parametri patiešām ir nenozīmīgi atšķirīgi. Tātad, lai pārliecinātos, ka SRID maiņa nav uzskatāma par nekaitīgu, es ST_Tranformed the geom:

izveidot tabulu setor_censitario_4 kā atlasītu ģeomu, ST_Transform (geom, 4291) kā geom4291Transf, ST_Transform (geom, 4618) kā geom4618Tranf no setor_censitario

tagad jaunais ģeoms atšķiras no sākotnējā. ST_Transform, protams, nav tā korekcija, ko es vēlos (patiesībā es dubultoju problēmas apjomu).

Tātad, kāpēc Update_GeometrySRID nemaina daudzstūru atrašanās vietu Qgis?

Formas fails ir pieejams vietnē: ftp://geoftp.ibge.gov.br/malhas_digitais/censo_2010/setores_censitarios/ba.zip pēc tam, kad esmu atšifrējis, importēju ar:

shp2pgsql -c -s -I -W LATIN1 faila publiskā shēma.tabula…

ATJAUNINĀT:

  • sekojot [UpdateGeometrySRID palīdzībai] (http://postgis.org/docs/UpdateGeometrySRID.html), es arī mēģināju:

    CREATE TABLE setor_censitario_3 as select * from setor_censitario ALTER TABLE setor_censitario_3 ALTER COLUMN geom TYPE geometry (MULTILINESTRING, 4326) USING ST_SetSRID (geom, 4326);

rezultāti ir vienādi (daudzstūri Qgis nepārvietojas)

UPTADE 2:

Es arī mēģināju atjaunināt SRID tieši PostGIS, taču tas nemainīja daudzstūru pozīciju.

Lai situāciju reproducētu tieši programmā Ggis, lejupielādējiet šo failu: ftp://geoftp.ibge.gov.br/malhas_digitais/censo_2010/setores_censitarios/ba.zip unzip un atveriet vietni QSE 29SEE250GC_SIR.shp.

Pēc tam fonam pievienojiet Open Street Maps Streets slāni (es to neesmu darījis, bet, manuprāt, to var izdarīt vai nu līdz Vektors> Atvērt ielu karti> Lejupielādēt datus ar atvērto slāņu spraudni). Vai satelīta attēls no google (arī Open Layers).

Tuvinot šo vietu: lon -38.47761, lat -13.01077, Mērogs 1: 8000, jums vajadzētu redzēt kaut ko līdzīgu šim attēlam:

  • Zaļš: daudzstūri, kurus vēlos labot. To perimetri ir jānosaka dažām ielām (daudzstūri var ietvert vairāk nekā vienu pilsētas kvartālu).
  • Sarkans: OSM ielas (kas, manuprāt, ir pareizi)

ievērojiet, kā zaļais slānis ir izmežģīts "ziemeļaustrumos" no sarkanā.

3. ATJAUNINĀJUMS: SRID maiņa uz citām prognozēm dara mainīt daudzstūru pozīciju. Piemēram, mainot SRID no 4674 (Sirgas 2000) uz 4225 (Córrego Alegre, arī vecāka Brazīlijas projekcija), daudzstūri tiek pārvietoti uz dienvidiem apmēram 50 m. Tikai konkrētajā gadījumā no 4674 līdz 4618 viņi nepārvietojas.


Labāks veids, kā izpētīt mainīgās prognozes, ir tikai strādāt QGIS.

Ielādējiet abas savas datu kopas un pārliecinieties, ka jūsu “pareizajai” ir definēta pareizā koordinātu sistēma. Dariet to, veicot dubultklikšķi uz slāņa, dodoties uz rekvizītu vispārīgo cilni un pārliecinoties, ka koordinātu atsauces sistēma ir iestatīta pareizi.

Tagad pārliecinieties, vai esat iespējojis “lidojuma laikā” pārplānošanu. To var izdarīt galvenā skata apakšējā labajā stūrī vai projekta rekvizītos. Atzīmējiet izvēles rūtiņu, kas iespējo lidojuma pārplānošanu, un izmantojiet to pašu koordinātu atsauces sistēmu, ko izmantojāt savam “pareizajam” slānim.

Tagad jums ir darbvieta, kas pārprojektēs visus pievienotos datus tajā pašā DRS, kurā ir jūsu galvenie dati. Tāpēc pievienojiet savu “nenoteikto” slāni un, ja maināt šī slāņa DRS (veiciet dubultklikšķi uz slāņa, pārejiet uz vispārīgo, mainiet DRS), tad tas tiks pārvietots tajā pašā DRS, kurā atrodas jūsu darbvieta. Tātad, ja izvēlaties pareizo DRS, tas izlīdzināsies.

Kad jūs zināt, kādam DRS tam vajadzētu būt, dodieties uz PostGIS un atjauniniet to tur. Vai arī atgriezieties un ielādējiet to ar argumentu “-s 4618”.