Colegas, olá!
O problema a ser resolvido- obtenção de parâmetros 100% confiáveis para conversão de coordenadas, por exemplo, nos graus cartográficos usuais (WGS84). Os colegas já entenderam o que quero dizer, mas explicarei aos curiosos - o fato é que aplicativos e algoritmos que andam na Internet com parâmetros para recalcular coordenadas, por exemplo, de um extrato do USRN à sua dacha em coordenadas para um receptor GPS, serão esmagadoramente "bastardos no mapa". Procurar um objeto do tamanho de uma casa não será um problema, mas para um empreendimento de engenharia a precisão já é fraca. Por exemplo, queremos marcar os limites do terreno com precisão centimétrica, encontrar um tubo subterrâneo ou um cabo, lançar um drone usando mapas com coordenadas planas, desenhar um desenho em coordenadas planas com uma base cartográfica online da Internet e muito mais, o que requer precisão submétrica.
Por que as coordenadas exatas se tornam imprecisas
As coordenadas do metro plano, que conhecemos por meio de informações sobre nossos imóveis ou de projetos e desenhos, são muito precisas localmente, mas a matemática por si só não é suficiente para ligá-las ao globo. O fato é que o modelo matemático do sistema de coordenadas "plano, metro" de documentos foi implementado pela primeira vez no solo na forma de pontos geodésicos, com a precisão daquelas tecnologias que estavam naquela época (na Federação Russa, a maioria dos sistemas de coordenadas foram desenvolvidos na época soviética e operam até hoje). E só então, a partir desses pontos geodésicos de primeira classe, outros foram criados, a partir desses outros ainda, de todos eles derivados sistemas de coordenadas secretas como o SK63 com voltas e distorções da grade de coordenadas para confundir o inimigo. A cada uma dessas transformações, foram permitidas distorções, insignificantes, mas não crescem linearmente em relação ao número de transformações,mas muito mais progressivo. Como resultado, a maioria das grades de coordenadas agora parecem uma folha ligeiramente amassada e puxada de uma das bordas. É por isso que 99% das geocalculadoras não salvam você da "folha amassada" da grade de coordenadas. Existem vários serviços geodésicos para recálculo de coordenadas, pagos, posso supor que as pessoas lá não contam de acordo com os parâmetros teóricos do sistema de coordenadas, mas possuem todos os parâmetros da "folha amassada". Na maior parte da Federação Russa, é necessário calcular os parâmetros do sistema de coordenadas para pequenos territórios, o raio desses territórios muitas vezes não excede 15 km. Em tais áreas pequenas, a distorção da grade de coordenadas frequentemente não excede um centímetro, o sistema de coordenadas "fica" com muita precisão no globo. Se seu interesse ultrapassa 20-30 km de espaço, então você precisa confiar em vários parâmetros locais de transição para territórios menores,dividir o sistema de coordenadas em subzonas menores.
Reinventando a bicicleta?
Para o propósito de calcular os verdadeiros parâmetros dos sistemas de coordenadas, acaba sendo um "carro" do software. É verdade que esses são geralmente componentes de sistemas de software profissionais complexos e caros para geodésia e cartografia, que nem todos os profissionais precisam, alguns dos softwares rodam em Windows com formatos de arquivo incompreensíveis e difíceis de usar. Existem mais opções de linha de comando. Inspirados por um artigo em um fórum de perfil, decidimos escrever nosso próprio software com blackjack e a web.
Vou te contar brevemente como funciona
Para calcular os parâmetros, precisamos de três pontos (tantos quanto possível, será mais preciso) em dois sistemas de coordenadas, no WGS e no mesmo sistema de coordenadas local, cujos parâmetros você deseja saber. Tomamos coordenadas de metros planos de catálogos, planos cadastrais de territórios, cartões de referência, etc. Coordenadas de grau ou das mesmas fontes, ou frequentemente usamos as coordenadas de estações base GNSS, ou pegamos um receptor de satélite e simplesmente medimos esses pontos conhecidos em coordenadas planas.
O formulário da web calcula os parâmetros do sistema de coordenadas e os exibe em dois formatos populares que são aplicáveis em 99% dos sistemas GIS - proj string e WKT.
Aqui estão algumas histórias sobre os próprios parâmetros e um pouco de terminologia
Muitas letras incompreensíveis
, . x,y,z lat long h. h , , , ( ).
— «». , . , , .
() — , . , , ..
, . PROJ4 (MapInfp, ArcGIS . . , ): +proj=omerc +lat_0=59.8338730825 +lonc=33 +alpha=-0.0001 +gamma=-1.771957267229058 +k=0.9996584453038837 +x_0=2365031.423134961 +y_0=426397.2888527482 +ellps=krass
(+ellps=krass)— . : , , . . . , 42 .
(+proj=omerc) — . « », , .
. , , , . . . , 42 . (omerc).
(+lat_0=59.8338730825 +lonc=33) — , « » ( ), . . .
(+alpha=-0.0001 +gamma=-1.771957267229058) .
(+k=0.9996584453038837), . , . , .
(+x_0=2365031.423134961 +y_0=426397.2888527482), .
— «». , . , , .
() — , . , , ..
, . PROJ4 (MapInfp, ArcGIS . . , ): +proj=omerc +lat_0=59.8338730825 +lonc=33 +alpha=-0.0001 +gamma=-1.771957267229058 +k=0.9996584453038837 +x_0=2365031.423134961 +y_0=426397.2888527482 +ellps=krass
(+ellps=krass)— . : , , . . . , 42 .
(+proj=omerc) — . « », , .
. , , , . . . , 42 . (omerc).
(+lat_0=59.8338730825 +lonc=33) — , « » ( ), . . .
(+alpha=-0.0001 +gamma=-1.771957267229058) .
(+k=0.9996584453038837), . , . , .
(+x_0=2365031.423134961 +y_0=426397.2888527482), .
Baseado em pacotes de código aberto -
- proj4 para transformações geodésicas
- Folheto para exibir informações no mapa
- geophp para calcular a área de efeito de parâmetros com precisão de centímetros (no momento da redação deste artigo, não implementado)
O código-fonte do formulário da web está disponível sob a licença AGPL no repositório aberto .
Discussão sobre a forma web do tutu.