我应该为我的MSc创建一个GIS应用程序,我想知道什么是最好的免费和(最好)开源技术?用于开发此类应用程序的编程语言是什么?
已知的选择是:数据库:PostgreSQL(PostGIS)(建议其他)
编程语言:PHP,Python,Java,...(建议其他)
框架:GeoDjango(如果使用Python或Jython),(建议其他)
客户端UI:JavaScript(OpenLayers),Flex,(建议其他)
服务器:Mapserver,Geoserver,Mapfish,(建议其他)
其他注意事项:Hibernate Spatial,支持移动GIS,(建议其他)
如何找到一个给定的多边形集合中是否存在一个点?我有坐标像
polygonA = 1(0,0),2(0,5),3(3,4),4(3,5),5( 2,2)
polygonB = 1(10,10),2(10,15),3(13,14),4(13,15),5(12,12)
Run Code Online (Sandbox Code Playgroud)
我有一个点,因为(6,4)现在想要搜索这个点是否在这个多边形中的任何一个或两者中或最接近哪个多边形.
如何存储这样的数据(多边形)?有没有系统/数据库/算法来进行此搜索?
更新:感谢所有人的快速反应......我想我需要更加具体......
如何存储=基于我的研究SQL和NoSQL db有他们的解决方案.NoSQL = MongoDb似乎最接近我需要的东西.但问题是我可以查询"db.places.find({"loc":{"$ within":{"$ polygon":polygonB}}})"但是不能像db.places.find那样进行查询({" loc":{"$ in":{}}}} SQL检查postgre和openGIS以获得一些帮助.但是如果可能的话,colud就不会想出来.
如果有人可以帮助我...提前谢谢.
我正在尝试使用JAXB来为该架构生成类:http : //schemas.opengis.net/wfs/1.1.0/wfs.xsd
我将该模式下载到本地文件,现在尝试生成JAXB类。首先我得到这个错误:
[ERROR] Property "Title" is already defined. Use <jaxb:property> to resolve this conflict.
line 261 of http://www.w3.org/1999/xlink.xsd
Run Code Online (Sandbox Code Playgroud)
经过一番谷歌搜索,我发现我需要使用一个绑定文件:
<jxb:bindings version="2.0" xmlns:jxb="http://java.sun.com/xml/ns/jaxb"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<jxb:bindings schemaLocation="http://www.w3.org/1999/xlink.xsd"
node="/xs:schema">
<jxb:bindings node="//xs:attributeGroup[@name='locatorAttrs']">
<jxb:bindings node=".//xs:attribute[@ref='xlink:title']">
<jxb:property name="title1" />
</jxb:bindings>
</jxb:bindings>
<jxb:bindings node="//xs:attributeGroup[@name='arcAttrs']">
<jxb:bindings node=".//xs:attribute[@ref='xlink:title']">
<jxb:property name="title2" />
</jxb:bindings>
</jxb:bindings>
</jxb:bindings>
<jxb:bindings
schemaLocation="http://schemas.opengis.net/gml/3.1.1/base/geometryPrimitives.xsd"
node="/xs:schema">
<jxb:bindings node="//xs:element[@name='_Solid']">
<jxb:factoryMethod name="gmlAbstractSolidElementFactory" />
</jxb:bindings>
</jxb:bindings>
</jxb:bindings>
Run Code Online (Sandbox Code Playgroud)
但是,当我使用该绑定文件时,会遇到很多其他错误:
parsing a schema...
compiling a schema...
[ERROR] A class/interface with the same name "ncr.request.FeatureCollectionType" is already in use. Use a …Run Code Online (Sandbox Code Playgroud) 我们正在考虑使用ESRI的ArcGIS Engine编写具有某些GIS功能的应用程序.我们主要关注的GIS工具包功能包括:
该项目的初始目标相对有限,但未来可能会扩大 - 例如,进行一些包含地理空间数据的图像处理.
除了ESRI的ArcGIS Engine之外,我们还在考虑使用:
Intergraph似乎拥有大量的GIS软件产品,但目前尚不清楚它们是否销售了与ArcGIS Engine工具包相当的产品.
还有其他值得考虑的选择吗?关于已经提到的选项的见解或意见?
我有以下 OpenGis 数据,我想将其转换为纬度/经度坐标(如 Google 地图所使用)。
\n\n<address xmlns:gml="http://www.opengis.net/gml">\n <gml:Point srsName="urn:ogc:def:crs:EPSG::28992">\n <gml:pos>142629.0 523546.0</gml:pos>\n </gml:Point>\n</address>\nRun Code Online (Sandbox Code Playgroud)\n\n在EPSG注册表中,我找到了EPSG的起始位置:28992。
\n\nLatitude of natural origin 52\xc2\xb009\'22.178"N\nLongitude of natural origin 5\xc2\xb023\'15.5"E\nScale factor at natural origin 0.9999079 unity\nFalse easting 155000 metre\nFalse northing 463000 metre\nRun Code Online (Sandbox Code Playgroud)\n\n我尝试过使用proj4js,但我不知道如何将其放入投影中以及如何获得所需的输出。
\n\n我也尝试过自己计算一下。但我不知道我在这里做什么,也没有什么真正有意义的:(。
\n