Mais

Convertendo dados sqlite (spatialite) em oracle sdo_geometry (usando .NET)


Usando o .NET, tenho um arquivo sqlite que preciso importar para o oracle. A geometria precisa ser convertida de coluna de geometria sqlite (espacialite) para coluna sdo_geometry no oracle:

// Loop através de todos os registros no arquivo sqlite foreach (DataRow row in dsSqLite.Tables ["Default"]. Rows) {// Obtenha o campo de geometria do sqlite e prepare-o para o formato oracle NetSdoGeometry.sdogeometry geom = row ["GEOMETRY" ]; // ERROR HERE}

Quando eu executo o acima, recebo um erro "Não é possível lançar o objeto do tipo 'System.Byte []' para digitar 'NetSdoGeometry.sdogeometry'. Também não vejo onde especificar o SRID. Alguém sabe a maneira correta de fazer converter a coluna de geometria de espacialite para oracle sdo_geometry?

Referências: Biblioteca NetSdoGeometry: https://github.com/mapspiral/NetSdoGeometry


Pelo que vejo, NetSdoGeometry funciona apenas LENDO geometrias do Oracle em algum objeto .net. Não vejo um lugar onde isso aconteça.

Talvez uma solução muito mais simples seja usar gdal (ogr2ogr) para copiar o conteúdo do sqlite para o Oracle. Consulte http://www.gdal.org/drv_sqlite.html para obter detalhes sobre esse driver.


Use SCOPE_IDENTITY () se você estiver inserindo uma única linha e quiser recuperar o ID que foi gerado.

Use a cláusula OUTPUT se você estiver inserindo várias linhas e precisar recuperar o definir de IDs que foram gerados.

e por que essa é a melhor opção mais rápida?

Desempenho à parte, esses são os únicos que têm a garantia de estar corretos no nível de isolamento padrão e / ou com vários usuários. Mesmo se você ignorar o aspecto de correção, o SQL Server mantém o valor inserido em SCOPE_IDENTITY () na memória, então, naturalmente, isso será mais rápido do que ir e executar sua própria consulta isolada na tabela ou nas tabelas do sistema.

Ignorar o aspecto da correção é como dizer ao carteiro que ele fez um bom trabalho na entrega da correspondência de hoje - ele terminou sua rota 10 minutos mais rápido do que seu tempo médio, o problema é que nenhuma correspondência foi entregue na casa certa.

Não faça use qualquer um dos seguintes:

  • @@ IDENTITY - uma vez que não pode ser usado em todos os cenários, por exemplo, quando uma tabela com uma coluna de identidade tem um gatilho que também se insere em outra tabela com sua própria coluna de identidade - você obterá o valor errado de volta.
  • IDENT_CURRENT () - Eu entro em detalhes sobre isso aqui, e os comentários são uma leitura útil também, mas essencialmente, em simultaneidade, você frequentemente obterá a resposta errada.
  • MAX () ou TOP 1 - você teria que proteger as duas instruções com isolamento serializável para garantir que o MAX () obtido não fosse de outra pessoa. Isso é muito mais caro do que apenas usar SCOPE_IDENTITY ().

Essas funções também falham sempre que você insere duas ou mais linhas e precisa de todos os valores de identidade gerados - sua única opção é a cláusula OUTPUT.


Convertendo dados sqlite (spatialite) em oracle sdo_geometry (usando .NET) - Sistemas de Informação Geográfica

