Pergunta

-Bref History:-

Eu estava usando o Mapsever, tudo estava funcionando bem, exceto que, quando eu estava desenhando um marcador diretamente em uma camada usando um pixmap, foi cortado entre o ladrilho. Então, decidi mudar para o GeoServer, que parece funcionar corretamente para desenhar ladrilhos, onde você tem alguma imagem/pixmap entre os azulejos.

-Fim da história-

OK, posso me conectar ao meu armazenamento de dados, que é o MS SQL Server 2008 (Express Edition). Talvez eu não consiga mostrar nada no meu mapa do OpenLayer.

Exemplo de ponto no meu banco de dados:

POINT (2.66131 48.8792)
POINT (2.66131 48.8792)
POINT (2.67789 48.8982)
POINT (2.67789 48.8982)
POINT (2.70361 48.9402)
POINT (2.76454 48.9866)

No meu GeoServer 2.0.2, eu realmente uso o estilo padrão para o ponto (ponto quadrado vermelho). O EPSG desses pontos no banco de dados é "4326" e, na configuração do GeoServer, também é 4326 com limites como este:

Min X: 2
Min Y: 46
Max X: 8
Max Y: 50

Eu fiz algo errado para não poder mostrar nenhum ponto?

Editar aqui está a definição da minha mesa

id  int (PK)
lon float
lat float
geom    geometry

Aqui está um exemplo da consulta proveniente de Geoserver:

SELECT "id",CAST("geom".STSrid as VARCHAR) + ':' + "geom".STAsText() as "geom" FROM "TestGeom" WHERE "geom".Filter(geometry::STGeomFromText('POLYGON ((-236.25 -120.234375, -236.25 120.234375, 236.25 120.234375, 236.25 -120.234375, -236.25 -120.234375))', 0)) = 1

Ele retorna uma lista de pontos apenas se eu definir meu EPSG no banco de dados como 0 (eles ainda não aparecem no OpenLayer "Visuew"). Se eu deixar em 4326, ele não retorna nada. O polígono desenhado pelo Geoserver está no EPSG: 0.

Foi útil?

Solução

Para aqueles que encontram o mesmo problema:

Encontrei o motivo pelo qual não estava funcionando. O "nativo-src" não estava se estabelecendo corretamente (na verdade eu não tinha valor). Essa é realmente a principal razão pela qual eu não consegui ver nada. Agora, sem uma boa razão (ou milagre), depois de remover tudo e recriar tudo, agora tenho um valor nativo do SRC e tudo aparece como esperado.

De fato, o banco de dados quando o adicionei ao geoserver, as tabelas foram definidas com EPSG: 0 (padrão para geometria). Mas você precisa mudar o EPSG para 4326 fazendo uma atualização como esta:

update MyTable set MyGeom = geometry::...FromText(MyGeom.STAsText(), 4326)

Depois, remova toda a referência no geoserver à sua mesa. Você realmente precisa recriar tudo do zero. E quando você for adquirido novamente seu banco de dados com sua tabela, ele funcionará. De fato, você verá o "nativo-src" a ser definido por si só, e também poderá clicar no automóvel no automóvel da sua tabela. (Min x, y, max x, y)

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top