Koordinat2 WebApp (https://dominoc925-pages.appspot.com/webapp/koordinat2/default.html) foi desenvolvido usando ReactJS e WebAssembly para converter geo-coordenadas e mostrá-las em um mapa. O WebApp usa Proj4 no backend para realizar a conversão de projeção e conversão de datum, portanto, ele suporta mais de mil sistemas de referência de coordenadas.

Usando o Koordinat2 WebApp é fácil. A seguir, veja o que pode ser feito com o WebApp.

    Usando um navegador moderno, abra o Koordinat2 WebApp neste url https://dominoc925-pages.appspot.com/webapp/koordinat2/default.html

A página WebApp é exibida.

Escolhendo Sistemas de Coordenadas

    Para definir o sistema de coordenadas de entrada primária, clique no engrenagem ícone no Coordenadas de entrada painel.

A caixa de diálogo Selecionar Sistema de Coordenadas de Origem aparece.

Uma ou mais entradas são listadas.

O sistema de coordenadas selecionado é escolhido.

Convertendo Coordenadas

    Para converter coordenadas no Coordenada de entrada sistema, digite o Easting e Afastamento para o norte (ou Latitude e Longitude) valores nos campos de entrada correspondentes.

As coordenadas convertidas são exibidas imediatamente nos campos Coordenadas de saída Longitude e Latitude (ou campos Leste e Norte).

Um marcador correspondente também é criado no mapa apontando para a localização da coordenada.

Exibindo Coordenadas de Localização do Mapa

    Para exibir coordenadas de locais no mapa, simplesmente clique no local do mapa com o mouse.

Um marcador é colocado no local clicado.

    Na barra de ferramentas no canto superior direito, clique no Rede ícone.

A caixa de diálogo Selecionar Configurações de Grade aparece.

Selecionando uma Camada Base

    Na barra de ferramentas no canto superior direito, clique no Camada ícone.


Convertendo dados sqlite (spatialite) em oracle sdo_geometry (usando .NET) - Sistemas de Informação Geográfica

GIS ObjectLand é um Sistema de Informação Geográfica universal para Windows. Recursos principais: - criação de mapas vetoriais raster com estrutura arbitrária de camadas e tipos de recursos - criação de temas. Tema é uma apresentação do usuário de um mapa - controle de exibição de feições dependendo da escala escolhida - entrada e edição de dados espaciais através da atribuição de feições. Download gratuito de GIS ObjectLand 2.6.5, tamanho 24,76 Mb.

Conversão de Algolab Raster em Vetor CAD / GIS SDK 2.55 AlgoLab Inc.

Kit de desenvolvimento de software para CAD / CAM / GIS e desenvolvedores de software gráfico. Converte de raster em vetor e refina arquiteto, mecânico, desenho técnico, mapas, gráficos matemáticos, gráficos para livros e periódicos e muito mais. ActiveX e Com Component também estão disponíveis. Refina gráficos vetoriais, cria linhas e formas finas. Os desenhos digitalizados são reconhecidos. Download grátis de Algolab Raster para Conversão de Vetor CAD / GIS SDK 2,55, tamanho 2,87 Mb.

AvisMap GIS Engine 5.0.1 AvisMap GIS Technologies

AvisMap GIS Engine é um SDK abrangente para o desenvolvimento de GIS aplicações e soluções. Este SDK fornece vários controles ActiveX (OCX) que suportam Visual Basic, VB.NET, C #, Visual C ++ e outras linguagens de programação compatíveis com ActiveX, com Microsoft Visual Studio versões 6, 2003, 2005 e Express. Suporta .NET via COM. Enquanto. Download gratuito do AvisMap GIS Engine 5.0.1, tamanho 45,89 Mb.

Canvas GIS Advanced (Mac) 9.0.4 Sistemas ACD

O CANVAS 9 Advanced GIS Mapping Edition adiciona suporte nativo para Sistema de Informação Geográfica (GIS) dados para o Canvas. Você pode fazer medições em coordenadas geográficas, importar arquivos SHAPE e GeoTIFF padrão da indústria em um número ilimitado de camadas sobrepostas alinhadas automaticamente e escolher entre as seguintes opções: E2,104 Coordenadas. Download grátis do Canvas GIS Advanced (Mac) 9.0.4, tamanho 54.42 Mb.

Canvas GIS Mapping Edition (Mac) 9.0.4 Sistemas ACD

CANVAS 9 GIS Mapping Edition adiciona suporte nativo para Sistema de Informação Geográfica (GIS) dados para o Canvas. Você pode fazer medições em coordenadas geográficas, importar arquivos SHAPE e GeoTIFF padrão da indústria em números ilimitados de camadas sobrepostas alinhadas automaticamente e escolher entre as seguintes opções: 2.104 Referência de Coordenadas. Download gratuito do Canvas GIS Mapping Edition (Mac) 9.0.4, tamanho 54,42 Mb.

CMS Xpandy desenvolvido por IntelliCAD 6.3 CAD Manufacturing Solutions, Inc.

Se você não conseguir comprar o mais recente Intellicad Tecnologia, então você encontrou o software certo. CMS Xpandy desenvolvido por IntelliCAD 6.3 A tecnologia permite que você use livremente um confiável IntelliCAD aplicativo CAD baseado em. Você também pode criar e publicar seus próprios anúncios usando a tecnologia Xpandy. Requisitos extras do sistema: Microsoft .NET 2.0 Framework e um. Download freeware do CMS Xpandy Powered by IntelliCAD 6.3, tamanho 54,78 Mb.

ProgeCAD Standard IntelliCAD Software 2011 CADDIT CAD Software

progeCAD IntelliCAD edita arquivos AutoCAD DWG CAD no Windows 7, Windows XP e Vista a um custo mínimo. Edite arquivos do AutoCAD DWG 2010, leitura e gravação DXF. Ícones, comandos e interface semelhantes.IntelliCAD Interpretador AutoLISP, ponto de snap temporário (como oSnap), camadas, blocos. Para desenhos CAD completos, recomendamos fortemente o progeCAD Professional. Download gratuito do software progeCAD Standard IntelliCAD 2011, tamanho 212,46 Mb.

Quantum GIS Tethys 1.5-r13926-1 Equipe de Desenvolvimento QGIS

The Quantum GIS O repositório Tethys contém muitos softwares de projetos OSGeo. Quantum GIS Tethys e todas as dependências estão incluídas, junto com Python, GRASS, GDAL, etc. Isso é mais adequado para pessoas que desejam ser capazes de atualizar as dependências do Quantum GIS Repositório Tethys facilmente. O instalador pode instalar pela Internet ou apenas. Download freeware de Quantum GIS Tethys 1.5-r13926-1, tamanho 377,86 Kb.

My World GIS 4. 1. 2011 Northwestern University

Com o novo conjunto de ícones GIS / GPS / Map Icons-Land Vista, agora é muito mais confortável usar aplicativos de serviço local, rastreamento GPS e GIS aplicativos e qualquer tipo de aplicativos de mapeamento. Os ícones GIS / GPS / Mapa têm como objetivo ajudar os usuários a se orientar ao usar os mapas, para facilitar a busca de objetos definidos e fazer mais mapas. Download grátis de Icons-Land Vista Style Set GIS / GPS / MAP Icon Set 2.0, tamanho 0 b.

Map Suite GIS Editor 6.0.0.227 Beta ThinkGeo LLC

Suite Mapa GIS O Editor é um aplicativo repleto de recursos que permite que professores e alunos elaborem mapas, analisem dados geográficos e os visualizem.

Sua interface intuitiva é útil para iniciantes que desejam se familiarizar com GIS (Sistema de Informação Geográfica), mas a aplicação é complexa o suficiente para deixar muito espaço para ela. Download gratuito do Map Suite GIS Editor 6.0.0.227 Beta, tamanho 0 b.

ProgeCAD 2009 Professional IntelliCAD 2009.0.28.7 iCADsales.com

progeCAD IntelliCAD usa arquivos AutoCAD DWG, sem necessidade de conversão. Windows 7 32, Windows 7 64, sem curva de aprendizado para usuários do AutoCAD. AutoLISP, VBA, programação ADS, importação de PDF, Renderização avançada, Modelagem de sólidos 3D ACIS incluída. Para arquitetos, projetistas de cozinhas e banheiros, civis, elétricos, AEC, MEP e engenheiros estruturais, rodoviários. Download gratuito de progeCAD 2009 Professional IntelliCAD 2009.0.28.7, tamanho 163,28 Mb.

Map Export 2.0.0.0 Offlinesoft

A exportação de mapas é um GIS ferramenta orientada ao desenvolvedor para baixar e exportar imagem de fundo. Por muito tempo, como um GIS desenvolvedor, sabe-se que encontrar imagens de fundo perfeitas é uma tarefa dolorosa e dolorosa. Mas desde o crescimento do Google Map, as coisas mudaram. O Google Map oferece um excelente recurso de imagens de fundo. Download grátis de Map Export 2.0.0.0, tamanho 2,47 Mb.

AGIS para Windows 2002 AGIS Software Pty Ltd

AGIS para Windows é um mapeamento e simples GIS pacote de shareware. Plote seus próprios dados geográficos no mapa-múndi fornecido sem o alto custo e a curva de aprendizado acentuada geralmente associada a esse tipo de software. Crie imagens de alta resolução com qualidade de publicação que podem ser coladas em pacotes populares como o MS Word. Animação, web. Download grátis de AGIS para Windows 2002, tamanho 3,67 Mb.

GStarICAD Std 2007-11-1 Great Star Software Technology Co., Ltd

GStarICAD é baseado em IntelliCAD software, o padrão da indústria para software CAD de baixo custo. GStarICAD é a alternativa inovadora ao AutoCAD que fornece compatibilidade de arquivos OpenDWG, ambiente semelhante, suporte completo para comandos AutoCAD, menus, scripts, estilos, padrões etc. GStarICAD é a versão de qualidade superior do IntelliCAD em todo o mundo, 99%. Download grátis de GStarICAD Std 2007-11-1, tamanho 36,62 Mb.

VSceneGIS Desktop 0.9.2u2 vscenegis.com

Desenvolvimento de Projetos do Cliente, Análise, Computação e GIS edição. VSceneGIS Desktop aplica o conceito de árvore e topologia de gráfico para implementar o modelo de dados em um GIS. Validação, edição e comportamento topológico
Exportação e importação de fontes de dados: PostgreSQL / PostGIS, Oracle, MySQL, SQLite / SpatiaLite, ShapeFile.
Ligação a. Download freeware do VSceneGIS Desktop 0.9.2u2, tamanho 124,16 Mb.

Shape2Earth 1.490 Google

O Shape2Earth aproveita o Sistema de Informação Geográfica disponível gratuitamente e fácil de usar (GIS) software para criar visualizações profissionais para visualização no GoogleTM Earth.

Principais características:
- Converter Qualquer Shapefile em KML - O Shape2Earth reprojeta seus dados em tempo real
-Aplicar Simbologia Temática aos seus Dados - Código de cores para exibir. Download grátis de Shape2Earth 1.490, tamanho 1.48 Mb.

PlanetGIS Explorer 3.0.8.5190 Planet GIS

PlanetGIS Explorer é um visualizador gratuito para mapas PlanetGIS e GIS trocar arquivos. O PlanetGIS Explorer permite que você navegue por mapas, consulte os elementos do mapa e visualize informações de atributos de tabelas de banco de dados vinculadas. Além disso, o PlanetGIS Explorer permite que você personalize a aparência dos mapas para fins de criação de impressões em papel, mas não permite. Download freeware do PlanetGIS Explorer 3.0.8.5190, tamanho 5,68 Mb.

Gismaps Viewer 1. 3. 3524 Gismaps Sistemas Ltda.

Gismaps Viewer é um GIS visualizador que pode ser usado para análise geoespacial e produção de mapas.

As principais características são:
- ler arquivos de forma usando o sistema de coordenadas geográficas
- visualizar imagens de satélite (formatos de arquivo MrSid, jpeg, bmp e tiff)
- gerar mapas temáticos, consultas e rótulos
- exportação do Google Earth KML. Download de freeware do Gismaps Viewer 1. 3. 3524, tamanho 10,65 Mb.

InfoMate 3 1 Compuplot

InfoMate é um ambiente completo de computação de levantamento, redução do trabalho de campo, captura de dados e tradução, voltado para o Governo Local, Agrimensores, Municípios e o GIS comunidade. InfoMate fornece ferramentas para a captura rápida e eficiente de dados espaciais e de atributos. Esses dados são processados, mantidos e apresentados como topologicamente corretos. Download gratuito do InfoMate 3 1, tamanho 32,42 Mb.


Si tienes SQL Server 2008+, puedes convertirlo a DATA:

Si no, puedes convertirlo a un string que contenga sólo el año, mes y día:

Para converter o campo fecha para o formato AAAA-MM-DD no SQL Server 2008 R2, pode usar a função CONVERT con los parámetros siguientes:

Si o formato que quieres es mas bien DD-MM-AAAA, entonces a série desta forma:

¿Cómo puedo obtener fechas sin horas ni minutos em uma consulta de SQL para usar um COUNT?

Si simplemente necesitas la porción fecha sin la hora para poder hacer una cuenta, entonces el formato del campo no tiene importancia. Neste caso, lo mais sencillo es de simplemente hacer un CAST a type DATE:


GeoDjango A : 安装 转载

weixin_30300523

1.: ref: & # 96python24 & # 96 e: ref: & # 96django & # 96 / * 安装 python 平台 及 django 框架 * /
2.: ref: & # 96spatial_database & # 96 / * 空间 数据库 & # xff0c 如 PostgresSQL * /
3.: ref: & # 96geospatial_libs & # 96 / * 空间 类库 * /

Detalhes para cada um dos requisitos e instruções de instalação
são fornecidos nas seções abaixo. Além disso, específico da plataforma
as instruções estão disponíveis para:

.. admoestação :: Use a fonte

Porque GeoDjango tira proveito do que há de mais recente no geoespacial de código aberto
tecnologia de software, são necessárias versões recentes das bibliotecas.
Infelizmente, os pacotes binários não estão disponíveis em muitos sistemas GNU / Linux
(GEOS 3, em particular). Portanto, a & # 96instalação da fonte & # 96_ pode ser necessária.
Ao compilar as bibliotecas da fonte, siga as instruções de perto,
especialmente se você for um iniciante.

.. _instalação da fonte: install.html # building-from-source

Python 2.4 e # 43
-----------
Por causa do uso intenso da sintaxe do decorador, o Python 2.4 é mínimo
versão suportada por GeoDjango. Python 2.5 e # 43 é recomendado porque o
O módulo & # 96ctypes & # 96__ vem incluído, caso contrário, 2.4 usuários precisarão
& # 96faça download e instale ctypes & # 96__.
/ * 推荐 2,5 版本 & # xff0c 否则 需要 安装 ctypes 类库 * /
__ http://docs.python.org/lib/module-ctypes.html
__ http://sourceforge.net/project/showfiles.php?group_id�

Porque GeoDjango está incluído com Django, consulte Django & # 39s
& # 96instruções de instalação & # 96__ para obter detalhes sobre como instalar.

Banco de Dados Espacial
----------------
PostgreSQL (com PostGIS), MySQL e Oracle são os bancos de dados espaciais
atualmente suportado.
/ * 支持 PostgreSQL 、 MySQL 、 Oracle & # xff0c 但 不 支持 SQLServer * /
.. Nota ::

PostGIS é recomendado, porque é o mais maduro e rico em recursos
banco de dados espacial de código aberto.
/ * 此处 使用 推荐 的 PostgreSQL * /
As bibliotecas geoespaciais necessárias para uma instalação do GeoDjango dependem
no banco de dados espacial usado. O seguinte lista os requisitos da biblioteca,
versões suportadas e quaisquer notas para cada um dos
bancos de dados:

Bibliotecas geoespaciais
--------------------
GeoDjango usa e / ou fornece interfaces para o seguinte código aberto
bibliotecas geoespaciais:

Embora GDAL seja opcional, é recomendado porque alguns utilitários GeoDjango e
a funcionalidade depende de sua instalação.

As interfaces GeoDjango para GEOS, GDAL e GeoIP podem ser usadas
independentemente do Django. Em outras palavras, nenhum banco de dados ou arquivo de configurações
necessário - basta importá-los normalmente de & # 96 & # 96django.contrib.gis & # 96 & # 96.

.. _GEOS: geos.html
.. _GDAL: gdal.html
.. _GeoIP: geoip.html

__ http://trac.osgeo.org/proj/
__ http://postgis.refractions.net/

Ao instalar a partir da fonte em sistemas UNIX e GNU / Linux, siga
as instruções de instalação com cuidado e instale as bibliotecas no
dada ordem. Se estiver usando MySQL ou Oracle como banco de dados espacial, apenas GEOS
É necessário.

GEOS é uma biblioteca C & # 43 & # 43 para realizar operações geométricas e é o padrão
representação da geometria interna usada pelo GeoDjango (está por trás do & # 34lazy & # 34
geometrias). Especificamente, a biblioteca C API é chamada (por exemplo, & # 96 & # 96libgeos_c.so & # 96 & # 96)
diretamente do Python usando ctypes.

Primeiro, baixe GEOS 3.0.2 do site de refrações e descompacte o código-fonte
arquivo::

$ wget http://download.osgeo.org/geos/geos-3.0.2.tar.bz2
$ tar xjf geos-3.0.2.tar.bz2

Em seguida, mude para o diretório onde GEOS foi descompactado, execute o configure
script, compilar e instalar ::

$ cd geos-3.0.2
$ ./configure
$ make
$ sudo make install
$ cd ..

Quando GeoDjango não consegue encontrar GEOS, este erro é gerado:

ImportError: Não foi possível encontrar a biblioteca GEOS (tentei & # 34geos_c & # 34). Tente definir GEOS_LIBRARY_PATH em suas configurações.

A solução é configurar corretamente o seu: ref: & # 96libsettings & # 96 * ou * set
: ref: & # 96geoslibrarypath & # 96 em suas configurações.

Se sua biblioteca GEOS está em um local fora do padrão, ou você não deseja
modifique o caminho da biblioteca do sistema e, em seguida, a configuração & # 96 & # 96GEOS_LIBRARY_PATH & # 96 & # 96
pode ser adicionado ao seu arquivo de configurações do Django com o caminho completo para o GEOS
Biblioteca C. Por exemplo::

A configuração deve ser o caminho * completo * para a biblioteca compartilhada ** C ** em
outras palavras que você deseja usar & # 96 & # 96libgeos_c.so & # 96 & # 96, não & # 96 & # 96libgeos.so & # 96 & # 96.

PROJ.4
------
& # 96PROJ.4 & # 96__ é uma biblioteca para converter dados geoespaciais em coordenadas diferentes
sistemas de referência.

Primeiro, baixe o código-fonte do PROJ.4 e os arquivos de mudança de datum [#] _ ::

$ wget http://download.osgeo.org/proj/proj-4.6.1.tar.gz
$ wget http://download.osgeo.org/proj/proj-datumgrid-1.4.tar.gz

Em seguida, descompacte o arquivo do código-fonte e extraia os arquivos de mudança de dados no
& # 96 & # 96nad & # 96 & # 96 subdiretório. Isso deve ser feito * antes * da configuração:

$ tar xzf proj-4.6.1.tar.gz
$ cd proj-4.6.1 / nad
$ tar xzf http://www.cnblogs.com/proj-datumgrid-1.4.tar.gz
$ cd ..

Finalmente, configure, faça e instale o PROJ.4 ::

$ ./configure
$ make
$ sudo make install
$ cd ..

PostGIS
-------
& # 96PostGIS & # 96__ adiciona suporte a objetos geográficos ao PostgreSQL, tornando-o
em um banco de dados espacial. : ref: & # 96geosbuild & # 96 e: ref: & # 96proj4 & # 96 deve ser
instalado antes de construir PostGIS.

O módulo & # 96psycopg2 & # 96_ é necessário para uso como adaptador de banco de dados
ao usar GeoDjango com PostGIS. Assim, o & # 96 & # 96DATABASE_ENGINE & # 96 & # 96
A configuração do Django precisa ser & # 96 & # 96postgresql_psycopg2 & # 96 & # 96.


Primeiro baixe o arquivo fonte e extraia ::

$ wget http://postgis.refractions.net/download/postgis-1.3.3.tar.gz
$ tar xzf postgis-1.3.3.tar.gz
$ cd postgis-1.3.3

Em seguida, encontre o diretório PostgreSQL & # 39s & # 39share & # 39 e especifique-o como a raiz de dados
diretório ao configurar. Isso garante que PostGIS coloque seus arquivos em
um local consistente com a instalação do PostgreSQL ::

$ ./configure --datadir & # 61 & # 96pg_config --sharedir & # 96

$ make
$ sudo make install
$ cd ..

GeoDjango não cria automaticamente um banco de dados espacial. Por favor
consulte a seção sobre: ​​ref: & # 96spatialdb_template & # 96 para obter mais informações.

GDAL
----
& # 96GDAL & # 96__ é uma excelente biblioteca geoespacial de código aberto que oferece suporte para
lendo a maioria dos formatos de dados espaciais vetoriais e raster. Atualmente, apenas GeoDjango
suporta recursos de dados vetoriais GDAL & # 39s [#] _. : ref: & # 96geosbuild & # 96 e: ref: & # 96proj4 & # 96
deve ser instalado antes da construção do GDAL.

Primeiro baixe a última versão GDAL e descompacte o arquivo ::

$ wget http://download.osgeo.org/gdal/gdal-1.5.3.tar.gz
$ tar xzf gdal-1.5.3.tar.gz
$ cd gdal-1.5.3

Configure, faça e instale ::

$ ./configure
$ make # Vá tomar um café, isso demora um pouco.
$ sudo make install
$ cd ..

Como GeoDjango tem sua própria interface Python, as instruções anteriores
não crie vínculos Python próprios da GDAL. As ligações podem ser construídas por
adicionando o sinalizador & # 96 & # 96 - with-python & # 96 & # 96 ao executar & # 96 & # 96configure & # 96 & # 96. Ver
& # 96GDAL / OGR em Python & # 96__ para obter mais informações sobre ligações GDAL & # 39s.

Se você tiver qualquer problema, consulte a seção de solução de problemas abaixo para
sugestões e soluções.

__ http://trac.osgeo.org/gdal/
__ http://trac.osgeo.org/gdal/wiki/GdalOgrInPython

Quando GeoDjango não consegue encontrar a biblioteca GDAL, o sinalizador & # 96 & # 96HAS_GDAL & # 96 & # 96
será falso ::

& gt & gt & gt de django.contrib.gis import gdal
& gt & gt & gt gdal.HAS_GDAL
Falso

A solução é configurar corretamente o seu: ref: & # 96libsettings & # 96 * ou * set
: ref: & # 96gdallibrarypath & # 96 em suas configurações.

Se sua biblioteca GDAL está em um local fora do padrão ou você não deseja
modifique o caminho da biblioteca do sistema e, em seguida, a configuração & # 96 & # 96GDAL_LIBRARY_PATH & # 96 & # 96
pode ser adicionado ao seu arquivo de configurações do Django com o caminho completo para o GDAL
biblioteca. Por exemplo::

Não é possível encontrar arquivos de dados GDAL (& # 96 & # 96GDAL_DATA & # 96 & # 96)

Quando instalado a partir da fonte, o GDAL versões 1.5.1 e anteriores apresentam um bug de autoconf
que coloca os dados no local errado. [#] _ Isso pode levar a mensagens de erro
como isso::

ERRO 4: Impossível abrir o arquivo de suporte EPSG gcs.csv.
.
OGRException: falha OGR.

A solução é definir a variável de ambiente & # 96 & # 96GDAL_DATA & # 96 & # 96 para a localização do
Arquivos de dados GDAL antes de infocar Python (normalmente & # 96 & # 96 / usr / local / share & # 96 & # 96 use
& # 96 & # 96gdal-config --datadir & # 96 & # 96 para descobrir). Por exemplo::

$ export GDAL_DATA & # 61 & # 96gdal-config --datadir & # 96
shell $ python manage.py

Se estiver usando o Apache, você pode precisar adicionar esta variável de ambiente à sua configuração
Arquivo::

SetEnv GDAL_DATA / usr / local / share

Criar um banco de dados espacial com PostGIS é diferente do normal porque
SQL adicional deve ser carregado para ativar a funcionalidade espacial. Por causa de
as etapas deste processo, é melhor criar um modelo de banco de dados que
pode ser reutilizado posteriormente.

Primeiro, você precisa ser capaz de executar os comandos como um banco de dados privilegiado
do utilizador. Por exemplo, você pode usar o seguinte para se tornar o usuário & # 96 & # 96postgres & # 96 & # 96 ::

Quando você for um superusuário do banco de dados, poderá executar os seguintes comandos
para criar um modelo de banco de dados espacial PostGIS ::

$ createdb -E UTF8 template_postgis # Criando o modelo de banco de dados espacial.
$ createlang -d template_postgis plpgsql # Adicionando suporte a linguagem PLPGSQL.
$ psql -d template_postgis -f & # 96pg_config --sharedir & # 96 / lwpostgis.sql # Carregando as rotinas PostGIS SQL
$ psql -d template_postgis -f & # 96pg_config --sharedir & # 96 / spatial_ref_sys.sql
$ psql -d template_postgis -c & # 34GRANT ALL ON geometry_columns TO PUBLIC & # 34 # Permitindo aos usuários alterar tabelas espaciais.
$ psql -d template_postgis -c & # 34GRANT ALL ON spatial_ref_sys TO PUBLIC & # 34

Esses comandos podem ser colocados em um script de shell para uso posterior por conveniência,
o script & # 96create_template_postgis.sh & # 96__ é fornecido aqui.

Posteriormente, você pode criar um banco de dados espacial simplesmente especificando
& # 96 & # 96template_postgis & # 96 & # 96 como o modelo a ser usado (por meio da opção & # 96 & # 96-T & # 96 & # 96) ::

$ createdb -T template_postgis -U postgres -O & ltdb usuário & gt & ltdb nome & gt

O comando & # 96 & # 96createdb & # 96 & # 96 ainda deve ser executado com as permissões de um
superusuário do banco de dados (daí a opção & # 96 & # 96-U postgres & # 96 & # 96). O dono do banco de dados
(Opção & # 96 & # 96-O & # 96 & # 96) é o usuário do banco de dados que possuirá o novo banco de dados de que você pode precisar
para criar com o comando & # 96 & # 96createuser & # 96 & # 96 se ele não existir.

Como outros aplicativos de contribuição do Django, você * só * precisará adicionar
& # 96 & # 96django.contrib.gis & # 96 & # 96 a & # 96 & # 96INSTALLED_APPS & # 96 & # 96 em suas configurações. Isto é o
para que os modelos & # 96 & # 96gis & # 96 & # 96 possam ser localizados - se não for feito, recursos como
o administrador geográfico ou os mapas do site KML não funcionarão corretamente.

Para usar o administrador geográfico com a camada de base do OpenStreetMap
(por exemplo, você deseja usar & # 96 & # 96OSMGeoAdmin & # 96 & # 96), então a chamada projeção & # 34Google & # 34
deve ser adicionado à tabela do banco de dados espacial & # 39s & # 96 & # 96spatial_ref_sys & # 96 & # 96. Invocar
o shell Django de seu projeto e execute o seguinte comando:

shell $ ./manage
& gt & gt & gt de django.contrib.gis.utils import add_postgis_srs
& gt & gt & gt add_postgis_srs (900913)

Isso adiciona uma entrada para o SRID 900913 ao & # 96 & # 96spatial_ref_sys & # 96 & # 96 (ou equivalente)
tabela, tornando possível para o banco de dados espacial transformar as coordenadas em
esta projeção. Você só precisa executar este comando * uma vez * por banco de dados espacial.

Se você não conseguir encontrar a solução para o seu problema aqui, participe do
comunidade! Você pode:

* Junte-se ao canal IRC & # 96 & # 96 # geodjango & # 96 & # 96 no FreeNode (pode ser acessado via
& # 96Mibbit & # 96__).
* Faça sua pergunta na lista de e-mails & # 96Django users & # 96__ (certifique-se de ter
& # 34GeoDjango & # 34 no texto da sua mensagem).
* Arquive um tíquete no & # 96Django trac & # 96__ se você acha que há um bug. Faço
certifique-se de fornecer uma descrição completa do problema, versões usadas,
e especifique o componente como & # 34GIS & # 34.

__ http://www.mibbit.com/?server=irc.freenode.net&channel=%23geodjango
__ http://groups.google.com/group/django-users
__ http://code.djangoproject.com/simpleticket

De longe, o problema mais comum ao instalar o GeoDjango é que o
bibliotecas compartilhadas externas (por exemplo, para GEOS e GDAL) não podem ser localizadas. [#] _
Normalmente, a causa deste problema é que o sistema operacional não reconhece
do diretório onde as bibliotecas construídas a partir do código-fonte foram instaladas.

Em geral, o caminho da biblioteca pode ser definido por usuário, definindo
uma variável de ambiente, ou configurando o caminho da biblioteca para todo o
sistema.

Um usuário pode definir esta variável de ambiente para personalizar os caminhos da biblioteca
eles querem usar. O diretório de biblioteca típico para software
construído a partir do código-fonte é & # 96 & # 96 / usr / local / lib & # 96 & # 96. Assim, & # 96 & # 96 / usr / local / lib & # 96 & # 96 precisa
a ser incluído na variável & # 96 & # 96LD_LIBRARY_PATH & # 96 & # 96. Por exemplo, o usuário
poderia colocar o seguinte em seu perfil bash:

No Mac OSX, modifique a variável & # 96 & # 96DYLD_LIBRARY_PATH & # 96 & # 96.

Em sistemas GNU / Linux, normalmente há um arquivo em & # 96 & # 96 / etc / ld.so.conf & # 96 & # 96, que pode incluir
caminhos adicionais de arquivos em outro diretório, como & # 96 & # 96 / etc / ld.so.conf.d & # 96 & # 96.
Como usuário root, adicione o caminho da biblioteca personalizada (como & # 96 & # 96 / usr / local / lib & # 96 & # 96) em um
nova linha em & # 96 & # 96ld.so.conf & # 96 & # 96. Este é * um * exemplo de como fazer isso:

$ sudo echo / usr / local / lib & gt & gt /etc/ld.so.conf
$ sudo ldconfig

Para usuários do OpenSolaris, o caminho da biblioteca do sistema pode ser modificado usando o
Utilitário & # 96 & # 96crle & # 96 & # 96. Execute & # 96 & # 96crle & # 96 & # 96 sem opções para ver a configuração atual
e use & # 96 & # 96crle -l & # 96 & # 96 para definir o novo caminho da biblioteca. Seja * muito * cuidadoso quando
modificando o caminho da biblioteca do sistema ::

# crle -l $ OLD_PATH: / usr / local / lib

Embora OSX venha com Python instalado, é recomendado que os usuários
utilizar os instaladores (& # 962.5 & # 96__ e & # 962.6 & # 96__ estão disponíveis) fornecidos por
a Python Software Foundation. Isso é recomendado porque:

# OSX & # 39s Python permanecerá & # 34pristine & # 34 para uso interno do sistema operacional.
# OSX & # 39s Python não está vinculado à biblioteca GNU Readline (o que significa que não há cores em IPython).

__ http://python.org/ftp/python/2.5.2/python-2.5.2-macosx.dmg
__ http://python.org/ftp/python/2.6/python-2.6-macosx2008-10-01.dmg

Você precisará modificar seu & # 96 & # 96PATH & # 96 & # 96 para que a nova versão seja chamada
do shell ao invocar o comando & # 96 & # 96python & # 96 & # 96. por favor veja o
: ref: & # 96macenv & # 96 seção para mais detalhes.

Este método não é mais o método recomendado para instalar GeoDjango em
Mac OS X. Especificamente, MacPorts requer modificação do
& # 96 & # 96DYLD_LIBRARY_PATH & # 96 & # 96 variável de ambiente, que pode causar conflitos
para binários vinculados a bibliotecas nativas do sistema operacional (por exemplo libxml2,
ou iconv). Dito isso, isso pode simplificar o processo de instalação para mais
usuários avançados.

& # 96MacPorts & # 96__ pode ser usado para instalar os pré-requisitos GeoDjango no Macintosh
computadores com OSX. Como o MacPorts ainda cria o software a partir da fonte, a Apple & # 39s
As ferramentas de desenvolvimento do Xcode 3.0 para Leopard ou 2.4.1 para Tiger são necessárias. [#] _

$ sudo port install servidor postgresql83
$ sudo port install geos
$ sudo port install proj
$ sudo port install postgis
$ sudo port install gdal
$ sudo port install libgeoip

As configurações do ambiente shell precisam ser definidas para que a instalação adequada do Python seja
utilizado e para que GeoDjango encontre as bibliotecas geoespaciais. Para que estes
configurações para persistir, elas devem ser colocadas no perfil do bash do seu usuário
(& # 96 & # 96.profile & # 96 & # 96 em seu diretório inicial).


O caminho deve incluir a localização da instalação do Python e caminhos binários
usado por MacPorts. O seguinte deve ser bom (assumindo o resto do caminho
é fornecido no lugar das reticências) ::


Isso precisa incluir a biblioteca padrão e os locais da biblioteca de banco de dados usados
por MacPorts. O seguinte deve ser suficiente:


& # 96 & # 96GDAL_DATA & # 96 & # 96
^^^^^^^^^^^^^
GDAL versões 1.5.1 (usado por MacPorts) e abaixo têm um bug de autoconf que coloca
Arquivos de dados GDAL & # 39s no local errado. Esta variável de ambiente deve ser definida
para que a GDAL encontre seus dados ::

Primeiro, baixe o & # 96Python 2.5 installer & # 96__ do site do Python. Próximo,
execute o instalador e use os padrões, ou seja, mantenha & # 39Instalar para todos os usuários & # 39
marcada e o caminho de instalação definido como & # 96 & # 96C: Python25 & # 96 & # 96.

Talvez você já tenha uma versão do Python instalada em & # 96 & # 96C: python & # 96 & # 96 como ESRI
produtos às vezes instalam uma cópia lá. * Você ainda deve instalar um
nova versão do Python 2.5. *

Primeiro, selecione um espelho e baixe o instalador & # 96PostgreSQL 8.3.3 & # 96__ do
Site do PostgreSQL.

Depois de baixado, extraia todos os arquivos da pasta compactada e clique duas vezes no
Instalador do & # 39postgresql-8.3 & # 39. Durante a instalação do PostgreSQL, use apenas o padrão
opções (ou seja, mantenha o caminho de instalação como & # 96 & # 96C: Arquivos de programas PostgreSQL 8.3 & # 96 & # 96).

Este processo de instalação do PostgreSQL criará um novo usuário do Windows para ser o
& # 39postgres service account & # 39 and a special & # 39postgres superuser & # 39 to own the database
grupo. Você será solicitado a definir uma senha para ambos os usuários (certifique-se de escrever
para baixo!). Para ver os detalhes básicos da conta de & # 39serviço & # 39, clique com o botão direito do mouse em
'My Computer' and select 'Manage' or go to: Control Panel -> Administrative Tools ->
Computer Management -> System Tools -> Local Users and Groups.

If installed successfully, the PostgreSQL server will run in the background each time
the system as started as a Windows service. When finished, the installer should launch
the Application Stack Builder (ASB) (which may be used to install PostGIS, see instructions
below). A 'PostgreSQL 8.3' start menu group should be created that contains shortcuts
for the ASB and 'Command Prompt', which launches a terminal window in the PostgreSQL
diretório.

Launch the Application Stack Builder (Programs -> PostgreSQL 8.3), and select
'PostgreSQL Database Server 8.3 on port 5432' from the drop down menu. Next,
select 'PostGIS 1.3.3 for PostgreSQL 8.3' from the 'Spatial Extensions' tree
in the list. Select only the default options during install (do not uncheck
the option to create a default PostGIS database).

You will be prompted to enter your 'postgres superuser' password in the
'Database Connection Information' dialog.

The ``psycopg2`` Python module provides the interface between Python and the
PostgreSQL database. Download the `Windows installer`__ (v2.0.8) and run
using the default settings. [#]_

Download the `GeoDjango Installer`__ this was created [#]_ to simplify the rest
of the process for installing GeoDjango on Windows platforms. The installer
automatically installs Django 1.0, GDAL 1.5.0, PROJ.4, and configures the
necessary enviornment variables.

Once the installer has completed, log out and log back in so that the
modifications to the system environment variables take effect, and you
should be good to go.

The installer modifies the system ``Path`` environment variable to
include ``C:Program FilesPostgreSQL8.3in`` and
``C:Program FilesGeoDjangoin``. This is required so that Python
may find the GEOS DLL provided by PostGIS and the GDAL DLL provided
by the installer. The installer also sets the ``GDAL_DATA`` and
``PROJ_LIB`` enviornment variables.


[Erik_Westra]_Python_Geospatial_Development(BookFi.org)清晰无水印版

python地理空间数据开发-[Erik_Westra]_Python_Geospatial_Development 清晰无水印版
Python Geospatial Development Copyright o 2010 Packt Publishing All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews rt has been made in the preparation of this book to ensure the accuracy of the information presented However the information contained in this book is sold without warranty, cither express or implied. Neither the author nor Pacl Publishing and its dealers and distributors will be held liable for any damages caused or alleged to be caused directly or indirectly by this book Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals However, Packt Publishing cannot guarantee the accuracy of this information st published December 2010 Production reference: 1071210 Published by Packt Publishing ltd 32 Lincoln road Olto Birmingham b27 6PA, UK ISBN978-1-849511-54-4 www.packtpub.com Cover Image by asher Wishkerman(a. wishkermanompic de Table of contents Preface Chapter 1: Geo-Spatial Development Using Python 7 Python Geo-spatial development Applications of geo-spatial development 11 Analyzing geo-spatial data 12 Visualizing geo-spatial data 13 Creating a geo-spatial mash-up 16 Recent developments Summary 19 Chapter 2: GIs Core G|sc。 ncepts 21 ocation 22 Distance 25 Units 27 Projections 28 Cylindrical projections onic projection Azimuthal projections 31 The nature of map projections Coordinate systems 32 Datums 35 Shapes 36 Gis data formats 37 Working with Gis data manually 39 Summa Table of contents Chapter 3: Python Libraries for Geo-Spatial Development Reading and writing geo-spatial data 47 GDAL/OGR 48 GDAL design GDAL example code oGR design 51 OGR example code Documentation 53 Availability 53 Dealing with projections 54 nypro 54 Design 54 Pre 55 Geod Example code 57 Documentation 58 Availability 58 Analyzing and manipulating geo-s patial data 59 Shapely 59 Design 60 Example code 61 Documentation 62 Availabilit 62 Visualizing geo-spatial data 63 Mapnik 63 Design 64 EXample code 66 Documentation Availability 68 Summa 68 Chapter 4: Sources of Geo-Spatial Data Sources of geo-spatial data in vector format 72 Open StreetMap Data forma Obtaining and using Open StreetMap data 74 TIGER 76 Data format Obtaining and using TiGeR data 78 Digital Chart of the World 79 Data format 80 Available layers 80 Obtaining and using DCW data Table of Contents GSHHS 82 Data format Obtaining the GSHHs database World borders dataset 84 Data format 85 Obtaining the World Borders dataset Sources of geo-spatial data in raster format 85 Landsat 86 Data format Obtaining Landsat imagery 87 GLOBE 90 Data format 90 Obtaining and using globe data 91 National elevation dataset 92 Data format Obtaining and using Ned data Sources of other types of geo-spatial data 94 GEOnet Names server 94 Data format 95 Obtaining and using GEOnet Names Server data 5 GNIS 96 Data format 97 Obtaining and using GNIS data 97 Summar 98 Chapter 5: Working with Geo-Spatial Data in Python 101 Prerequisites 101 Reading and writing geo-spatial data 102 Task: Calculate the bounding box for each country in the world 102 Task: Save the country bounding boxes into a Shapefile 104 Task: Analyze height data using a digital elevation map 108 Changing datums and projections 115 Task: Change projections to combine Shapefiles using geographic and utm coordinates 115 Task: Change datums to allow older and newer tiger data to be combined 119 Representing and storing geo-spatial data 122 Task: Calculate the border between Thailand and myanmar 123 Task: Save geometries into a text file 126 Working with Shapely geometries 127 Task: Identify parks in or near urban areas 128 Converting and standardizing units of geometry and distance 132 Task: Calculate the length of the thai-Myanmar border 133 Task: Find a point 132.7 kilometers west of Soshone, California 139 Table of contents Exercises 141 Summar 143 Chapter 6: Gis in the Database 145 Spatially-enabled databases 145 Spatial indexes 146 Open source spatially-enabled databases 149 MySQL 149 PostGIs 152 Installing and configuring PostGIS 152 Using postGis 155 Documentation 157 Advanced postgis features 157 SpatiaLite 158 stalling SpatiaL Installing pysqlite 159 Accessing SpatiaLite from Python 160 Documentation 160 Using spatialite 161 Spatialite capabilities 163 Commercial spatially-enabled databases 164 Oracle 164 MS SQL Server 165 Recommended best practices 165 Use the database to keep track of spatial references 166 Option 2: Transform features as require cD o Use the appropriate spatial reference for your data 168 Option 1: Use a database that supports geographies 169 169 Option 3: Transform features from the outset When to use unprojected coordinates 170 Avoid on-the-fly transformations within a query 170 Don't create geometries within a query 171 Use spatial indexes appropriately 172 Know the limits of your database's query optimizer MySQL 174 PostGis 175 Spatialite 177 Working with geo-spatial databases using Python 178 Prerequisites 179 Working with My SQL 179 Working with PostGIS 182 Working with Spatialite 84 Speed comparisons 188 Summary 189 Table of Contents Chapter 7: Working with Spatial Data 191 about distal 191 Designing and building the database 195 Downloading the data 199 World borders dataset 200 GSHHS 200 Geonames 200 GEOnet Names server 200 Importing the data 201 World borders dataset 201 GSHHS 203 US placename data 205 Worldwide placename data 208 Implementing the DISTAL application 210 The"Select Country" script 212 The"Select Area"script 214 Calculating the bounding box 215 Calculating the map's dimensions 216 Setting up the datasource 218 Rendering the map image 220 The"Show Results"script 223 Identifying the clicked-on point 223 Identifying features by distance 225 Displaying the results 233 Application review and improvements 235 Usability 236 Quality 237 Placename issues 237 Lat/Long coordinate problems 238 Performance 239 Finding the problem 240 Improving performance 242 Calculating the tiled shorelines Using the tiled shorelines 250 Analyzing the performance improvement 252 Further performance improvements 25 Scalability 253 uma 257 Chapter 8: Using Python and Mapnik to Generate Maps 259 Introducing Mapnik 260 Creating an example map 265 Mapnik in depth 269 Data sources 269 Shapefilt 270 Table of contents PostGis 270 GDAl OGR 273 SQLite 274 OSM 275 PointDatasource Rules, filters and styles 277 Filters 277 Scale denominators 279 Ese rules 280 Symbolizes 281 Drawing lines 281 awing polyg 287 Drawing labels 289 Drawing points 298 Drawing raster images 301 Using colors Maps and layers 304 Map attributes and methods 305 ayer attributes and methods 306 Map rendering 307 Map generator revisited 309 The MapGenerator's interface 309 Creating the main map layer 310 Displaying points on the map 312 Rendering the map 313 What the map generator teaches us 313 Map definition files 314 Summary 317 Chapter 9: Web Frameworks for Python Geo-Spatial Development 321 Web application concepts 322 Web application architecture 322 a bare-bones approach 322 Web application stacks 323 Web application frameworks 324 Web services 325 Map rendering 327 Tile caching 327 Web servers 330 User interface libraries 331 The slippy map"stack 332 The geo-spatial web application stack 334 Table of Contents Protocols 334 The Web Map Service(WMS) protocol 334 WMS-C 337 The Web Feature Service(WFS) protocol 337 The TMs (Tile Map Service) protocol 339 Tools 344 Tile caching 344 Tile Cache 345 mod tile 346 Tillite 347 User interface libraries 347 OpenLayers 348 Mapiator 351 Web application frameworks 353 GeoDⅰango 353 MapFish Turbo Gears 357 Summary 359 Chapter 10: Putting it All Together: A Complete Mapping Application 363 About the shapeEditor 363 Designing the application 36 Importing a shapefile 367 Selecting a feature 369 Editing a feature 370 Exporting a Shapefile 371 Prerequisites 371 The structure of a Django application 372 Models 374 Vⅰews 374 Templates 377 Setting up the database 379 Setting up the GeoDjango project 380 Setting up the shape Editor application 382 Defining the data models 383 Shapefile 383 Attribute 384 Feature 384 Attribute∨a|ue 385 The models. py file 385 Playing with the admin system 388 Summary 395

试读 127P


Assista o vídeo: Spatialite GUI - SQLite - Import Shapefiles into already existing Spatialite Database- Part III (Outubro 2021).